Live data from Hacker News

What every computer science major should know (2011)

matt.might.net

111–120 of 187 posts

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

#111

Earlier quoted context omitted.

This is a great list. I would add estimating , although it's implied in a few of your points. As an engineering manager I find that a consistent difference between good engineers and great engineers is that great engineers can tell me how long something will take even when they haven't done something just like it before. That doesn't mean they can perfectly forecast how the hours will be spent -- no one could do that…

Don't you think estimation is a management job? What if Engineer decides to over estimate and enjoy the freetime?

A manager with an attitude that engineers would pad their estimates to "enjoy the free time" is a guaranteed way to get good engineers to quit a team. Not only does it betray a complete lack of trust, but it means engineers are going to be pressured to lower their estimates, which never turns out well.

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

#112

I don't think it's that valuable to improve IDE-less software development skills. Just because some Unix nerds find it cool to play with text files, avoid modern software development tools or program in date languages like C it shouldn't be desirable for a computer science major. Computer science should focus on long-live principles, the Unix philosophy may have a lot of good worth to keep principles, but kinda nothi…

Your comment shows a lot of naivety. Text is near universal, C still makes the world go ‘round and modern doesn’t mean graphical.

but a common misconception of programming is that we write text- we do not!

we formulate abstraction that are stored in files. Still I am not in the least interested in files (a problem I have with most IDEs) that make up my component but in packages/namespaces, classes, functions, etc.

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

#113

To me, this sounds more like what a good CS Ph.D who spent his free time filling in every general CS knowledge gap he could come up with would know. I don’t know why he says learn real analysis and linear algebra to talk to engineers when I doubt 90% of engineers took one analysis course unless they’re Ph.Ds.

Judging by the Wikipedia article, "Real analysis" is freshman-level math for most branches of engineering. Pretty shocking how little math most CS programs require in comparison.

[deleted]

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

#114

I come from a CS background and learned a lot from studying CS, it definitely gave me a strong foundation and changed the way I view and understand computing. I learned most of the topics mentioned in this document while in school, and although they are all valid, they are not enough for real world needs. ~90% of CS undergraduates will end working as or with engineers, and in 2019 here are the skills that are indispe…

I have a peculiar question, has it ever happened to get stuck in a task and not being able to solve it ? what do you do ? if it's an optional feature, I guess you can always write it down but if it's critical ?

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

#115

It's a good list, and I always recommend these: 1. Public Speaking. If you can't talk coherently in front of a group of people and sell your ideas, your career will be stunted. 2. Accounting. Accounting is the language of business. If you don't understand double entry bookkeeping, you can't be a manager. You can't run a startup. You can't talk to investors. If you misuse terms like "gross margin" you'll be overlooked…

And I've spent far too much of my time in my last project explaining double entry bookkeeping to coworkers to little effect. I had to watch has they re-invented the wheel.

Sadly I'm not that good point 1 (actually terrible at it).

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

#116

I come from a CS background and learned a lot from studying CS, it definitely gave me a strong foundation and changed the way I view and understand computing. I learned most of the topics mentioned in this document while in school, and although they are all valid, they are not enough for real world needs. ~90% of CS undergraduates will end working as or with engineers, and in 2019 here are the skills that are indispe…

I have a peculiar question, has it ever happened to get stuck in a task and not being able to solve it ? what do you do ? if it's an optional feature, I guess you can always write it down but if it's critical ?

Ask for help. Keep trying different approaches. Ultimately, decide how important it is to solve the problem and if it's going to cost more than it's worth, then give up and do something else.

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

#117

Earlier quoted context omitted.

This is a great list. I would add estimating , although it's implied in a few of your points. As an engineering manager I find that a consistent difference between good engineers and great engineers is that great engineers can tell me how long something will take even when they haven't done something just like it before. That doesn't mean they can perfectly forecast how the hours will be spent -- no one could do that…

Don't you think estimation is a management job? What if Engineer decides to over estimate and enjoy the freetime?

Absolutely not. It's hard enough for a seasoned senior engineer to estimate something, let alone a non-technical manager. (Of course, said seasoned engineer might be in a managerial role now but it's still an engineering task.)

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

#118

Earlier quoted context omitted.

> 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 im…

Too young to know for sure...but seems right. Can you help me understand what strategic skills are? Resource management?

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

#119
post #76

In my experience no one cares about the portfolio. They want your CV, some references and to pass some coding tests. Now to be fair I am not going for the highest paid jobs or jobs required deep computer science knowledge, but for the ordinary job I have found that recruiters and employers alike look at CV. They might look at github if you are lucky.

Here's how I review resumes. I'll scan the document for evidence of some kind of selectivity in terms of education and/or past employers. I ignore action phrases, GitHub accounts etc. If I see one that interests me I'll setup a phone call. It's a common misconception that we look for reasons to hire someone when in fact the opposite is true: we are looking for reasons to say 'no'.

Same here: I pretty much look at where they worked before and what they did there. If I think that fills the requirements then we'll have a chat. Anything other than that half a page of information is just noise.

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

#120
post #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".

Well, I'd say I knew the vast majority of it when I graduated (in software engineering). Most of the topics listed there had dedicated classes to them which I had to pass.

After 1 year of working about 90% of that was already gone forever.

Post reply on HN