This is a follow up to Bill's Starting a Software Company Outside a Software Hub. One of the problems he identified is the lack of experienced developers. This is a two way street, because as an experienced developer in the area, I worried about the lack of software companies.

There's no lack of jobs for an experienced developer in Western Massachusetts, but I wanted to work for a company that sells software, not as an internal developer (I have done both and much prefer the former).

The problem outside of a software hub (especially in a more rural place like Western Mass) is that we're spread out and don't know each other. Here are some things that worked for me

  1. Attend developer group meetings. Find and attend user group meetings, even if they are not in your specialty. When I lived in NYC, you could find a user group for any specific technology you wanted to study -- when you don't have a wide choice, just pick whatever is conveniently located. When I was working in 100% Java and C++, I attended .NET meetings -- some of it was applicable to what I was doing, but most was not. Even so, I met a consulting client and a future employer by going to those meetings.

    It's a good idea to network generally as well.  Join LinkedIn or get involved in local groups that you're interested in. When the market is sparse, you need to make contacts and hope to find connectors that seem to know everything that's going on (or become one yourself).

    If you can't find any of these groups, you might try meetup or creating your own.

    And be an active member -- prepare a presentation, help to organize the meeting, etc.

  2. Use Job board aggregators: I set up searches in SimplyHired and Indeed because they aggregate jobs from the major job boards. I would suggest using their RSS feeds on the search results page. In fact, any job site that offers this feature should probably be added to your feed reader -- craigslist and Joel's job board both have these.  With Joel, it's even more important, because he publishes the number of developers with a search open in an area so advertisers can gauge the size of the market for their ad.

  3. Diversify your resume. The first job I found out here listed Java, PHP, Perl, HTML/Javascript, C, and PL/SQL as requirements (and you really needed them all). At Atalasoft, we look for C/C++ and either Java or C#, but we also like ASP.NET, OO design and Digital Imaging (does this sound like you -- click here).

    It's a good idea anyway, but you need to expose yourself to a lot of different technologies because there are less opportunities in any particular one.

    Also, as fun as it is to play around in Python, Ruby or Lua -- make sure you know what the market is around you, and what they use at the kind of jobs you are looking for.  Internal IT and web consultancies are more likely to use these new languages -- companies that sell software have to stick with what's easy to deploy -- Java, .NET, PHP (for web applications), and C/C++.

All of the other advice about getting a job apply as well. There will be fewer opportunities, so you want to give yourself the best chance.

  1. Be aggressive. Write a cover letter, even if they don't ask for one, follow up with thank you notes, use connections. Obviously, don't be a pest, but show interest in the position if you're interested in it.

  2. Work on your other skills. Software companies value developers who have non-development skills. Developers who are great communicators are in short supply, so practice presenting and writing. Learn about other aspects of the software business: marketing, sales, even accounting, and learn to think strategically about software.

  3. Tailor your resume to the position. Make sure that the skills you have that are mentioned in the ad are easy to spot and are elaborated upon. No point in wasting a paragraph describing a job or skill that the company doesn't care about -- better to make sure that the things they want are noticed.