How can my friend find a job in programming?
February 15, 2011 9:44 PM   Subscribe

How does my friend overcome the catch-22 of needing experience in programming, but being unable to get a job because he doesn't have any?

He has an associate's in computer programming and is working on a bachelor's, but he can't seem to find any work in the meantime. He doesn't have any experience outside of college. Is there anything he can do that'll help improve his prospects?
posted by biochemist to Work & Money (16 answers total) 14 users marked this as a favorite
The answer is the same as it is for any job: volunteer somewhere just to get the experience. I'd recommend an open source project. Or he could roll his own blog software. Or he could simply build an app he sees a need for.
posted by Mo Nickels at 9:48 PM on February 15, 2011 [2 favorites]

Looking at your username, were you born with the skills to become a biochemist? Or did you learn along the way? Everyone starts somewhere, it sounds like your friend needs to get out there and contribute to any project, whether or not he gets paid. He probably needs life and work experience more than programming experience.
posted by santaliqueur at 9:50 PM on February 15, 2011

Open Source first and foremost.

Also - I see more work than I can handle volunteering at local non profits. PHP and Office VBA are always welcome.
posted by unixrat at 10:09 PM on February 15, 2011 [3 favorites]

Internship or open source or making an interesting web something that anyone can try out are all avenues worth pursuing. Does he have friends from college with programming experience? Maybe there's something they'd all like to make, and they have the down-time to do so?
posted by zippy at 10:34 PM on February 15, 2011 [1 favorite]

Best answer: Several things to do, in no particular order:
  • Take an internship. It may have to be unpaid, though many more companies are paying their interns a fair wage these days. I hate to say it, but (as your friend is finding out) an associate's isn't that compelling. Lots of people have full BSes and the economy…even the tech sector…is still recovering (albeit, tech is recovering faster than the rest).
  • Network. There are developer meet ups happening absolutely everywhere, find a local Barcamp, UX book club (or any other dev-related book club), [programming language of your choice] meetup, maker space, co-working space, etc. Check on Twitter for other developers in his area, Lanyrd for conferences (some are paid conferences, others are not, a lot of unconferences (like barcamps) list on there).
  • Contribute to open source development. Get a github account and start contributing to projects. Seriously, I know a lot of developers (who hire people) who would much rather see an active and good github profile than any resume or cv. While he's at it, it'll help give him experience working remote as well as working in groups of all sorts.
  • Get to know a local tech consultant contracting agency, but make sure they're not complete cocks. Don't just go onto Craigslist, the worst of the worst troll there. Make sure your friend vets any agency he finds through other local developers. The best agencies attract good and honorable talent and vice versa. While good developers may not work for good agencies, they'll know which ones are.
  • Don't stop learning. This one's a biggie, learn about project management, or ux design, or information architecture, pick up a new language.
  • Write, write, and write some more. If he hasn't, he needs to start a blog. Yes, everyone has one these days, but if he doesn't people are going to ask why. Will hiring managers read it? It depends on how many people are applying for the position, but if they like what they see, it's another point in your friend's favor. But more importantly, developers are communicators. Whether we like it or not, and no matter how often we sit around reading Clients From Hell and chortle to ourselves, the stuff we build is used by people, so if they don't understand our final product, we've failed at our job, no matter how hard or complicated a piece of code was. Start a Tumblr or Posterous blog (designers tend to like Tumblrs while programmers tend to like Posterous), the added benefit to those is that they're also deeply social, so if you write good stuff, people will start to notice.
  • Give presentations. You no longer have to be invited to a conference to give talks. To go along with the point on networking, talk about something interesting at an unconference or meetup. It may be harrowing at first, but we're all just normal blokes interesting in the same thing, so the audience is already sympathetic (or at least interested) in the topic.
We are in a weird industry where a 15 year-old kid can make tens of thousands overnight, by having a good idea, while others with decades of experience can become completely obsolete in months. But companies are hiring again and the pace is picking up fast in our industry. I don't know where your friend is, but if he's in Wisconsin, memail me, I've come to know other developers in area well.
posted by thebestsophist at 10:42 PM on February 15, 2011 [4 favorites]

nthing the recommendation to work on an open source project. If he's interested in web technology, that's an easy way to "piggyback" as well. Many companies choose a software platform, then look for developers who are experienced with it. Working on the project itself (either by building things with it or by contributing directly in the form of bug fixes and patches) gives your friend visibility with companies who have selected said software for a project.
posted by verb at 10:55 PM on February 15, 2011

Again with the working on a project. Whilst not strictly open source, I used to develop for vBulletin which I did after teaching myself PHP. At the peak of my involvement I was one of the chaps working on the first CMS integration projects on vBulletin 2, before vBulletin themselves took up the idea.
posted by dougrayrankin at 11:02 PM on February 15, 2011

