Live data from Hacker News

Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

news.ycombinator.com

161–170 of 278 posts

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#161
post #119
post #100

CS is less about coding and more about thinking analytically about coding. I started coding at 11, but some of my college classes were still pretty difficult. I wouldn't assume your classes will be a cakewalk - definitely put the time into studying your material even if you think it's easy. With respect to getting a job - I would think about programming as a tool. What industry do you want to use that tool on? I woul…

I haven't thought about trying to be a developer in a non-IT field; it seems like something I'd really like to do. I spend most of my time coding on side projects, so as it turns out I'm not great at algorithms. Recently I've learned that I can only really do easy problems on Leetcode/codeforces etc, and I've been trying to improve. Thanks for the advice!

The most fulfilling area I've ever worked was with wind turbines. Making software for things that actually mattered, as opposed to dumbass ad tech for ad tech's sake, was very enriching for me.

With respect to algorithms - nobody starts out good with them (except Knuth), it takes practice. Don't give up. Also recognize Leetcode for what it is - practice. It's okay to do a problem poorly/not figure something out. It doesn't actually determine anything about your intelligence or trajectory in the field.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#162

Earlier quoted context omitted.

The thing with the FAANGs is that they can be rather unfulfilling. At first, when you are fresh out of the playground going in to commercial engineering, everything seems great, because you suddenly get paid to do a thing you like, and there is all this technology and information and people. But that is not unique to FAANGs, and not unique to CS/IT. At some point you usually end up wanting more, either a more fulfill…

>the latter will drive you more to banks, economic institutions, insurance, government contractors, exchanges and similar jobs. I worked for a gov't subcontractor (for the USAF) and a bank prior to moving to the bay and working at a FAANG. The opportunities to make 500k+/year don't exist, outside a few private funds that grind you to dust. If you are super well connected and you can start a military contract firm, yo…

FAANGs don’t pay that salary because it’s difficult work, they pay that salary because they have trouble keeping turnover down. It’s much like investment banks where the pay is great and many people really want to leave.

It’s up to you how you want to spend your life, but everyone I know is much happier after the left.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#163
post #135
post #133

The best courses I took in Computer Science (3 years ago) were: - Computer Systems : Building a computer system from scratch (virtually) logic gates to applications https://www.nand2tetris.org/book - Computer Networks and Applications : An overview of network protocols and layers, basically how the internet works. - Event-Driven Computing : How to make GUI's, state-machines, event-driven systems are used everywhere.…

Those are all classes I think I'd find very interesting. Recently I've tried to naively write my own game engine and OS and failed pretty miserably.

Don't feel bad, writing a game engine is one of the most ambitious projects you can do! As it involves many interdisciplinary skills; GUI, Graphics rendering, State management, Physics simulation, Coordinate systems, Sound systems, AI.

For writing your own OS, I definitely recommend looking at https://www.nand2tetris.org/course it gives you a holistic view of a computer and it's operating system at every level of detail.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#164

1. Don't assume your CS classes will always be easy. Having programmed a lot is a big advantage, but you're going to be learning a wide variety of things as a CS major that you may not have had to think about previously, and there is going to be a lot of it which isn't intuitive. Be prepared to study more than you have in the past and don't get cocky; sometimes it isn't until your junior or senior year that you get b…

double majoring is a hilarious waste of time and money. don't do it.

I mean, you can totally do fine as a straight CS major, and there are plenty of CS/math majors who can report successful, productive, profitable careers as a programmer in this very thread.

But there's a lot of programming to do where domain knowledge is absolute essential, and if it turns out you find one of those areas interesting, college is a great time to acquire that domain knowledge, in parallel with getting your certificate stamped that says you're safe to employ as a programmer.

Biology, chemistry, linguistics, cognitive science, every flavor of engineering. All of it comes with programming work to do. Protein folding, genetics, natural language processing, computer vision, CAD software, control software...

Being able to program is a useful skill, but you have to know what to program. And yes, there are plenty of companies who will happily hire a programmer to write SQL queries and copy fields from one protocol buffer to another. But those options don't go away because you also have a thorough understanding of, say, chemical engineering; you just also have another career path open to you where you can do a boatload of programming, just not with web frameworks.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#165

Earlier quoted context omitted.

> Worst case, you'll be good at whiteboard interviews and can get a job at a FAANG company. Since when is this the worst case scenario for a CS grad? Last I checked, FAANGs value and compensate their engineers more than basically every other industry. I double majored in economics and comp sci, then got a masters in cs/ml. I didn't plan on going to a FAANG until I realized a few things: 1. Staying in academia was cle…

