remember you or others of our Ilk will have to touch or replace that code some day. Getting fancy or sneaky is fun with competitions or bragging rights but in practical coding simple is ALWAYS best.
Ask HN: What are useful CS theories you actually use at work?
41–44 of 44 posts
Re: Ask HN: What are useful CS theories you actually use at work?
#42Earlier quoted context omitted.
Knowing CS is extremely important. That's the difference between being a modern day factory worker and a high value expert.
That's bull. Being an expert does not simply follow from attending a few CS classes and getting a degree. Coming out of college you know very little. The least thing my company can use is overinflated egos.
1) A CS degree is a lot more than a few classes of CS, not even counting math and other content.
2) I think when people here are saying "degree" it's really just a short cut for saying "taking some concentrated time to study important theoretical concepts that are useful to know as you go about real life software development". In other words, you could do the same thing without college. It's just harder to juggle multiple things and not have the structured path. Even this is not perfect because it's still unfortunately a resume signal, but that's a separate problem.
3) Coming out of college with little professional or practical experience has nothing to do with the value of leveraging what was learned in college as you go about obtaining that experience. You're company may not want people without practical experience, that doesn't mean they're against having a theoretical grounding also, two separate criteria.
4) This has nothing to do with ego. As I say the previous reference made was an unfortunate choice, but doesn't generalize to all people who take this path.
Re: Ask HN: What are useful CS theories you actually use at work?
#43And there’s a scary part to this. How much more are we losing out on because of what we don’t know? Can you justify going back for a masters in CS, not simply for any career reason, but just because of the theoretical power it could add to the foundation of your ability to solve problems and approach a broader set of them? I find myself agreeing with most of the commenters here. Even for simple things like algorithmi…
Would you mind giving a couple examples? (Other than complexity, I suppose.) Still learning.
There are other simple things, logic and circuits get you familiar with many things. How to take any language expression and change each term to invert it or manipulate parts of it quickly and knowing exactly what will happen.
Compiler theory is helpful not much because many people end up designing languages but for other reasons. For example DSLs (small domain specific languages) are used all the time for different purposes.
Learning about formal proofs of correctness. Again even though it's not widely done just being aware of it helps you understand the limitations and what's possible with the reliability of software.
Some grasp of discrete math is required to work with lots of things like 3d graphics.
Physics is a supplement that would just exclude you from a fair amount of jobs without some level of knowledge.
No one is mastering all these things at an undergrad level. I'm sure I've forgotten tons of it. But just the exposure, knowing its there helps, and when you need to actually use it it's easier to jump back in and ramp up or go deeper.
Re: Ask HN: What are useful CS theories you actually use at work?
#44And there’s a scary part to this. How much more are we losing out on because of what we don’t know? Can you justify going back for a masters in CS, not simply for any career reason, but just because of the theoretical power it could add to the foundation of your ability to solve problems and approach a broader set of them? I find myself agreeing with most of the commenters here. Even for simple things like algorithmi…
Is the job a trade or a profession? People who see the job as a trade don't care about formal training.
Of course, there's more justification in more rigorously vetting someone's credentials and abilities who is building a bridge or performing surgery (although software development work has absolutely caused loss of life).
However the question posed here is the value added by a solid theoretical grounding, and I believe it's not too different in terms of pure skills benefit.
I bet I could wing it in a lot of professions whether it be developer or surgeon, the main difference being more people would die in the latter example. Considering only the benefit to a person's abilities of more rigorous training, I see no reason why skills would not increase similarly.