The least-effort strategy, and the one I used for my current job, is to talk to recruiting firms. They have access to job openings that are not announced publically, and they have strong financial incentives to get you hired. The usual structure, at least for those I’ve worked with, is that the prospective employee pays nothing, while the employer pays some fraction of a year’s salary for a successful hire, where success is defined by lasting longer than some duration.
(I’ve been involved in hiring at the company I work for, and most of the candidates fail the first interview on a question of comparable difficulty to fizzbuzz. I think the problem is that there are some unteachable intrinsic talents necessary for programming, and many people irrevocably commit to getting comp sci degrees before discovering that they can’t be taught to program.)
I think the problem is that there are some unteachable intrinsic talents necessary for programming, and many people irrevocably commit to getting comp sci degrees before discovering that they can’t be taught to program.
I think there are failure modes from the curiosity-stopping anti-epistemology cluster, that allow you to fail to learn indefinitely, because you don’t recognize what you need to learn, and so never manage to actually learn that. With right approach anyone who is not seriously stupid could be taught (but it might take lots of time and effort, so often not worth it).
Formal credentials certainly help, but I wouldn’t say they’re required, as long as you have something (such as a completed project) to prove you have skills.
My first paying job was webmaster for a Quake clan that was administered by some friends of my parents. I was something like 14 or 15 then, and never stopped working since (I’m 27 now). Many people around me are aware of my skills, so work usually comes to me; I had about 20 employers (taking different positions on the spectrum from client to full-time employer) but I don’t think I ever got hired the “traditional” way with a resume and an interview.
Right now my primary job is a fun project we started some years ago with my classmates from school, and it’s grown quite a bit since then. My immediate boss is a former classmate of mine, and our CEO is the father of another of my classmates; moreover, I’ve known him since I was 12 or so when he went on hiking trips with us. In the past I’ve worked for friends of my parents, friends of my friends, friends of my own, people who rented a room at one of my schools, people who found me on the Internet, people I knew from previous jobs… Basically, if you need something done yesterday and your previous contractor was stupid, contact me and I’ll try to help :-)
ETA: I just noticed that I didn’t answer your last question. Not sure what to recommend to competent programmers because I’ve never needed to ask others for recomendations of this sort (hah, that pattern again). Maybe it’s about networking: back when I had a steady girlfriend, I spent about three years supporting our “family” alone by random freelance work, so naturally I learned to present a good face to people. Maybe it’s about location: Moscow has a chronic shortage of programmers, and I never stop searching for talented junior people myself.
I took an internship after college. Professors can always use (exploit) programming labor. That gives you semi-real experience (might be very real if the professor is good) and allows you to build credibility and confidence.
How did you first find work? How do you usually find work, and what would you recommend competent programmers do to get started in a career?
The least-effort strategy, and the one I used for my current job, is to talk to recruiting firms. They have access to job openings that are not announced publically, and they have strong financial incentives to get you hired. The usual structure, at least for those I’ve worked with, is that the prospective employee pays nothing, while the employer pays some fraction of a year’s salary for a successful hire, where success is defined by lasting longer than some duration.
(I’ve been involved in hiring at the company I work for, and most of the candidates fail the first interview on a question of comparable difficulty to fizzbuzz. I think the problem is that there are some unteachable intrinsic talents necessary for programming, and many people irrevocably commit to getting comp sci degrees before discovering that they can’t be taught to program.)
I think there are failure modes from the curiosity-stopping anti-epistemology cluster, that allow you to fail to learn indefinitely, because you don’t recognize what you need to learn, and so never manage to actually learn that. With right approach anyone who is not seriously stupid could be taught (but it might take lots of time and effort, so often not worth it).
Do recruiting firms require that you have formal programming credentials?
Formal credentials certainly help, but I wouldn’t say they’re required, as long as you have something (such as a completed project) to prove you have skills.
My first paying job was webmaster for a Quake clan that was administered by some friends of my parents. I was something like 14 or 15 then, and never stopped working since (I’m 27 now). Many people around me are aware of my skills, so work usually comes to me; I had about 20 employers (taking different positions on the spectrum from client to full-time employer) but I don’t think I ever got hired the “traditional” way with a resume and an interview.
Right now my primary job is a fun project we started some years ago with my classmates from school, and it’s grown quite a bit since then. My immediate boss is a former classmate of mine, and our CEO is the father of another of my classmates; moreover, I’ve known him since I was 12 or so when he went on hiking trips with us. In the past I’ve worked for friends of my parents, friends of my friends, friends of my own, people who rented a room at one of my schools, people who found me on the Internet, people I knew from previous jobs… Basically, if you need something done yesterday and your previous contractor was stupid, contact me and I’ll try to help :-)
ETA: I just noticed that I didn’t answer your last question. Not sure what to recommend to competent programmers because I’ve never needed to ask others for recomendations of this sort (hah, that pattern again). Maybe it’s about networking: back when I had a steady girlfriend, I spent about three years supporting our “family” alone by random freelance work, so naturally I learned to present a good face to people. Maybe it’s about location: Moscow has a chronic shortage of programmers, and I never stop searching for talented junior people myself.
I was very surprised by this until I read the word “Moscow.”
Is it different in the US? I imagined it was even easier to find a job in the Valley than in Moscow.
I was unsurprised by this until I read the word “Moscow”. (Russian programmers & mathematicians seem to always be heading west for jobs.)
I took an internship after college. Professors can always use (exploit) programming labor. That gives you semi-real experience (might be very real if the professor is good) and allows you to build credibility and confidence.