Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
141–150 of 167 posts
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#142Earlier quoted context omitted.
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…
unless you're working with large datasets, big O hardly matters for most products/business logic
But I do work for a very large company (not FAANG, but close) and so admittedly, the scale there is far larger than in most jobs, and knowing this stuff really does matter a lot more.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#143Earlier quoted context omitted.
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…
Except on modern architectures your intuition about what is actually faster is likely wrong if it’s based on just Big O operation counts. Memory locality, prefetching and branch prediction are all likely more important to actual performance than Big O complexity and those things can change from architecture to architecture. When I was learning big o notation numa architectures where just becoming commercially viable.…
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#144Normal, yes. The nice thing about forgotten knowledge is that it's much easier to jog the memory and get it back than to learn it from nothing. You likely still use a lot of the fundamental concepts without realizing it. I am someone who came from a non-traditional, self-taught path ~25 years ago. I did get some formal schooling in electronics, which you'd think was useless, but I can think of a few times solid digit…
Each time I’ve forgotten how to construct them and use them from scratch, but a five minute skim of some grad student’s PowerPoint was all I needed to get right back into it.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#145The prospects of passing leet code interviews without major time investment are not great .
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#146Earlier quoted context omitted.
The universities don't have it backwards, you do. Computer Science fundamentally isn't Software Engineering. If you have a degree in computer science and a job in (some particular subfield of) software engineering, it makes quite a lot of sense that the degree and the day to day aren't perfectly aligned. At any rate, not directly and frequently using all the theoretical underpinnings of networking/databases/etc hardl…
> The universities don't have it backwards, you do. Computer Science fundamentally isn't Software Engineering. If you have a degree in computer science and a job in (some particular subfield of) software engineering, it makes quite a lot of sense that the degree and the day to day aren't perfectly aligned. The university that I went to (Riga Technical University) didn't quite have computer science and software engine…
It is especially important to have balance in the undergraduate B.S. degree. At this point, the foundational knowledge is presented, and a broader perspective of the applications of computer science (e.g. software engineering, database design, compilers, operating systems, applied artificial intelligence, etc.) aids in decisions toward which concepts to focus on next whether it be for enterprises or as a researcher.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#147Earlier quoted context omitted.
I have a CS degree, and the main thing I developed that stuck with me is the ability to pick up most any programming language and separate the syntax from the fundamental concepts such as objects, functions, loops and flow of control, lists, arrays, other data structures, etc. Pretty much every class in my degree program used a different programming language. You had to develop the ability to learn a language and be…
That’s how you get all those apps that are dog slow bc developers didn’t know better and implemented everything with squared or worse complexity where it wasn’t necessary
Yes, if it's doing something more complex, algorithmic complexity can be a factor. The vast majority of "enterprise" or business apps aren't.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#148Earlier quoted context omitted.
I had a class titled "Software Engineering" that prepared me very well for software dev life cycle, maintenance etc... It was a semester long project where the professor was the "business" person and everyone had shared roles (someone was QA for a sprint)...and we get lectures on code quality, testing, best practices. To my surprise it doesn't exist in every college. Even though I went to a state school, not all stat…
> I would interview kids nowadays who want $100k but have no idea what Agile is. You’d be amazed at how many middle managers making 250+ think that agile equals scrum or that scrum is valuable in the context of software. I’ll take the person that has never heard of it, to be honest.
Re: Ask HN: Working as a software engineer for 5 years, I've forgotten all CS stuff
#149You 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.
Can you point out a thing in standard CS curriculums that doesn't doesn't come up in software once in a while, assuming you are not doing react and express js entire life?