Live data from Hacker News

Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

news.ycombinator.com

21–30 of 167 posts

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#21
I find the most useful thing about CS knowledge (and especially algorithms & data structures) is having a hunch for the shape of a problem and knowing what to google for. It can save a lot of thinking and stave off performance problems before they occur. But you’re there to deliver business value and it’s only right that those concerns should dominate. That doesn’t mean you won’t have “this database is completely unmanageable and we can’t add new features fast enough” or “this complicated request is incredibly slow and customers are angry” moments that your knowledge can solve though.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#22

I've heard programming != Comp sci, so perhaps it's not a bad thing.

As a CS prof of mine once said, studying CS to be a programmer is like studying architecture to be a house builder...

Poor comparison, imo.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#23

Your are way better off than a CS graduate who knows all those things but can't solve simple programming tasks.

... and worse off than someone who knows all those things and can solve programming tasks.

The consolidation is that “use it or lose it” means you just gotta start using it again.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#24

Earlier quoted context omitted.

Yes and no. I'd say OS theory is also helpful when writing programs that run on an OS. In the same way network theory is helpful when writing programs that communicate on a network. I find I've retained a lot of my CS theory, but in a "quiet" way. [1] It only really surfaces when I'm talking about things with colleagues, and I take some information for granted, but ultimately work out they don't have the same underst…

> I'd say OS theory is also helpful when writing programs that run on an OS. That's a very generalized statement. A C program run on OS and so does a JavaScript on a webpage (at least indirectly). I am not sure how OS theory is useful in the JavaScript on a webpage case.

Javascript on a web page targets the browser-based Javascript runtime, though, and would be constrained by the capabilities and security model of that runtime plus of the browser.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#25

A broader understanding gives your more fallback positions in the event of some disaster or catastrophic economic collapse, so I'd say: Put a little bit of your time into learning interesting new skills in even vaguely related fields. A Jack of all trades may be a master of none, but if chaos is the future, adaptability is the key to survival.

Jack of all trades, master of none, but oftentimes better than a master of one.

Jack of all trades, master of three, hyperspecialization may be a disease.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#26

Earlier quoted context omitted.

Yes and no. I'd say OS theory is also helpful when writing programs that run on an OS. In the same way network theory is helpful when writing programs that communicate on a network. I find I've retained a lot of my CS theory, but in a "quiet" way. [1] It only really surfaces when I'm talking about things with colleagues, and I take some information for granted, but ultimately work out they don't have the same underst…

> I'd say OS theory is also helpful when writing programs that run on an OS. That's a very generalized statement. A C program run on OS and so does a JavaScript on a webpage (at least indirectly). I am not sure how OS theory is useful in the JavaScript on a webpage case.

(edited after 2m, added the first paragraph)

You gave an example the OS theory would only be good when writing an OS. But the (valid) counter point was that it also becomes relevant when interfacing with an OS.

JavaScript first and foremost runs on your browser, not on the OS itself. So understanding how browsers work (DOM, APIs, XHR...) becomes akin to understanding how the OS works.

(I also have the following rant, which I don't like too much [too polemic] after posting, but I'm keeping it for transparency sake)

No-one claimed you need to know quantum physics to understand what happens to the electrons in your CPU; but generally it's a good idea to know how the next few layers you're interfacing with work (in either direction). And that's often the OS, or the network, or the cache behaviour of your CPU or the superscalar nature of the GPGPU you use to accelerate something important. Or another something attached by some bus to your MCU in the embedded device you're building, or maybe the user navigating that website.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#27
It's normal. And the point weren't to always recall those specific pieces of knowledge, it was to get you to understand those concepts once. Once you did, understanding similar concepts will be easier, you will be able to spot more intricate patterns. Your intuition will be better in situations, where you spot or create things seemingly out of nowhere.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#28

Earlier quoted context omitted.

Yes and no. I'd say OS theory is also helpful when writing programs that run on an OS. In the same way network theory is helpful when writing programs that communicate on a network. I find I've retained a lot of my CS theory, but in a "quiet" way. [1] It only really surfaces when I'm talking about things with colleagues, and I take some information for granted, but ultimately work out they don't have the same underst…

> I'd say OS theory is also helpful when writing programs that run on an OS. That's a very generalized statement. A C program run on OS and so does a JavaScript on a webpage (at least indirectly). I am not sure how OS theory is useful in the JavaScript on a webpage case.

If you wish to write a program from scratch, you must first invent the universe.

Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff

#30
You should invert the question: since EVERYONE forgets all of this CS stuff then perhaps teaching this CS stuff to us programmers is a complete waste of our time in the 1st place?

So it's not YOU who is "wrong": it's the universities who have it backwards and are disconnected from the real world work that programmers do.

Post reply on HN