Investing in our industry's future with company-sponsored learning
There's a growing problem with our industry: companies only want to hire senior engineers. The problem will compound over time as companies continue thinking that way...until we reach the inevitable end.
What's wrong with only hiring senior programmers?
Only hiring senior programmers is hard
Senior programmers tend to have well-paying jobs with companies they like. You'll have to woo them away - and it will cost you.
Only hiring senior programmers is expensive
Unless you have people banging down your door to work for you, you probably will have to hire a recruiter. Recruiters typically charge 10% of the first year's salary if you hire someone. So if you hire someone through a recruiter at a salary of $100k/yr, you owe the recruiting firm $10k on top of that. That goes for every hire you make. That's the financial cost - you also have the time cost of interviewing all the candidates the recruiter sends your way.
Only hiring senior programmers is exclusionary
It's no secret that the software industry is dominated by white men of privelege. I don't have the numbers to back it up, but my gut tells me that the talent pool gets whiter, more male, and more privileged as you move up the experience scale.
Only hiring senior programmers is unsustainable
If you only hire senior programmers, then junior programmers never get the opportunity to learn and grow into senior programmers. Eventually the senior programmers retire, or die, and the talent pool of senior programmers shrinks with nobody to replenish it.
"But Pat! Growing junior programmers is hard, and costs time and money, and we don't know if we can sustain it. What do we do?"
I have an idea, based on responses I've been getting to RubySteps the past few days. Here's an example email exchange:
I love what you’re doing with RubySteps! I’d love to join, but I’m afraid I can’t afford it because of (some reason). However, I propose that if you give me RubySteps for free/discounted, then I will (some potentially valuable thing). Please let me know what you think!
Prospective RubySteps Member
Dear Prospective RubySteps Member,
Thank you for writing in! I totally understand where you’re coming from. I have a counter-proposal:
- Make a list of 5-10 companies that you want to work for
- Pitch them on sponsoring your membership, fully or partially
You can make an agreement to intern there, or work there, or whatever you come up with in exchange for their investment in your future - and theirs. You made a great pitch to me, so I know you could make a great pitch to a company you want to work at. I have no doubt that at least one of those companies will be delighted to connect with someone as creative and resourceful as you.
p.s. with your free subscription, you will still receive code examples each weekday and one full lesson each week!
Now, I actually think that's a killer idea, but so far, ZERO people have replied to me about it. Hopefully they're off writing their 5-10 companies so they can join RubySteps.
For the junior (or future) programmer
If you're looking to level up your dev skills, then try my advice: make a list of companies you want to work for, show them your plan for learning and how you will be able to contribute to their business, and ask them if they will pay for your education.
For the business looking to hire programmers
Take a look around: not too many senior devs available, are there? And they don't grow on trees. Where do they come from? Actually they don't come from anywhere - senior programmers are just junior programmers with more training and experience. If you want to hire senior programmers, then take responsibility for it and find junior programmers, and train them up. YOU DON'T HAVE TO DO IT YOURSELF. There is so much excellent educational material out there, that you can grow a fledgling senior developer simply by supporting their education.
Let's go back to the recruiting scenario from before: you pay a $10k fee to hire a $100k/yr programmer. What can $10k buy in self-directed education? Here's some stuff from a quick google search:
- Pluralsight PLUS - $49/mo or $499/yr
- Thoughtbot 1-on-1 coaching - $249/mo
- PragStudio Ruby - $179
- PragStudio Rails Level 1 - $179
- PragStudio Rails Level 2 - $179
- RailsCasts Pro - $9/mo
- Rails tutorial full package - $149
- NewCircle ROR bootcamp - $2375
- RubySteps - $147
The total cost? $6,892 - leaving you with change for a nice little signing bonus and a celebratory dinner when they join.
There's so much more stuff out there, too. I just grabbed a few that I knew of that had their pricing immediately available.
Given that you can pay for all that education for one person - and have a future senior developer that will probably love you - it seems downright stupid to me to pay recruiters for the privilege of sifting resumes for you. Also, have you ever wondered HOW recruiters sift resumes for you? If they knew anything about programming, wouldn't they be programmers? I'm sure there are some technically-minded recruiters out there but I have yet to meet them, and I've been contacted by hundreds of recruiters.
Teach people via mob programming, and in 12 months, you'd have a team of talented developers that already know how to collaborate with one another as well as other people. You'd have a team that is capable of solving its own problems, and learning what it needs in order to get the job done. You might end up with a team that performs as well as or better than the team you already have.
Don't want to wait 12 months? I get it. I doubt it would take that long, frankly, but I don't have the data for it yet. Look for my experience report to hit the web 12 months from now. Still, if you intend for your company to be around longer than a year, it makes sense to start investing in your future developers now. It will take 3-12 months before these junior programmers grow into talent that you want to hire, but if you keep doing this then you'll have a steady stream of programmers to hire. Most of all, you will help make this industry increasingly vibrant as the years go on. We need that.
The next ten years
The next ten years will be very interesting for our industry. Will we take responsibility for the health and success of our community, invest in our own futures, and grow the talent we need? Or will we continue to lament the lack of senior developers, while doing nothing to address the core problem?
I believe that company-sponsored learning is not just a cool idea, it's a critical idea. Companies have money to spend growing talent. $149/mo means less to a profitable company than it does to a single mom looking to learn to code. Do your company - and the industry, and motivated individuals - a huge favor and consider changing your thinking on how you hire. Consider growing senior developers instead of hiring them. Consider paying for education rather than for recruiting. Consider that there's only way our industry will have the senior developers it needs to produce the world's future technology - by starting with junior developers, educating them, and giving them opportunities to learn and grow.