First question—are you any good at it? Lots of people wants jobs in software (it pays well) but aren’t much good at it. (Google “fizzbuzz test”.)
Think about how you can show potential employers you’re good at it. You have a portfolio—that’s good. Can you show off some source code you’re proud of? Have you contributed to open-source projects? (If so, point at your repositories.)
Assuming you’re good at it, and don’t have some killer personality problem (you’re posting on LessWrong, after all), you’re already 2⁄3 of the way there.
The main red flag for many potential employers is “self-taught”. That’s both good (it shows you can learn on your own) and potentially bad (you may have terrible habits or gaping holes in your knowledge).
If you have written and shipped largish-scale working code, probably whatever bad habits you have aren’t too bad, or you’d have gotten tangled in your own shoelaces.
If I had an opening right now, I’d consider hiring you; solely because I’ve seen your nym on LessWrong, don’t associate it with “stupid posts”, and people on LessWrong tend to be very bright.
It has been 30 years since I got a software engineering job (I do other things now but still code for personal projects). Back then nobody asked for Leetcode problems; I’ve seen them and I think they don’t reflect real-world problems and doing well on them relies too much on working well under a microscope—not reflective of the real world. But FWIW I have no degree at all, yet had a very successful software engineering career—most of my colleagues assumed I had a PhD (as most of them did).
I’m also a self-taught programmer, and have never worked in the field (I spent ten years as a piano teacher, and now am earning an MS degree in wet lab biomedical engineering). I’m curious—I looked at the fizz buzz test, and it says it filters out the “99.5%” of programming applicants who “can’t program their way out of a wet paper bag.”
I was expecting something challenging, but it’s a ludicrously simple problem. Is the “99.5%” figure massively hyperbolic, or are a pretty large fraction of programming applicants really that incompetent? It would be nice to gauge the competition if I ever wanted to get a job in the area.
One thing to keep in mind: If you sample by interview rather than by candidate—which is how an interviewer sees the world—the worst candidates will be massively overrepresented, because they have to do way more interviews to get a job (and then again when they fail to keep it.)
(This isn’t an original insight—it was pointed out to me by an essay, probably by Joel Spolsky or one of the similar bloggers of his era.)
It may be entirely a myth, or may have been true only long ago, or may be applicable to specific sub-industries. It doesn’t have anything to do with my experience of interviewing applicants for random Silicon Valley startups over the last decade.
There is a grain of truth to it, which is that some people who can muddle through accomplishing things given unlimited tries, unlimited Googling, unlimited help, unlimited time, and no particular quality bar, do not have a clear enough understanding of programming or computing to accomplish almost anything, even a simple thing, by themselves, on the first try, in an interview, quickly.
First question—are you any good at it? Lots of people wants jobs in software (it pays well) but aren’t much good at it. (Google “fizzbuzz test”.)
Think about how you can show potential employers you’re good at it. You have a portfolio—that’s good. Can you show off some source code you’re proud of? Have you contributed to open-source projects? (If so, point at your repositories.)
Assuming you’re good at it, and don’t have some killer personality problem (you’re posting on LessWrong, after all), you’re already 2⁄3 of the way there.
The main red flag for many potential employers is “self-taught”. That’s both good (it shows you can learn on your own) and potentially bad (you may have terrible habits or gaping holes in your knowledge).
If you have written and shipped largish-scale working code, probably whatever bad habits you have aren’t too bad, or you’d have gotten tangled in your own shoelaces.
If I had an opening right now, I’d consider hiring you; solely because I’ve seen your nym on LessWrong, don’t associate it with “stupid posts”, and people on LessWrong tend to be very bright.
It has been 30 years since I got a software engineering job (I do other things now but still code for personal projects). Back then nobody asked for Leetcode problems; I’ve seen them and I think they don’t reflect real-world problems and doing well on them relies too much on working well under a microscope—not reflective of the real world. But FWIW I have no degree at all, yet had a very successful software engineering career—most of my colleagues assumed I had a PhD (as most of them did).
I’m also a self-taught programmer, and have never worked in the field (I spent ten years as a piano teacher, and now am earning an MS degree in wet lab biomedical engineering). I’m curious—I looked at the fizz buzz test, and it says it filters out the “99.5%” of programming applicants who “can’t program their way out of a wet paper bag.”
I was expecting something challenging, but it’s a ludicrously simple problem. Is the “99.5%” figure massively hyperbolic, or are a pretty large fraction of programming applicants really that incompetent? It would be nice to gauge the competition if I ever wanted to get a job in the area.
One thing to keep in mind: If you sample by interview rather than by candidate—which is how an interviewer sees the world—the worst candidates will be massively overrepresented, because they have to do way more interviews to get a job (and then again when they fail to keep it.)
(This isn’t an original insight—it was pointed out to me by an essay, probably by Joel Spolsky or one of the similar bloggers of his era.)
(EDIT: found it. https://www.joelonsoftware.com/2005/01/27/news-58/ )
That’s an interesting insight, thanks!
It may be entirely a myth, or may have been true only long ago, or may be applicable to specific sub-industries. It doesn’t have anything to do with my experience of interviewing applicants for random Silicon Valley startups over the last decade.
There is a grain of truth to it, which is that some people who can muddle through accomplishing things given unlimited tries, unlimited Googling, unlimited help, unlimited time, and no particular quality bar, do not have a clear enough understanding of programming or computing to accomplish almost anything, even a simple thing, by themselves, on the first try, in an interview, quickly.