Dear new developer,
Recently, I had a conversation with a new developer who was trying to break into the job market.
While I’m always leery of giving too much job hunting advice to folks in this situation (after all, I wasn’t a new developer during this time, and things have changed a lot since I got hired for my first dev job), I still had some ideas on how to stand out. Here are the three off the top of my head:
- Contribute to an open source project.
- Take over and run a meetup.
Let’s take these each in turn.
Contribute to an open source project
While Eddie Jaoude did a great job of explaining the benefits of open source development for a career, the main benefit I think that new devs can get from open source is an understanding of an existing code base. If you help out with an open source project for any length of time, you’ll learn how to move around a codebase, engage with users, write documentation, read code that is crufty but works, and so much more.
Pick a project that is affiliated with a major project in the area you want to work in, but isn’t that major project:
- If I wanted to work in webdev and ruby, I’d pick devise or bundler, not rails.
- If I wanted to work in enterprise java, I’d pick mybatis or netty, not spring.
- If I wanted to work in data science, I’d pick avalanche or crypten, not pytorch.
By the way, I know nothing about pytorch except that it is a machine learning framework. How did I find out about avalanche and crypten? I googled and found this page.
Opensource is not a good option if you want in-person help, need money, or are still considering where you want to focus. Let’s look at some alternatives that might be a better fit.
Freelancing can be difficult to get started with, but it does bring in money. Freelancing is where you bill clients as a contractor, for work done, rather than be hired. The barriers to entry are much lower.
You can start by using communities like upwork (though you’ll be competing world wide, with commensurate pay), asking around for people you know that need software apps or websites, or approaching companies that you are interested in working for and seeing if they have contract work.
This is a great way to:
- Build an appreciation for everything a business provides to a developer (finding clients/customers and billing them being two huge benefits).
- Practice your listening skills.
- Make you pragmatic. When you are getting paid by the hour, you will learn to make tradeoffs around code quality vs delivery timelines.
- Let you meet other freelancers.
- Make you less secretive and romantic about money and a job.
- Give you a BATNA when you do finally get an interview.
If you are going to do this, you can moonlight if you currently have a job. Otherwise, plan to have a fair bit of savings before things get started.
This is not a great fit if you don’t want to sell, because you’ll have to find folks to sell your labor to.
Help run a meetup
There are a ton of meetups out there. If you are interested in meeting local folks working in a given technology field, joining and volunteering to help run a meetup is a great way to do so.
To do this, I’d:
- Determine an area of interest.
- Attend a few meetups. Offline is best, but online works.
- If you find one you enjoy, attend for three or four months.
- After that, ask the organizers how you can help. Common tasks include setup/breakdown, finding sponsors, finding speakers, updating the meetup site, publicizing the meetups, and running it.
- If you are given a task, go above and beyond and make sure you complete it when you said you will (or before).
This is a good option if you aren’t sure what you want to focus on, as you can dabble in meetups all you want. You can probably find a local or online meetup every day of the month. It will also give you experience talking to developers of all different talents and interests. Make sure you write about your experience running the meetup on a blog or twitter so that any prospective employers can see your skills. And if you are working with a meetup, feel free to talk at it too. Building a presentation will help you learn and stand out.
This is not a good fit if you are in a hurry or you aren’t a people person. It’ll take months to pay dividends, and that may not work for your needs. You’ll have more fun if you enjoy the people you are bringing together.
Hopefully these three ideas will give you some guidance if you are a new developer looking to stand out as you hunt for your first, or next, position.