> Since when is this the worst case scenario for a CS grad? Last I checked, FAANGs value and compensate their engineers more than basically every other industry. Presumably this is considered a worst case by someone who values other aspects of life more than money. Sure, the FAANG companies are great for highly technical meta-work. And this is good for some people. Other people may prefer a more direct, less corporat…

Also some people don't particularly value FAANG tech. Speaking for myself and some of my co-workers advertising algorithms, consumer, enterprise and financial tech just aren't that interesting. Sure the engineering can be impressive, but all that effort for what? So Adsense can be better convince people to buy crap they don't need, Apple can make its products even less practical, Amazon can more efficiently abuse its warehouse staff and make AWS fees more opaque, and facebook can sell your information more effectively while it keeps you up to date with relatives' conspiracy theories? At least Netflix provides entertainment value.

Not saying that's all said companies do, and some people (whom I lovingly refer to as "puzzlers") would enjoy the extra complexity and challenge for its own sake. But I wouldn't say the FAANG companies have any particularly inspiring missions. Not that such missions are easy to find, and they almost never pay as well, but they certainly don't seem to exist at FAANG.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#166
Join a social club - could be organized around an academic interest or purely social, but try to find one that has a large, active membership that includes upperclassmen. These are the people that will help you land a good internship and eventually a job if you don't already have a good network.

Don't count on a job fair.

Do a significant project, start a startup, or internship each year.

If you do a project or startup then do not do it alone. Find a cofounder/collaborator to help you make it bigger and better - could be another CS person or someone that brings something else to the table - design, marketing, sales.

Don't do an internship at a startup - do one at a big tech company if at all possible. Pay and perks will be better, better for your resume, more likely to convert to full-time offer, and in my experience will show you all the things you don't want and then you can enjoy startups that much more :D

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#167
Learn logic most of all. Learn procedural, functional, and object-oriented principles. Learn a variety of programming languages. Learn about the cloud (easy and free accounts exist on all platforms). Learn about data storage, but avoid religion: there are different ways to store and retrieve data for varying types of use (OLTP, Analytics).

Learn how to communicate well and manage your emotions. Learn how to be productive without guidance. Learn how to solve problems on your own, but also cultivate a group of people that can mentor you, along with understanding searching the Internet's resources.

When you finally look for work, find a place that aligns with your abilities and interests.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#168
post #100

CS is less about coding and more about thinking analytically about coding. I started coding at 11, but some of my college classes were still pretty difficult. I wouldn't assume your classes will be a cakewalk - definitely put the time into studying your material even if you think it's easy. With respect to getting a job - I would think about programming as a tool. What industry do you want to use that tool on? I woul…

> Worst case, you'll be good at whiteboard interviews and can get a job at a FAANG company. Since when is this the worst case scenario for a CS grad? Last I checked, FAANGs value and compensate their engineers more than basically every other industry. I double majored in economics and comp sci, then got a masters in cs/ml. I didn't plan on going to a FAANG until I realized a few things: 1. Staying in academia was cle…

>Since when is this the worst case scenario for a CS grad?

He said this in the context of advising him to focus on algos and data structures. As in, if you work hard on those things, the worst case scenario is you'll be really good at whiteboard interviews. The point is that even the 'worst case' is a good outcome. Very different than talking about the worst case scenario for cs grads in general.

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#169
post #137

My advice might be controversial, but here are some thoughts I have... My big piece of advice: Major in something useful (CS, check!), minor in something fun. A lot of the computer science classes you take will be boring AF, or you'll start to bang your head against the desk wondering why you have to know how operating systems work when you just want to make iOS apps (or vice versa!). Some of the classes will be deep…

I've been thinking of minoring in physics or something, but maybe I'll try Art

If Physics is fun for you, go for it!

Re: Ask HN: I'm an incoming freshman to college for a CS major, what should I know?

#170
post #135
post #133

The best courses I took in Computer Science (3 years ago) were: - Computer Systems : Building a computer system from scratch (virtually) logic gates to applications https://www.nand2tetris.org/book - Computer Networks and Applications : An overview of network protocols and layers, basically how the internet works. - Event-Driven Computing : How to make GUI's, state-machines, event-driven systems are used everywhere.…

Those are all classes I think I'd find very interesting. Recently I've tried to naively write my own game engine and OS and failed pretty miserably.

I’d recommend spending a few weeks this summer working through the nandtotetris course it was something I only stumbled upon after college and it helped glue all of the different classes together in a simple cognitively digestible example.
Post reply on HN