Live data from Hacker News

A computer science study plan to become a software engineer

github.com

191–200 of 220 posts

Re: A computer science study plan to become a software engineer

#191
post #35

Earlier quoted context omitted.

Your comment reflects a common meme that can often be summarized as: "Real World" work doesn't involve the academic nonsense you learn in school. Many of the people who say this kind of stuff never really mastered the theory, and because they never mastered it they can't really use it, and because they can't really use it they find work that doesn't strictly require it, and then conclude it's useless... It's like whe…

CompSci theory hasn't helped me with the complexity of the industry i work in. It hasn't helped me when i've misunderstood something in our domain. It hasn't helped me release / distribute a product easier or faster or cheaper. It hasn't helped me navigate team dynamics or how to work effectively with others. It hasn't helped me write better technical texts. So for some very specific cases, in my career (and i suspec…

On the topic of useless subjects (on a personal level) I nominate chemistry. Never had to use it or depend on chemical knowledge, never had to write a chemical reaction or compute masses except as a student. So many years spent on chemistry instead of learning some other subject.

Re: A computer science study plan to become a software engineer

#192

Earlier quoted context omitted.

CompSci theory hasn't helped me with the complexity of the industry i work in. It hasn't helped me when i've misunderstood something in our domain. It hasn't helped me release / distribute a product easier or faster or cheaper. It hasn't helped me navigate team dynamics or how to work effectively with others. It hasn't helped me write better technical texts. So for some very specific cases, in my career (and i suspec…

On the topic of useless subjects (on a personal level) I nominate chemistry. Never had to use it or depend on chemical knowledge, never had to write a chemical reaction or compute masses except as a student. So many years spent on chemistry instead of learning some other subject.

I also never use chemistry knowledge for anything, ever. But I find it quite interesting to know a little bit about how matter works, and how it combines into things that make up my body and (hey, let's go there) mind. I had to take an intro class in college to learn to appreciate all that, though; high school chemistry class was pretty dull and useless for me.

Re: A computer science study plan to become a software engineer

#193
post #140
post #95

Earlier quoted context omitted.

Maybe it's easy to overlook these things when you have a really deep computer science background, but coming to software engineering from a non-CS background (math degree) I found lots of valuable knowledge in CS. The most important parts for me would be: - State machines. I run into a lot of state machines, especially incompletely specified ones. Not that everybody gets these wrong if they haven't studied state mach…

I also don't have a CS degree and am self-taught. And I very much agree with you that many CS concepts have quite a practical impact. Some of them more on the side of approach and selecting the right tech/solution, but some have a more hands-on practical use. - State machines: completely agree. I use them especially in the context of user facing stuff, like GUIs, animations and so on. In fact I would even argue that…

> Relational algebra

Seriously? Currently working through my second databases course, I still can't help translating all of the relational algebra nonsense into proto-SQL in order to make sense of it. I was already working on large-ish business applications and databases for a few years before the first course and I didn't even know RA existed. Now it just gets in the way.

Not to mention relational expressions or whatever that thing is called where you use the "exists" and "for every" operators, which I still haven't been able to apply in practice.

Re: A computer science study plan to become a software engineer

#194
post #192

Earlier quoted context omitted.

On the topic of useless subjects (on a personal level) I nominate chemistry. Never had to use it or depend on chemical knowledge, never had to write a chemical reaction or compute masses except as a student. So many years spent on chemistry instead of learning some other subject.

I also never use chemistry knowledge for anything, ever. But I find it quite interesting to know a little bit about how matter works, and how it combines into things that make up my body and (hey, let's go there) mind. I had to take an intro class in college to learn to appreciate all that, though; high school chemistry class was pretty dull and useless for me.

I find that hearing about how stuff works and how that directly relates to daily life is easy for me (and probably most people) to internalize and retain.

For example something that has stuck with me since high school was hearing that H20 expanding when it freezes into a solid is what makes ice skating possible. Pressure exerted by the skate blade forces the surface of the ice into a liquid state which makes it slippery.

Where educational curriculum tend to lose people is by overemphasizing the canon/trivia. Ironically that seems to be a result of needing to develop additional, obscure, test questions to deter students memorizing rote information or last years final exams.

In regards to computer science I think there is more to gain for students by learning the history and development of particular CS solutions and discoveries as they are more likely to encounter those situations in their careers than a particular need for a CS technique.

Re: A computer science study plan to become a software engineer

#195

Earlier quoted context omitted.

CompSci theory hasn't helped me with the complexity of the industry i work in. It hasn't helped me when i've misunderstood something in our domain. It hasn't helped me release / distribute a product easier or faster or cheaper. It hasn't helped me navigate team dynamics or how to work effectively with others. It hasn't helped me write better technical texts. So for some very specific cases, in my career (and i suspec…

On the topic of useless subjects (on a personal level) I nominate chemistry. Never had to use it or depend on chemical knowledge, never had to write a chemical reaction or compute masses except as a student. So many years spent on chemistry instead of learning some other subject.

Play Omnifactory or any modpack with gregtech. It's not 100% realistic but you're doing practical chemistry all the time.

Re: A computer science study plan to become a software engineer

#196

This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…

It's like the difference between knowing the theory behind combustion engines and driving a car.

But that being said... there are many different types of engineering jobs. If your company deals with low level stuff, requiring low level knowledge is acceptable.

Re: A computer science study plan to become a software engineer

#197

Earlier quoted context omitted.

I've done both graphics and embedded systems. I don't think any of that is true. In fact I found most the formal education around graphics to be outdated or disconnected from the reality of how systems are built(mostly due to trade secrets and the industry moving much faster than coursework could keep up).

Oh yea, calculus and linear algebra is all washed up and the industry has moved way past it. /s "I don't think any of that is true" is a strong statement. Nobody is saying that a toy renderer in school resembles a AAA rendering engine, but the point is that the thought process needed is the same, and I'm still going to expect a certain degree of rigor from any candidate. Also, the parent post is speaking more about t…

You can learn the relevant parts of calculus and linear algebra in isolation. I've experienced that knowing the abstract theory of linear algebra is actually just taking away time and resources that could have been spent in increasing your competence in the non abstract parts of linear algebra. A lot of students aren't ready for industry, not because they are incompetent or not smart enough but rather because they have directed all their time and energy on solving difficult problems which meant they had no time for the boat load of easy problems that industry actually needs.

Re: A computer science study plan to become a software engineer

#198

"When a measure becomes a target, it ceases to be a good measure."[1] These coding challenges used to be a very good measure of ability, but now applicants are just memorizing the most common problems for each company. We're not at the point where these tests are useless but we will get there in the near future. The problem is that I haven't seen any good alternatives. [1] https://en.wikipedia.org/wiki/Goodhart%27s_l…

The best coding challenge I had to do was when the company basically gave me a set of requirements, said build this. Took about an hour. Then during the interview, I was asked about my decisions, and blockers. Afterwards I was given another feature to add. This took another half an hour. I wish more companies would do this. The hardest part for me at least is staring at a blank document.

[deleted]

Re: A computer science study plan to become a software engineer

#199
post #35

Earlier quoted context omitted.

Your comment reflects a common meme that can often be summarized as: "Real World" work doesn't involve the academic nonsense you learn in school. Many of the people who say this kind of stuff never really mastered the theory, and because they never mastered it they can't really use it, and because they can't really use it they find work that doesn't strictly require it, and then conclude it's useless... It's like whe…

> But those who are not comfortable with the foundational theory stuff just don't see it and don't even think to approach the problem in that way. Or maybe all that "foundational theory" is oblivious to cache hierarchies(hello Big O notation) and generates worse performance on constrained devices. Or perhaps there's enough unknown, unknowns that throwing something at the wall is a legit way to get data if it's not a…

Big O is okay but for some reason when professors tell you that reasoning about universally valid performance characteristics of an algorithm is a lot of work if you are worrying about every tiny implementation detail the students ignore all of it and always disregard the constants even though the professor explicitly says that this is a method for estimating how fast the execution time of a function grows with increasing input. It's about building algorithms or datastructures and comparing them. Once you have a good baseline you can improve it further through engineering. The irony of course is that intuition and experience alone can get you 90% of the way but at a much lower time investment but theory can never replace experience because you have to turn that theory into experience first.

Re: A computer science study plan to become a software engineer

#200
post #40

Earlier quoted context omitted.

Big N for all N in Facebook, Amazon, Apple, Netflix, Google ...

I don't think Netflix actually belongs in there, it's just that if it weren't the acronym would be FAAG, and if you say you want to work for a FAAG company people will assume you're talking about Grindr or Mozilla or something.

FAAMG?
Post reply on HN