Open source is great for this, but don't expect too much respect from companies in the US until he has BS or better. Unless he's got connections, and it doesn't sound as if that's the case, a BS in CS is needed before you're going to get an honest-to-goodness programming job. Having one is a good proxy indicator for a host of things companies are looking for.

If he's working on getting his BS, the university he's attending (should it not be some online thing) has a work placement or intern program of some kind. Use it -- and use the recommendations and relationships built up at the university. If he got good marks in some class, ask that professor for either a letter of recommendation in general, or counsel on this exact problem.

thebestsophist is right on virtually all points, but the penultimate one is the most important. Writing is thinking -- and that's fundamentally the programmers job. The problem here is that one needs more than just writing and self-criticism to improve ones writing skills -- feedback from other developers, both positive and negative, counteracts both self-aggrandizement and self-abnegation.

FYI, I've never heard of such a thing as an "associates in computer science" and would look askance at it on any resume I saw. Until he gets his BS, just call it an AS or AAS and be done.
posted by Exonym at 11:05 PM on February 15, 2011

Open Source as others have said; it's also possible to get started by doing small projects on freelance sites like elance, rentacoder, etc. The great thing about them is that you get to see what types of work is in demand and you can find projects that match your level of experience and available time - anything ranging from a couple of hours for a beginner programmer to a few weeks or months. Once you do a few good projects for an employer, it can easily develop into a full-time position, and even if not, at least you'll add a number of diverse items to your resume or portfolio.
posted by rainy at 11:30 PM on February 15, 2011

The great thing about programming is that it doesn't take any special equipment, except for a computer. Unlike, say, biochemistry, you don't need a lab to get experience in it.

Here's the thing, though. People in the programming industry don't judge programming skills by looking at a list of "official" things you've done, but rather by asking technical questions. The more programming you do, the more likely you are to be able to answer these questions because a situation will come up that you'll have run into that question in the 'real world'.

Open Source can be good, but rather then contributing to an existing project, your friend should try starting his own project. Just pick something that interests him and start coding - make it look nice. Think of it as an 'active resume'.

Another thing you can do is something like a 'software portfolio'. Just googling around I came across this one or this one

The other thing is that the best programmers are people who enjoy programming for fun. I started programming for fun in middle school, did all through highschool, college and continue to do so in my spare time (but not as much as before).

A good, and entertaining way might be game programming. Real time game programming is challenging and you have to learn to code efficiently.

it would help to know what kind of programming he'd like to do...
posted by delmoi at 11:59 PM on February 15, 2011

Nthing the open source project route. There are no shortage of people who will weight hiring decisions for programmers on the github profile; I'll disagree a little with delmoi on the "start your own", because of the things working on an existing project will demonstrate is that not only can your friend code, but they can use source control systems, and most importantly, work with others. A degree tells a prospective employer nothing about whether that's the case.
posted by rodgerd at 2:27 AM on February 16, 2011

Nthing "join an open source project." I agree more with rodgerd than with delmoi; working on an existing project shows the ability to work in a pre-existing ecology. OpenHatch can help your pal find suitable projects and tasks.
posted by brainwane at 4:35 AM on February 16, 2011

I work at a university campus. There are dozens of student programmers we hire with relatively no proven skills, because they're cheap, highly motivated and tend to leave after a few years anyways. If the institution you attend doesn't employ student programmers, take that as a hint of the degree program's strength and look elsewhere.

My suggestion is to apply for all tech related student jobs on campus. Don't worry that you're not earning quite as much, or that helpdesk experience dooms you to more helpdesk experience. If you get a programming job, great. If you have to take a computer job that doesn't involve programming, program anyways. Helpdesk, tech support, system administration, etc all have software needs that can be improved. Even if you're the only programmer and there's no QA, being able to say you wrote software to improve productivity that people actually use will put you above the other candidates the following year as the student programmer seniors graduate.
posted by pwnguin at 6:30 AM on February 16, 2011

He may be able to find something that's really IT but includes some programming/scripting that would be useful on a programmer-oriented resume. This is just a thought, though, I don't know for sure how much it would help.

The greatest thing I did for my career was do different kinds of supporting programming work in (graduate level) research labs while in college, some of it directly related to the field in which I then got a job when I graduated.

If he's at a research university, just start asking professors if they need help for projects, or find an REU office (Research Experience for Undergraduates, a grant program to pay undergraduates helping with research). If it's not a research university with a graduate department, he could try to work for the college doing IT or similar. As a student, it's much easier to get a job within the college or university.
posted by thefool at 8:10 AM on February 16, 2011

Make an account on GitHub, and start posting up code for personal projects there. Start contributing to opensource projects. My co-worker more or less ignores anything else on a persons resume if they look like they have a sincere interest in programming—and can actually code.
posted by chunking express at 6:04 PM on February 24, 2011

Also nepotism.
posted by chunking express at 6:04 PM on February 24, 2011

« Older Ze rrrrain in Spain...   |   How do I make high quality .gif images? Newer »
This thread is closed to new comments.