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

261–270 of 278 posts

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

#261
Go to your professor's (for any class, not just CS) office hours whenever those hours aren't in demand (e.g. they are often in demand right before a midterm, so go other times).

A college degree is expensive and one of those things you pay for is to have several subject-matter experts who are required to talk to students about their field of expertise for an hour if any students show up. People complain that being an SME doesn't necessarily make you a good teacher (which is 100% true) but one-on-one (which happened at least once per semester for me for any class with less than about 150 students), they usually love talking about their field of expertise.

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

#262
post #75

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…

> minor in something fun I agree. I double majored in CS and Acting specifically because I enjoy both topics and wanted to get better. It does take some dancing around with your schedule, but if you take the time to create some different alternative schedules it can be done. There were some semesters where I was more CS heavy, and others more Theatre heavy. I was able to walk out with both degrees in 4.5 years.

Despite my advice above, I actually did it the other way around. My major was Theater (Acting/Directing) and my minor was CS. I'm quite successful as a software engineer, so I don't really regret it, but if I could do it all over again, I would have majored in CS and minored in Theater... But yes, agree 100%

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

#263

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…

> Also, pro tip: nobody gives a shit about your GPA. Well, no one except for grad programs.

I guess I could clarify as "nobody outside of academia", but I thought that was a given... And in the CS field, a Masters doesn't really do much for you, unless you're an immigrant looking for a green card (and if that's the case, my advice is totally different...)

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

#264
1. Don't worry if you don't get something immediately. Unless you have an IQ of 250, then perfect, efficient, bug-free code will not spring from your fingertips on the first try. That's OK. Get something that kinda-sorta works - even if it's bad - then dial it in piece by piece.

2. Every programmer discovers topic they like and topics they don't like. These are different for everybody. It's hard to decide to spend time on things you don't like, but that's the only way you'll get good at them. Don't avoid hard things - plunge into them. It'll suck at first, but if you put in the effort it will almost always be worth it. Once you've developed a deep understanding of a topic you were dreading, it's not going to seem as hard to you as you thought it was.

3. Learn what it takes to get other people to understand your ideas. Calibrate the technical content to your audience's level. Always start by giving background & context. Ask your audience if what you're saying makes sense to them.

4. Differentiate yourself from the "full-stack" devs who have infested our industry like a plague of locusts. Understand how the machine works. Take an architecture class, take a compilers class, and learn at least one native/unmanaged language (preferably C).

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

#265

The best advice I can give is do not take advice from anyone who graduated college more than 10 years or so ago. The problem is that their advice is woefully out of date and even worse, they’re incredibly confident that it’s still useful advice. Most people are wrong about most things most of the time. Keep that in mind when listening to any advice (yes I am aware of the irony).

Ah, the arrogance of youth still shines like a quasar.

Among other idiocy, I've been told:

• Look in the Wall Street Journal want ads for a job

• Find an older person who wants to rent out a room in their home for $300 a month

• Walk into the office with a resume and ask to talk to a hiring manager

All spoken like it's gospel.

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

#266

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…

You guys really exaggerate how much people lack social skills in our field. Most people have perfectly good social skills (at least those I'm friends with). Someone that exceeds you in technical skills is gonna snag that shiny internship away from you AND have the social skills to boot.

Social skills in a career context are not just getting along well in the office and being able to make small talk in the snack room. It's about creating a strong and deep network, and as an engineer, being able to interface effectively with business and other stakeholders on a social level. It's also about seeking out, recruiting, and fostering new talent, moreso at growing companies. I work at a unicorn tech company and very few engineers meet these criteria.

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

#267
post #98

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…

I disagree on breadth vs. depth. Breadth will give you the tools to succeed in a wide variety of areas and prepare you to delve deeper on your own. If you go deep into ML for example that doesn't prepare you to work on operating systems, but if you have a broad understanding of both then you'll have the tools you need to find new resources and read research papers in both areas. (For the record, my school has a huge…

Oh I meant depth as in take only CS-related courses, not European History, Greek Philosophy, Sociology, etc (which seems to be common in US universities). By all means go broad _within_ the field, from graph theory to transistors to DSP to anything really. I would venture out to STEM fields that seem interesting.

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

#268

Earlier quoted context omitted.

You guys really exaggerate how much people lack social skills in our field. Most people have perfectly good social skills (at least those I'm friends with). Someone that exceeds you in technical skills is gonna snag that shiny internship away from you AND have the social skills to boot.

I guess I'm being unfair when I say that most software developers lack social skills, it's rare for me to run into another dev who I can't hold a decent conversation with (it's rare for me to run into another dev at all to be honest). It's more that most devs are usually bad at workplace communication with non-technical people. Besides that, most software developers just aren't that great. By definition half of them…

Building on this, I think good technical skills will definitely help get you in the door but won't get you that far up the ladder if your ambitions are management/executive track. And that's not for everybody, which is why larger companies have built individual contributor tracks.

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

#269
post #237

Earlier quoted context omitted.

Just long enough to open the doors of any other job interview and bail to a company that doesn't shuffle them and their team around the office like game pieces in a never-ending re-org, a company that makes actual products instead of surveillance advertising systems (as the latter is impossible without the former), or a company that makes decisions not to work with oppressive governments based on more factors than if…

So, approx. 3 years == disillusioned? Unless it was a planned stepping-stone all along, to land the real "dream" job and have the credentials to command a more magnanimous compensation than they would without that Google tenure.

For 'beginners' they usually don't have the experience or the network to plan such a stepping stone ahead of time.

If you come in the side door (shift sectors, side-learn upgrade your capabilities) you may have the experience to plan ahead like that. But this was about beginners so I suppose that doesn't matter in this case.

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

#270
Don't confuse coding with computer science. You need to learn about computational thinking and the mathematics of computation--but computer science is a tiny part of what you need to learn. You need to learn a lot about everything. Successful computer scientists are intellectual omnivores and are successful across disciplines. Learn physics, chemistry, mathematics, statistics, biological science, economics, history, English, geography, archeology, art, and so forth. Learn humility; eschew hubris. And bond with the joys of discovery and understanding. Knowing how to do stuff, knowing how the world works, and being able to communicate that knowledge will ensure a fulfilled life and economic returns.
Post reply on HN