Ask HN: How to go from zero to software engineer?
4 comments
> The most common area of software I know of, and heard is most beginner friendly, is web development. So I guess that would be one of the areas to focus on?
It's worth bearing in mind that pretty much everybody else has heard that web development is beginner friendly and flocked to it en masse.
> I understand there is the programming side, but also a theoretical computer science component (algorithms, data structures. Etc.) that many big companies like to ask in interviews. I'm guessing I'd have to venture into new math territory (discrete math?).
You have it more or less correct. The core of a CS degree is a data structures course, an algorithms course, and a discrete mathematics course and you will want to know these topics well. A bit of searching will reveal the names of the current well-regarded textbooks for each area.
You will also want to have gone through at least one textbook on software engineering as well as one guide on good coding practices, e.g. McConnell's "Code Complete".
To be competitive with other candidates for the big 4, I would suggest skimming both a computer architecture course and an operating systems course as well.
It's worth bearing in mind that pretty much everybody else has heard that web development is beginner friendly and flocked to it en masse.
> I understand there is the programming side, but also a theoretical computer science component (algorithms, data structures. Etc.) that many big companies like to ask in interviews. I'm guessing I'd have to venture into new math territory (discrete math?).
You have it more or less correct. The core of a CS degree is a data structures course, an algorithms course, and a discrete mathematics course and you will want to know these topics well. A bit of searching will reveal the names of the current well-regarded textbooks for each area.
You will also want to have gone through at least one textbook on software engineering as well as one guide on good coding practices, e.g. McConnell's "Code Complete".
To be competitive with other candidates for the big 4, I would suggest skimming both a computer architecture course and an operating systems course as well.
Try CS50 :) It's Harvard's free online course. It'll take you from 0-1 really fast. 1 to 100 is experience from building stuff. Good luck!
Agreed, I think CS50 is an excellent intro.
Write lots of code, in different languages; find increasingly real problems to challenge your skills. Unless, of course, you're just interested in becoming another whatever; then you're better off memorizing buzzwords and JavaScript frameworks.
I'm particularly interested in one day working with the big four. Once again, I'm not sure if this is a bit late, considering I have absolutely no experience.
The most common area of software I know of, and heard is most beginner friendly, is web development. So I guess that would be one of the areas to focus on?
How would I go about creating a roadmap from zero to software engineer? I prefer to work in a very organized manner. I understand there is the programming side, but also a theoretical computer science component (algorithms, data structures. Etc.) that many big companies like to ask in interviews. I'm guessing I'd have to venture into new math territory (discrete math?).
Overall, what would be the roadmap I'd take to become a software developer, most likely in the area of web development? As well as, what is the likely timeframe I would expect to finally land my first job?
Thanks