Ask HN: What advice would you give someone who wants to become a programmer?
Recently i have had a number of friends and family members ask me how to get into programming as a profession.
I gave them a couple links to some online resources like coursera, learnpythonthehardway, and some mit opencourseware courses; but im not sure whether this really puts them on a path to programming as a profession.
So, i ask you HN, How would an non-fresh grad adult go about starting a career in programming without a degree in computer science?
Is a couple online courses and a twitter clone or so in your github profile all you need to get a real job these days? Do they need to pay thousands for some bootcamp to learn how to 'hack the interview'? Open source contributions? What is it that hiring managers are looking for in fresh programmers?
Thanks!
26 comments
[ 5.0 ms ] story [ 87.8 ms ] threadThe worst is to complete to some sort of software engineering career track, without ever realizing you're not interested in programming. So you come out knowing all sorts of minutiae about software and having all these great opinions, but you can't solve FizzBuzz. Nearly every company in the country, large and small, knows how to filter people like that. Don't do that.
i often have people near me who are struggling financially ask for advice on how to get into an actual career - these are smart people who have fallen into and out of various lower skilled jobs like restaurants, call centers, secretarial roles, small auto repair shops, and the like. These are mostly people in their late 20s or early 30s who have college degrees in something less marketable (non-STEM).
Whats out there these days for intelligent people who are willing to work hard, and how do we get these people to these jobs?
for the trades, apprenticeships have largely been outpaced by associates degree programs and credentialism. IT roles are rife with credentialism, most credentials taking 300$ plus for the exam alone without any training materials. Going back to school takes a lot of money and real confidence that youre sure what you want to pursue.
I keep seeing people say that during the industrial revolution people were saying machines would take all our jobs, and that this time its the same thing. If thats the case - where should all these people be moving?
What should the 25 year old waitress with a philosophy degree be doing in her time off work to get into a real professional career that will allow her to retire at 65?
Are we sure we have jobs for these people? Is all this displacement just caused by the older generation being slower to retire because its less affordable to retire after the housing crash? If so, how do we address that?
Things don't look good economically for a lot of people in America, and a lot of people get treated unfairly for stupid reasons, but there's no easy solution I'm afraid. You can't guarantee a job for everyone because not everyone necessarily wants a job, or perhaps they may only want a certain kind of job.
Non-STEM is out of luck aside from the above and some 1-in-a-million entertainment things. I guess there is also crime and gambling, but you can't keep that going for long.
I'd be more interested to know what some hiring managers would like to see in a github profile for a junior dev - are they looking for twitter clones as you suggest? open source contributions? side projects? are they just looking for proof that you have interest and passion for development? or are they looking at the code to see how sophisticated it is, how it conforms to best practices wrt commenting, etc.?
try embedded or game development, the caveat to learning any code is that someone will offer you money to do web.
I thought that web programming (e.g. ruby/python/php + JS + html/css/etc.) had way higher ROI because the learning curve is much lower and the market is way larger.
I do think that its partially because game dev is probably one of the more fun types of programming, and because of this the market has become flooded with people wanting to develop games.
As for embedded, is that something that someone with little funds is capable of doing on their own? are we talking about doing some arduino projects and then getting a junior embedded dev role? or what does that path look like?
With games its pretty straightforward at least, a single person could reasonably make a small game, and thats probably a reasonable basis on which hiring decisions could be influenced, but im not sure what the path for an embedded developer would be
Thanks for your input!
or find VHDL code on github and contribute to their code.
but finding a job in FPGA is very hard, the entry level job position doesn't exist! I with a MS in Computer Engineering and a very complex project (image processing on FPGA) couldn't find a job in industry and switched to web!
I think something with an easy learning curve like web, gets harder before it get's interesting.
A real language starts hard and stays that way.
and there's always fresh blood nipping at your heels in web, and you'll get frustrated at frameworks and not being able to upgrade the latest or greatest.
if you design for embedded or a game (something indie) you can start a fresh with new libraries and new outlook.
in web you'll encounter technical debt more quickly.
If you want to do web anyway, I suggest coding with other stuff in your spare time.
What do you think about backend dev, or devops type roles? would you expect them to start in frontend and move towards backend as they get experience, or should they start out from scratch and jump into SQL and python/java/ruby?
Or would mobile development be the way to go? learn swift or java and jump into creating some popular app clones in your github?
you won't have to context switch as much and you can focus on what you're learning.
Also, work on something that interests you. Don't get into programming just because it seems cool. It really is, but love what you do. Life is to short not to.
Reading and doing. I'll come back and add my reading list when my HN timeout is up. SICP, the dragon book, and Hennessy's computer architecture book are a good start. Others may have some great suggestions.
Is a couple online courses and a twitter clone or so in your github profile all you need to get a real job these days?
Depends on where you're located and how old you are. Cultures are so incredibly different from place-to-place that a credit in one sector can be a demerit in the other.
Do they need to pay thousands for some bootcamp to learn how to 'hack the interview'?
Probably not.
What is it that hiring managers are looking for in fresh programmers?
Fresh, innocent young whores without fixed value systems or outside obligations. If you start drawing lines in the sand for personal relationships and making value judgments about the work being dong (Uber, Palantir, etc.), you will lose a lot of value very quickly.
You can either become a good developer and get hired on merit. Or, you can become an imposer who has great social (and bullshitting) skills and manage your career that way. The second option is undoubtedly easier.
The reason I'm bringing that up is because for an adult, starting from scratch, with no computer science degree, doing it yourself, you are easily looking at four years of hard study 8h/day to become competent. I think almost anyone can do it, but very few have enough time and stubbornness to pull it through.