Are you a good Ruby on Rails developer that loves to code? Have you published a high-quality, successful gem? If not, you may be making a mistake that could cost you as much as $100,000.
If this surprises you, there are three things you should realize:
Fact #1: If you can create a high-quality, successful gem, you are a top developer.
I have something very specific in mind when I say “high-quality, successful gem”:
- It doesn’t have to be well-known, but it has to be well-vetted. This means that a lot of people have found the gem useful enough to use in their production products. The gem should have a download count at least in the thousands, and there should be discussions in the issues section from active users.
- Solving an easy technical problem doesn’t prove anything.
- A good gem shows that you know how to test, architect, and document well.
- If it’s a Rails gem, it demonstrates that you know the basics of Rails.
So why would this be so important? Having a popular gem shows that not only can you code well, you have a sense for what problems would be valuable to solve and you can actually deliver something. It also shows something about how you work with others, since open source software is collaborative. You are basically giving a gold mine of information to a hiring manager.
Fact #2: Top developers can command significantly higher salaries than their counterparts.
As of November 2013, a quick salary check of available Rails jobs in the Boston area shows a spread of around $100k-$140k. It’s not a stretch to imagine that the difference between the Rails job that you do have versus the Rails job that you could have may be more than $20k, which over the course of five years is $100,000.
Fact #3: Even if you are a top developer, if you cannot demonstrate this to a hiring manager, you will undermine your ability to negotiate a high salary.
When someone is considering hiring you, these questions are at the forefront of their minds:
- Can they code well?
- Do they work well with others?
This forces the hiring manager to answer the question to “Can you code well?” in the less-than-ideal environment of technical phone screens and interviews. The less information that the hiring manager has about your skill, the less likely they are to offer you a job and the less leverage you have for salary negotiation.
How Do I Know Whether I Am Making This Mistake?
Ask yourself the following questions:
- Do I have the ability to create a high-quality, successful gem?
- Not everyone does. If you don’t have this ability now, don’t despair because you can still be very hirable. Publishing a gem may be a good future career goal, though.
- Would I enjoy using my free time to create a gem?
- Perhaps you’d rather spend your free time with your family or doing something that pulls you away from the computer screen and rounds you out as a person. You really shouldn’t spend your free time coding unless you enjoy doing so.
- Do I enjoy contributing to the open source community?
- If the only reason you’d publish a gem is self-promotion and career advancement, maybe it’s not a good idea as you’re more likely to abandon the gem in the future when the maintenance needs increase. Besides, doing things in the spirit of giving is fun.
- Do I work well with others?
- This can make your technical skills moot and keep you from getting a job offer. So if you’ve got trouble here, you might want to work on these issues before further advancing your technical skills.
- Are there Rails jobs that I could apply to that offer $20k more than I am making now?
- Keep in mind that this varies by region, with the highest-paying jobs in cities like San Francisco, Boston or New York.
If you answered yes to all of the above questions, and your GitHub account does not have a high-quality, successful gem you can show off, you’re likely making a $100,000 career mistake.
But Why a Gem? Why Not Some Other Activity?There are many other things you can do to help advance your career such as giving a presentation, writing a book, teaching a class, contributing to other open source projects or launching your own mini web app. It doesn’t have to be a Ruby gem. Publishing a popular gem is one of the better choices, however, since it proves that you can code well. Hiring managers aren’t left guessing; you are giving them hard evidence.
Not making your skills easily visible may be one of the biggest financial mistakes of your life, and you may not even be realizing you’re making it.
If you are applying for a job as a web developer, a successful Ruby gem is worth way more than years of experience, because years of experience don’t guarantee you can deliver working software.