Two ASM developers working in their craft.

Fix Hiring and Train a New Generation

Jon Daniel
Chronic Build Failure
4 min readAug 9, 2016

--

Discussions about how to “fix tech hiring” and “improve diversity” are becoming common at tech conferences, developer meetups, and tech-focused social media. We’re constantly discussing how to fix our industry and stop people from falling out of the pipeline, and frankly I don’t think we’re making much headway. Yes, we have gotten slightly better in getting more underrepresented groups into tech, but that only addresses part of the problem. Higher education and code schools or both are still required in order for people to even get a shot at a programming job, but it doesn’t have to be that way.

Developing software is a craft. It isn’t something that can be learned in a week, a month, or a year. It takes many years or even decades to perfect and it is a career that requires one to constantly grow and improve. Getting stale is practically a career-ending misstep or a path to maintaining a legacy system maintenance until you retire. While we are working towards this unending goal, we should also take the time to train the next generation of programmers who will one day take our place.

Lets bring back PAID apprenticeships.

Apprenticeships have a long history in various forms of human industry and are a win-win for all parties involved. Master craftspeople gain cheap labor in exchange for spending time mentoring young people, while these young people gain valuable experience that will help them further their careers.

How do we do this? I have no idea! However here are some thoughts.

Start accepting apprentices around 15 or 16 years old and have them work for 3–4 hours a week, depending on local laws. Give them fairly basic tasks at first but slowly start trusting them with more important work. Give them “homework” in the form of books or blog posts to read. Ask them to give a 10 minute presentation every few weeks on what they’ve learned.

Occasionally, give them a task that will stretch their limits, you might just be surprised! Build up their confidence with the easy stuff and then put them to the test.

Once your apprentice turns 18 and finish high-school or gets a GED, offer to bring them on for 30–40 hours a week. After some time they may gain a better insight for their craft and can be promoted to do more important work. The whole time they are still an apprentice and can still rely on you for help and guidance. They’ll need you now more than ever, they are committed, this is their job.

Two or more years later, maybe less depending on performance, they can either be promoted to a Junior Developer or find employment elsewhere with assistance from their Mentor. Now they are a journeyman and can start getting to the meat of their career. You have trained them well!

Impacts on Education

College and Tech Schools may be taken out of the equation, or a mentor may encourage apprentices to attend community college for liberal arts, philosophy, science, math, etc, so they can get a more broad sense of the world. Tech companies can even make deals with local community colleges to feed in students or find people to work as apprentices. This could possibly include tuition as part of their stipend.

Higher Education may not like this, but they will be forced to consider going back to their roots of “knowledge for the sake of knowledge” and help to stop the trade-schoolization of College. Yes, trade schools will still exist but they are often up-front about expectations.

Some career paths in tech will require a Bachelor’s or Masters Degree, but not all. We can teach plenty of people how to become solid software developers without an expensive college education.

Note: I highly recommend that everyone take a handful of liberal arts classes at some point in their life, for credit or not. Learning more about everything will help you in unexpected ways. Watching a lot of Crash Course (https://www.youtube.com/user/crashcourse) is acceptable too. ;)

Benefits to Society

Apprenticeships would allow underprivileged individuals and young adults who are searching for meaning to find a career without having to take out massive loans for higher education. It gives people who weren’t a “computer genius” a chance to get their foot in the door with the tech industry. If they try for a few months and realize they don’t like programming, they can just walk away and look for something else. Hell, we can even do this kinds of apprenticeships for Ops, QA, UX, Product, the list goes on and on.

This will allow us to bring “fresh blood” into our field and help give us a fresh prospective as different groups of people will enter the job market. Our industry creates so much wealth, it is time to give back to the community and think about getting the next generation up to speed. Let’s face it, they are the ones who will be cleaning up our garbage! 😃

They’ll think of our Rails, Django, and Phoenix apps the way we think of J2EE, Perl, and COBOL. Don’t get me started on how they will probably view Javascript. 😉

If you or your organization is thinking about trialling a program like this then please let me know on twitter at @binarycleric or email me at [twitter handle]@gmail.com I’d love to help you spin up or get status updates.

Thanks to Colin Dean for proofreading.

--

--

Software Developer. Supposedly Professional. Others fret, hesitate, calculate, and pontificate. Like Winnie the Pooh, I just am.