Live data from Hacker News

What every computer science major should know (2011)

matt.might.net

21–30 of 187 posts

Re: What every computer science major should know (2011)

#22

> must practice persuasively and clearly communicating their ideas to non-programmers If you’re a CS major, panicking over this sort of “technical skills aren’t enough, you have to be a persuasive public speaker and effectively do management’s job for them”, people have been saying this since at least I started coding 30 years ago, and I don’t see any evidence that it’s actually true any more than it was back then -…

> I don’t see any evidence that it’s actually true any more than it was back then - focus on technical ability

Learning how to communicate to non-programmers improves your technical ability.

In my experience, programmers who can't communicate to non-programmers don't understand that all scenarios are specific instances of increasingly more abstract scenarios. Programmers who don't internalize that build inelegant and fragile systems which work for specific arbitrarily chosen test data and then instantly fail in the real world.

If you can't explain a program further than jargon, then you haven't thought enough about what the program is actually supposed to accomplish.

Re: What every computer science major should know (2011)

#23

> must practice persuasively and clearly communicating their ideas to non-programmers If you’re a CS major, panicking over this sort of “technical skills aren’t enough, you have to be a persuasive public speaker and effectively do management’s job for them”, people have been saying this since at least I started coding 30 years ago, and I don’t see any evidence that it’s actually true any more than it was back then -…

> focus on technical ability, that’s a hell of a lot harder to come by than “powerpoint skills”. I'll agree and disagree: Yes, the target audience here SHOULD focus on technical ability. Not because it's "harder", but because that will be the primary decider in getting hired. That said, I'd say my communication skills have been a central part of my success. Not "powerpoint", so much as being able to distill down idea…

Junior developers get hired on their technical skills. Mid-career developers get hired on their communications, interpersonal, and domain understanding skills. Founders and executives get "hired" on their strategic skills.

If it's your first job out of college, don't worry too much about the communications skills yet. Your technical abilities will be your differentiator, and your daily job will largely consist of implementing things.

But if you don't pick up communication skills within the first 10-15 years of your career, it will limit you. You'll be stuck implementing things forever, which may be what you want, but it will shut you out of some higher-compensated and higher-impact jobs.

Unless you just want to go the founder route and hand your company off to a professional CEO that the VCs hire once you've proven out product/market fit. If you have both technical and strategic skills you can do that, but the lack of communication skills will still keep you from running your own company.

Re: What every computer science major should know (2011)

#24
post #3

> must practice persuasively and clearly communicating their ideas to non-programmers If you’re a CS major, panicking over this sort of “technical skills aren’t enough, you have to be a persuasive public speaker and effectively do management’s job for them”, people have been saying this since at least I started coding 30 years ago, and I don’t see any evidence that it’s actually true any more than it was back then -…

Powerpoint skills are where the money is, in large businesses that aren't FAANG. And probably even there, somewhat. I've come to this conclusion after seeing a lot of not-especially-smart-or-effective people-person folks with Powerpoint skills making serious money. [EDIT] it also seems to me that good presentation and communication skills are how you achieve "you don't apply for jobs, jobs apply for you" status witho…

Powerpoint seems designed to lead people to create poor presentations. NOT learning Powerpoint would seem to give one an advantage.

Re: What every computer science major should know (2011)

#25
post #13

Differential equations and electromagnetism? Maybe 30 years ago, but these days electrical engineers know how to code

Isn't modern ML based on differential equations?

Gradient descent is partial differentiation, and Lagrange multipliers come up in the context of nearest-neighbor searches. I’m almost positive most people just use it without actually understanding the theory behind why it works, though.

Re: What every computer science major should know (2011)

#26
post #13

Differential equations and electromagnetism? Maybe 30 years ago, but these days electrical engineers know how to code

Isn't modern ML based on differential equations?

Sure, but only a handful of people really employ advanced calculus for building ML, while the vast majority of Data Scientist only use the ML algorithms implementations as a black box, without diving into its inner workings.

Re: What every computer science major should know (2011)

#27
Is there anyone who ever knew all of this when they graduated?

I think maybe the top student through my five years at university might have known all of this. I sure as hell did not check all the boxes when I graduated two years ago.

If you're nervous after reading this, just know that the "should" probably means "in an ideal world".

Re: What every computer science major should know (2011)

#28

> must practice persuasively and clearly communicating their ideas to non-programmers If you’re a CS major, panicking over this sort of “technical skills aren’t enough, you have to be a persuasive public speaker and effectively do management’s job for them”, people have been saying this since at least I started coding 30 years ago, and I don’t see any evidence that it’s actually true any more than it was back then -…

> focus on technical ability, that’s a hell of a lot harder to come by than “powerpoint skills”. I'll agree and disagree: Yes, the target audience here SHOULD focus on technical ability. Not because it's "harder", but because that will be the primary decider in getting hired. That said, I'd say my communication skills have been a central part of my success. Not "powerpoint", so much as being able to distill down idea…

> learning how to examine other people's ideas without coming across as I'm attacking them.

This is an extremely valuable skill to learn as well as a difficult one. Unless you work in a vacuum this will help you work better as a team. It is one of the differences between a fantastic manager and a bad manager. People will value your opinion and it will help you learn more (because you will see more code and how others do things. Unless you're the best and do everything perfectly). It's also something you have to continually work at and improve upon. Of soft skills this is one I'd put in the forefront for any engineer.

Re: What every computer science major should know (2011)

#29
post #13

Differential equations and electromagnetism? Maybe 30 years ago, but these days electrical engineers know how to code

There seems to be a tendency to exaggerate the breadth of things that people should study. When you ask for specific instances where something would be useful, you usually get a hand wavy answer that since X field is connected to what you want to study, it is therefore worthwhile to study X field ("Of course computer scientists should study advanced chemistry, we wouldn't even have computers without chemistry! And what if you needed to written a program for chemists!").

In my experience people retain very little of something if they don't keep using it. Many people take things like calculus in highschool or college, and completely forget it within a few years. I often checked with classmates about how much they retained from courses we had just taken the previous semester, and most of the stuff that wasn't directly connected to what they were currently studying seemed to be forgotten (if they ever had a real understanding of it to begin with).

Post reply on HN