Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
41–50 of 167 posts
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#42I had an interview the other day and they asked a question on Big O notation to which I didn't really know the answer so guessed it. In 10 years of web dev, backend engineering work I've never needed to use it.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#43I 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 unm…
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#44For example, to build a web app the level of abstraction your job requires is probably on the level of web frameworks and API's. Now and then you'd need to understand the web protocols. Rarely would you need to write software involving the low level transport mechanisms. Rarely would you inspect packets yourself and perform verification and decoding through pen and paper. Even rarer still would you need to use maths to design the signaling procedures between hardware components. Point being that it's normal to now know off-hand all the lower level CS stuff, but you recognize the patterns, and in the rare occasion you need to actually access all that information you wouldn't be at a complete loss.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#45I had an interview the other day and they asked a question on Big O notation to which I didn't really know the answer so guessed it. In 10 years of web dev, backend engineering work I've never needed to use it.
You have, you just don’t call it that. You probably know that accessing an array list is faster than a linked list, and a binary tree search is faster than an array list search. What you may not remember is the specific big O notation for those, but that’s not the important thing anyways. The important thing is being able to reason over relative complexities of various operations. When I interview people, I ask the q…
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#46Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#47Earlier quoted context omitted.
I don't think it's a waste. Some people going into web development, some into compiler design, some into database optimisation, some into IT management, some into AI, some into 3d game development etc etc. CS is a broad subject. It's pretty much like studying general science in college.
Then why do we not study debugging, naming, maintenance, reading code etc... specifically?
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#48It'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
#49Earlier quoted context omitted.
Then why do we not study debugging, naming, maintenance, reading code etc... specifically?
Because those are all closely tied to the specific programming language, editor, complier etc that you use, which will change repeatedly over your career.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#50Earlier quoted context omitted.
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.
Discussions regarding PE-style certification for software development often get stuck in the mud, but I'd wager that we'll see something emerge in this generation for general development (as it already exists for safety-intensive applications). And crypto may actually increase the demand for formal proofs and other deep CS concepts.
Your CS prof may have made the remark with some degree of disdain, though there are quite a few programmers / developers out there making better money than a college prof (excluding those working in private consultation).