Live data from Hacker News

A computer science study plan to become a software engineer

github.com

121–130 of 220 posts

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

#121

This is a bit off-topic, and is probably a naïve question, so forgive me in advance for both. I've always been under the impression that "engineer" was a protected professional title, just like "medical doctor" or "lawyer", at least in part because there are certain legal responsibilities that come with the title. It's thus a little confusing to see the title being used, here on HN and elsewhere, by self-taught folks…

I got my engineering degree almost 30 years ago, and at my first job was working with other "engineers" who did not have a degree. I was dismayed at first, but got over it.

I think it only matters if you're offering services to the public as an engineer, or if you're doing public-works projects. Then you need to be licensed as a Professional Engineer.

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

#122
post #50
post #41

Earlier quoted context omitted.

Can you give some examples of where computer science academic theory helped in software engineering?

1. Unix was cutting edge OS theory and gave birth to the microcomputer industry. 2. AWS was cutting edge distributed systems theory and gave birth to cloud computing. 3. Renaissance Technology was cutting edge algorithms theory and gave birth to quantitative hedge funds. Some people innovate for a living.

Unix was cutting edge OS theory? I mean, it was Bell Labs, and they were probably the premiere research facility in the world at the time, but my impression is that the trick on Unix was how small they were able to squeeze it, not that it was pushing theoretical boundaries.

Can you point me to any aspects of Unix that were theoretically new?

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

#123
Studying theory to become a SE is one thing. Being a SE is another thing. Being able to communicate with your (tech or non technical) colleagues in a constructive/useful way is also another important thing.

What I have seen is that a lot of software engineers lack communication skills. Being able to deal and communicate with other people, feel empathy, see things from their perspective, deal with non technical POs or managers, crazy CEOs, offensive colleagues and all sort of things is something that should be taught before you enter the market somehow. And when I say "deal" and "communicate" I mean it in the most fruitful way for you, your colleagues, the company. In that order.

So "being" a SE is not only knowing the theory.

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

#124

This is a bit off-topic, and is probably a naïve question, so forgive me in advance for both. I've always been under the impression that "engineer" was a protected professional title, just like "medical doctor" or "lawyer", at least in part because there are certain legal responsibilities that come with the title. It's thus a little confusing to see the title being used, here on HN and elsewhere, by self-taught folks…

>I've always been under the impression that "engineer" was a protected professional title

Based on what? I always thought it was well known that there is pretty much no such thing in the IT world, and beyond that, Americans tend to as whole disdain the old worlds fascination with titles and the people in America who use and abuse them (lawyers are some of the shittiest people)... so perhaps you aren't American?

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

#125
post #70

Earlier quoted context omitted.

This is true for the most part. But having the CS knowledge allows you to create much more efficient solutions once at scale. I've personally revamped core parts of a product at previous companies to be over 1,000x more efficient just by applying some CS principles. This translates to $100K/mo+ in savings for a company that is at scale.

I have to ask though... Was it at scale?

I guess that's a relative term. But hosting bill was around $250K/mo from what I remember.

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

#126
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…

"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..." this is quite the assertion. do you have any evidence supporting this statement?

I think the claim is easily sustained with just empirical evidence. If you want to do a career in embedded, or graphics, or robotics, or maybe flight control, etc., you're going to need the math and the comp sci in droves. HN tends to have a crowd skewed towards certain disciplines, which is why every time the topic of a whiteboard interview shows up, most of the comments voice a strong opposition. In my line of work (graphics), the whiteboard is used all the time, both in and out of the interview.

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

#127

Earlier quoted context omitted.

Not as much as it depends on human communications, organization, self-management, etc. Most technical challenges in my experience end up being reduced to word problems. All of the stuff you mentioned is probably 10% of it. You can be bad at the 10% if you're great at the 90%.

Word problem? That's not a technical challenge. That has to do with writing and communications, which are ubiquitous to all types of work. I think you're misunderstanding the premise here.

I think you're mistaking work for being puzzle-solving.

Work is always about people. If it's not about people, it's probably research, which is different from work.

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

#128

Earlier quoted context omitted.

Your work doesn't depend on operating systems, databases, network communications and data structures? I can go on.

Not as much as it depends on human communications, organization, self-management, etc. Most technical challenges in my experience end up being reduced to word problems. All of the stuff you mentioned is probably 10% of it. You can be bad at the 10% if you're great at the 90%.

Well good thing you learned to read, write, be disciplined and be organized in school along side CS.

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

#129
post #41
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…

Can you give some examples of where computer science academic theory helped in software engineering?

A moderate complexity task such as writing a JPEG codec requires understanding of Huffman coding, discrete cosine transform and a number of other minor concepts.

Right now am working on a physically distributed, synchornized system. It has some signal processing code: cross-correlation, FFT. The process planner builds spanning trees out of the layout graph to execute the tasks.

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

#130
post #28
post #9

Earlier quoted context omitted.

> and in 30 years, I've hardly used any of it. Isn't that similar to people saying "I've never used trig in 30 years"? Isn't the point to train your brain to think in a certain way, more so than actually needing sines and cosines? For computer science specifically, the goal is to teach you to think in terms of loops, conditionals, recursion and so on. It's to train the muscle more so than memorize specific algorithms…

An interviewer proposes this scenario: There is a school bus full of ping pong balls, all the way to the ceiling, filled from back to front. You are asked to estimate the number of ping pong balls while explaining your line of thinking. Questions are welcome--and answered if on the fact sheet. Explaining your abstract, critical thinking process seems much more valuable. HR screens someone for having the degree, assum…

HR is unqualified labor attempting to do screening for qualified one, and they tired using tests which they themselves can comprehend as proxies for intelligence.

(In past tense because this "Microsoft interview" style quiz was dropped by Microsoft themselves long ago)

Post reply on HN