Live data from Hacker News

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

news.ycombinator.com

131–140 of 167 posts

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

#131
post #112

It just means you've been doing jobs where CS is (apparently) unimportant. If you're ok with that type of job then by all means, continue, it pays the bills. The downside is that it might get mind-numbingly boring in the future. Pushing bits between API calls isn't exactly computer science.

CS is unimportant in 99% of jobs. What's important in a job is making an impact in the company you work for. This means building product features, improving systems etc. but this rarely intersects with "CS" problems

People think CS is unimportant, which is why we have crap software left, right and centre. But I don't want to get into that, so let's suppose you're right. What OP needs to figure out is if a job where CS is considered unimportant is what they want from their professional life. Pushing bits between API calls and learning new frameworks, building product features into a codebase without breaking existing ones.

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

#132

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.

Your premise is incorrect.

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

#133
You only hurt yourself by drawing a line between academic knowledge and work knowledge. Very few people are actual geniuses that just retain information. Rather, most people know about things because they use them every day, that's all. Professors and researchers know CS stuff because that's what they need to get a paycheck. You know K8s because that gets you a paycheck. The fact that the former is called "knowledge" and the latter a "skillset" is just a technicality that shouldn't bother you. All knowledge is equal. If you need to know more CS stuff you will learn it no doubt!

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

#134
That may be also because you are working in a Software Engineering job as a Computer Scientist. Or even as an Alayst Programmer (Technical profession, not needing a Degree)

These are 3 very different professions that have 'coding' in common. And given the huge demand for "analyst programmers" nowadays, a lot of people who studied the other two, end up working as the latter.

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

#135
The thing most folks don’t realize is that Computer Science isn’t Software Engineering. They’re related but distinct.

Software Engineering is a lot of the day to day work you do as software engineer. It’s more about people, process, execution. In reality, most problems you’ll encounter in day to day software engineering won’t be CS problems. Lots of CRUD-shaped apps of varying forms and sizes.

Occasionally, you’ll get a real CS shaped problem and those are fun.

As others say - refreshers worked well since you’ve already learned the material. Find some interesting books or ideas to explore and they’ll come back.

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

#136

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...

You say "be a programmer" to make it sound demeaning. I am not a "programmer" I am a software engineer, which is a very different way to put it. Studying CS to be a software eng is definitely not over kill.

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

#138
post #64
post #51

Normal, 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…

Yup, I can't tell you what 6th normal form is anymore, but I can tell you if a database looks poorly designed or not. lol

Which of those helps day to day? I’m always going to say the latter lol

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

#139
post #51

Normal, 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…

I always think self taught is a better pathway. You gain more experience making mistakes and learning from them that way. You also pick up more “best practices” by learning how shitty your bad practices of the past were.

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

#140

Earlier quoted context omitted.

I have a CS bachelor + masters and the only actually real-world useful courses were on the masters levels (and only 3 courses out of many, the rest were time wasters), 99% of the other stuff before it was a total waste of my time.

Which three courses, that might help the discussion. I can think of many more than 3 courses that helped me directly or indirectly later on: 1. CS 101 - I mean, duh? Intro to programming, basic algorithms and data structures. By the end you can at least write a simple program, and if you weren't a nerd like me (started programming at 8 because the computer was there) this would be essential. Which was the case for th…

I had a similar education starting around 25 years ago, and my experience is different than yours. Very few of the courses I took have been directly helpful, and the ones that were indirectly helpful were very indirectly helpful.

The most helpful one was a "software engineering" course, but mostly it was c++ development in a Unix environment. The part that was directly helpful was the shell scripting, not the basics of it since I was already running Linux and knew my way around a command prompt, but the professor would demonstrate things live in class, and he was a serious pro. I was just blown away at some of the stuff he knew, he could basically operate in a shell environment at the speed of thought. I'm still not like that, but I learned some stuff.

CS 101, like you, I already knew. "Basic Computer Games" from when I was a 7 pretty much covered that.

Discrete math helped a little, I mean I already knew most of it, but it helped. Stats helped a little, the first stats class we had to take. The second was all proofs, never used any of it. Never used any of the other math, linear algebra, three semesters of calc, differential equations, and a graduate level combinatorics class that broke my brain. Never used a single bit of it.

Compilers, we wrote our own compiler, helped a tiny bit indirectly. It made PL/SQL error message make more sense, I don't remember why. Operating systems, we wrote our own operating system, don't know any way that that helped. Graphics, never used it. Two semesters of assembly, never used it.

Algorithms, the first day of class we had a substitute whose accent I couldn't understand and he spent the whole class writing proofs on the blackboard and I thought, "I am so fucked". The actual class turned out to be just things like "count how many times this for loop will execute", total waste of time. One extreme to the other.

Didn't take a database course, worked with databases most of my career. That would have helped.

You could fit the parts of the courses that I've used into a 3 month boot camp pretty easily. But that's not the point of a CS degree to employers, the point of a CS degree to employers is that if someone can figure out vector calc and differential equations, they can figure out what the bug is with your CRUD app. It's just an expensive workaround for an IQ test in an environment where employers aren't allowed to give IQ tests. And also, if they can stick around for 4 years to get a degree without flaking out, maybe they'll stick around for a few years on the job.

Post reply on HN