Getting a Job with the Skills Nobody's Paid You For

If you've picked up a language or development skill on your own time, it can be hard to sell that expertise to an employer. Here's two ways to do it.

This is an old question, but it's one that comes up at least once in every developer's career: How do I get a job using the skills or tools I want to use, if my current employer doesn't give me an opportunity to use them? I just found a variation on the question on a developer's discussion forum (edited slightly for clarity):

"I'm looking for work and am considering doing a sample website. What should I put in it to be appealing to prospective employers? Should it just be a content management website? I want to do the site in C#.NET to show I can, because my work experience is with VB.NET. I've been thinking about using modules from 'BeerHouse' done in ASP.NET 2.0, and dress it up in different CSS, but maybe that's trite."

This developer's example is .NET-related rather than Java, but obviously the technology isn't the issue. It's a question of selling yourself. And for that, I have some advice to share.

Primarily, the answer to the developer's question (or your question) depends what you want to accomplish. If the site is meant to be your Hello World project to teach yourself a new skill, and you expect to cheerfully make your mistakes in public, then it doesn't matter much what content you use.

But it sounds as though the developer who wrote that post is hoping to turn the website into a showcase of his skills to attract an employer and to demonstrate that he can use a technology that doesn't appear (yet) on his résumé — a desire that you might have, too. In that case I'd tune the site to the technologies (languages, Ajax, etc.) that you'd use in your ideal new job. (i.e. "In the best of all possible worlds I'd use the Dojo toolkit and...") If you're going to the effort, be sure the skills you display are the ones you actually want to sell!

However, employers often are dubious about "See, I can do it!" sites or projects. For good reason, I think. First, the employers know that in a "sample" site, the only arbiter of quality is you. You might be happy with the results even if the code sucks underneath and it's completely undocumented. Also, there's no guarantee that you know how to finish a project in that language, using that CMS, or whatever. That's fine for a "hello world" project but it doesn't demonstrate that someone else signed off — which would indicate that someone besides you thought this was good (or at least good-enough to say Yes to, presumably including a check).

If you want to demonstrate your non-résumé skills to a prospective employer, I have two suggestions.

First: Find a nonprofit or other local Good Works organization and volunteer to build their website. At a minimum, doing so is a healthy thing to do for karmic reasons; presumably you'll pick an organization you want to help. If nothing else comes of this, you will have helped an organization you believe in, and that's worth quite a bit emotionally.

Since the community organization isn't paying you much less setting any specs, you can use whatever tools you like, whether that's the latest CMS you've been wanting to pick up or a new programming language. Also, they can't hold you to a deadline. So, if you discover that the new language is ill suited for the task or that you have to rip it out and start all over, you don't have to make compromises. That is: You can diddle with the technology as much as you like, and nobody is going to stop you.

Since you can make the project scope as big or small as you're willing to take on, nothing forces you to supply every possible bit of functionality. I recommend under-promising and over-delivering; freebie clients have a way of being the most demanding! Alternatively, map out the project in phases. If you do get a job in the middle of the project, you don't want to leave the organization with a site half-done. (This might be a good time to develop your Agile skills, too.)

Yet, the resulting website can help you get a new job because you've demonstrated that you can work with the technologies, not just play around with them.

In most cases, you'll have a grateful organization and a reference to include with your job application. Plus, because it's pro bono, it's a good way to pick up the new skills and ready yourself for the next position while you're working at a job where you can't wait to hand in your resignation notice; it's not like your employer can complain about where you volunteer.

Don't be surprised if the volunteer gig leads directly to real work. Organization members just might say, "Hey, can you do a website for my company, too?" I wouldn't count on it, but those happy users may know someone and be happy to refer you or pass along your résumé. There's a reason people are always telling you that networking is a good way to find a new job.

This is important: Nobody has to mention that you weren't paid for this project. The new employer doesn't really care what your billable rate was; they just care that you can create a working site using those cool new technologies. If someone does mention that you did the work for free, it will be with expressions of "Oh how nice!" rather than "He did it for peanuts so clearly is desperate for work and will accept a low salary offer."

Aside from the technology exercise, working with the community organization also lets you show off project management skills, as you'll interview the users to find out what they want, design the application, and so on. That can't look bad when you apply for a new job, even if it's not your primary goal here.

My only caution is to think carefully about the Good Works organization you choose. If you aim to use the experience to get new work, you may want to steer clear of religious or political organizations. That doesn't mean you shouldn't help out your local church (because presumably you want to help those you believe in) but consider carefully if your choice could offend anybody. Why annoy your manager before you have the job, when it's so much more fun to wait until you're hired? If a prospective manager happens to be aligned with an "opposite" belief system — well, why hurt your chances? I think of this as flame war avoidance.

If you don't want to take on an entire project, or no nearby Good Works organizations appeal to you, another alternative is to get involved in an open source project that uses the skills you want to sell to a prospective employer. As with the local community support effort, you get the benefit of something to show off. However, you also have the opportunity to learn (and hone) the technical skills by working with other developers from whom you can learn. I wrote about this at length elsewhere, including how to describe your open source experience when you apply for a job, so I won't belabor the point here.

Either way, these are good options for any developer who wants to polish a résumé. Any hiring manager (at least the ones you want to work for) wants to bring on passtionate developers who are willing to do something extra to improve their skills, and the volunteer contributions are a great way to prove it.

You probably should follow me on Twitter. Because, y'know, you just should.

This story, "Getting a Job with the Skills Nobody's Paid You For" was originally published by JavaWorld.

Copyright © 2009 IDG Communications, Inc.