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

221–230 of 278 posts

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

#221

1. Sweat the fundamentals. CS isn't a coding school. Algorithms, complexity theory, databases, operating systems, graph theory, compilers, math, etc. will get you further than any coding. 2. Go for depth, not breadth. I know most US colleges make students do all sort of breadth stuff, which I don't get (I come from European undergrad, all our classes were CS/EE - coming to US for grad school, I was more prepared than…

#5 is invaluable.

"Hacker" or "tinkerer" mindset is very helpful. When hiring, especially at the entry level(s), those who hacker/tinker outside of their job usually standout and have a better understanding of how all the "things" we work with as Engineers connect because they are out there trying/failing outside of their 9-5.

The challenge with "hackers" is learning how to unplug, so make sure to develop skills/interests that are completely unrelated to "work".

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

#222

In my experience, social skills tend to be far more important than ability of knowledge when it comes to getting a job. Personal connections are also very useful when it comes to finding internships and graduate jobs, I had a B- grade point average and still managed to get an internship that led on to full time work when I graduated, purely by knowing the right people (completely by luck in my case) I'm not a bad pro…

100% this. University exposed me to a much wider range of society than I’d ever encountered before. Those social interactions have been foundational to my career. The knowledge you learn in classes is secondary to the skills you learn living and working with people who are nothing like you. Embrace it.

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

#223
Anything over 90% is gravy. If you have 97% in your algorithms class and 82% in your history class, you should try to spend more effort on history. And that will be hard to do, because there's less positive feedback from the other side of that engagement. Learning how to do what you don't like as much is hard, but worth doing.

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

#224
If the country is not stated, then it is presumed to be the US on HN? This advice is from another country, so check if it applies.

Take math extremely serious. I was TA for the math 101 module and out of 240 students, 140 registered for the exam with less than 40 passing. The big problem was complaciency. In the tutorial consisting of 20ppl students were probably ranking themselves, so I believe the thinking went like this: "well as it looks I am as good as almost all the other fellow students around here, well, maybe except these 4 guys in the first row, they seem to play a different game, well nevermind" Only these 4 mentioned guys passed. This is surprising for them, since in high school only the worst students failed. If your college forces the distribution to a bell curve, then nevermind (but still the math at uni is a different game). Actually what we saw in the exam results was a double peaked curve.

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

#225
1. A large (and growing) chunk of the industry considers object oriented programming to be absolutely terrible, but that's what they'll teach you in college. Learn functional programming and data-oriented programming in your spare time before your mind has completely set into OO. Make each of the three approaches intuitive. It will be way better for you down the road, and it will help you actually evaluate which approach is best. There's a lot of dogma on each side.

2. In my opinion it's cliche to say "social skills are more important than just the ability to program". Totally depends on what you're actually doing. If your job is to optimise server farms, they're going to pay you based on how many CPU cycles you save, not your ability to present to management. If you measurably reduce power consumption, you could be completely mute and it would be fine. You'll earn crazy money.

Play to your strengths. If you have poor social skills, find a niche where that doesn't matter. A good heuristic is whether performance is measurable. If it is, it matters less that you have trouble communicating it.

3. "Minor in Something Fun" is common advice & fine if your degree was cheap. It's terrible advice if you're going into $150k of debt. If something goes wrong in that situation, you're screwed. Minor in something that you can fall back on.

What if you develop RSI and lose the ability to type large volumes of text? That's the point of a minor, it's a backup plan. Life is unpredictable, when you have $150k of non-dischargeable debt it's much better to have a minor in "engineering" than "ultimate frisbee".

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

#226

HN is probably the worst group to ask for advice. Most people here take their careers way too seriously. You’ll notice that most people here are telling you to do some specific set of actions but few of them overlap significantly. That’s because there aren’t “right” things for you to do. They’re just pushing their biases on you. I’d argue that you just take it easy and do whatever makes you happy. You can definitely…

> take it easy and do whatever makes you happy

Great advice if what makes you happy also happens to be lucrative. I did this, and it was a huge mistake I'm still paying for 7+ years later.

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

#227
Pick one programming language and learn the hell out of it.

One way of deciding which language to choose is by surveying the top ten languages over the last 5 years and comparing it to the most common language most of your courses will be taught in. If your school is teaching Pascal or COBOL, the survey of relevant programming languages will help you avoid making the mistake of learning a “useless” language.

Then pick a nice tome, (I personally use the Deitel series) and just go through it faithfully for the next few years of college and after until - and this is the important part - you complete it.

You want a book with complete examples - not snippets of code. You have to type out these examples and have it run. This works in the skill of being able to write complete code of up to 200+ lines without breaking a sweat. A very valuable skill to have going into your senior year and the first few years of work. You don’t want to learn this on the job.

Learn the fundamentals of the language(loops, conditions, etc), learn data structures and algorithms and then learn to create GUI applications. Learn networking and databases. Learn everything in that one language. Again it’s important that you pick a general-purpose language to learn. You are not picking a language for its speed or unique characteristics, you simply want a language in which you can do everything.

And after all this learn to make simple games in that particular language or any other broad projects that you find interesting. I recommend game programming because it usually brings every part of the language together in one application, helping to keep your broad skill set sharp.

I’m also going to throw in a schedule you can use. Ideally aim for one week to complete a chapter, meaning a minimum of 2 hours every other day within a week. This weekly consistency will probably set in after your first year but if you stick to it, I can promise you from personal experience that you will master programming.

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

#228
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

+1 for Physics. It's not easy, but you'll be learning some very powerful tools for thought and modelling complex systems, so totally worth it.

In case this is help, here is a short printable tutorial on mechanics fundamentals: https://minireference.com/static/tutorials/mech_in_7_pages.p... which is a condensed summary extracted from the No Bullshit Guide to Math & Physics a short book on mechanics and calculus. You can see an extended preview and sample chapter of it here: https://minireference.com/static/excerpts/noBSguide_v5_previ...

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

#230
post #162

Earlier quoted context omitted.

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.

You mean once they worked at FAANG, saved up enough FU money and then left? Yeah, I'm sure they are much happier.

No, many left within 2 years.
Post reply on HN