Typical onboarding processes for junior developers are disorganized and ineffective. They leave junior developers stagnant and senior developers overwhelmed.
Junior developers are often directed towards a random assortment of video tutorials designed to help them ramp-up with a new technology. Unfortunately these give student the illusion of learning without much practical value.
If you're lucky enough that your internal documentation is comprehensive and up to date, odds are it wasn't written with a junior developer in mind. Having them read documentation to ramp-up is ineffective and leaves them feeling worse than when they started.
Bug fixes are believed to be a low-risk way to get your new developers acquainted with the codebase. Unfortunately this often leads to them working exclusively on bugs and gives them feelings of isolation from the developers who are doing real work.
Senior developers mean well when they say this, but juniors quickly learn it's not always true. The reason for this is lack of time. Seniors are expected to onboard new developers while also keeping up with their normal workload.
Typical onboarding leaves junior developers with hours of unproductive time each day. This not only wastes company money but it also leaves junior developers feeling undervalued.
When asked to rate their confidence with the technologies in their company’s tech stack on the day they were hired, the average junior developer we talked to rated their skills a 3.5/10. Without meaningful, deliberate onboarding and training curriculum, junior developers feel technologically helpless. Working on minor bugs, reading random articles, and hopelessly searching Google for hours does little to build their skills or their confidence.
When junior developers feel helpless and unable to add value, they often begin to experience feelings of self-doubt and imposterism. Over 80% of the junior developers we talked to reported feeling intense imposter syndrome in their first year on the job. Research indicates that imposter syndrome disproportionately affects underrepresented groups (which might contribute to why most companies have a difficult time retaining diverse talent). Typical onboarding does little to address these crippling feelings and often even exacerbates the problem.
A senior developer's time is one of the most precious commodities a software company has. When onboarding a new developer, the senior developer is still expected to push the same amount of code while also taking on the large and important role of training and mentoring the new developer.
Senior developers are great at writing code; it's what they've been trained to do. When they take on the responsibility of onboarding new developers, their role also becomes an educator and mentor, two things for which they probably haven't been trained.
Typical onboarding processes often demand far too much of the senior developer's time. Mentoring and training junior developers is a gratifying process, but one that could benefit greatly from a more streamlined and effective approach. Senior developer's time is one of the company’s most precious assets and should be allocated intentionally and judiciously.
The problem goes away if you only hire senior developers. Unfortunately you're not Netflix and finding senior talent is competitive, time consuming, and expensive.
If you're self disciplined, online courses are great. The bad part is they're one size fits all. Your developers will learn, but it might not be the right technologies for the job you need them to do.
In an ideal world you have the resources to find and hire a full time educator to build your own custom onboarding system and mentorship program. Unfortunately, this option often isn't economically viable.
Ignorance is bliss. If you're not convinced of the problem yet, go and talk to your recently hired junior developers.
There are three aspects to an effective onboarding strategy: Technical skills, Practical skills, and Cultural skills.
Technical skills are the foundation of success for a junior developer. In order to build that foundation we leverage our highly-rated course material to create a high touchpoint technical onboarding experience that is customized to your company’s tech stack and the needs of your junior developers.
This is foundational to our educational pedagogy. In order to progress throughout the program, developers must show mastery of each phase of the material. This prevents knowledge gaps and allows them to be as prepared as possible when they're finished.
Assessments allow us to know where each developer's starting point is as well as how they progress throughout the program. It's these assessments that allow us to follow a mastery based learning approach.
Each week we provide your organization with progress reports on each developer so that you can monitor and provide support throughout the process.
Your developers will have a channel to seek real-time help if they get stuck. This saves your senior developers time and provides a safe place for juniors to get assistance.
At the end of each day we schedule a video conference with your developers where they can ask questions and get help with the material covered that day.
Technical skills are what allow your developers to write code, practical skills are what allow them to ship it. Ironically these are the topics often most neglected in your developer's education.
Your new developers can be technically able but still struggle if they're confused by your company's workflow. We'll help them bridge the gap between the technical skills they learned in school and how your company actually ships software.
If this is their first software job, odds are your new developers aren't familiar with the normal tooling software teams use. Whether it's Github, Jira, Jenkins, or any other service, we'll make sure your developers know why they're needed and how to use them.
Whether you have a style guide or not, odds are there are rules for how software is to be written in your organization. We'll make sure those rules are clear to all your new developers.
Cultural skills are what give your developers meaning by allowing them to see how they personally fit and thrive in the overall vision of the company.
Core values are what support the vision and shape the culture of the company. It's vital that new developers have a fundamental understanding of how the company was started and the core values that drive decision making.
Most junior developers we talked to emphasized a frustration with not knowing where their work fits into the bigger picture of the company. By creating a product map that spans teams as well as internal and external products, we can alleviate this pain point while painting a clearer picture of your organizational structure.
We’ll work with you to create a custom-built mentorship program that maximizes value for both junior and senior developers. This stream-lined approach saves senior developers time while helping them to make a tangible impact on junior developers
Part of being successful as a new developer is knowing who you should go to based on what problems you're experiencing. We'll work with you to create resources so your new developers never run into this issue.
As companies grow they tend to develop their own custom vocabulary to describe different aspects of the company. Though it seems small, this is an often overlooked barrier to entry for new developers. We'll help bridge the gap by taking a deep dive into the custom vocabulary you take for granted.
|Mastery Based Learning|
Your developers will only advance to the next topic when they master the previous topic. This ensures when they're done with the program, they've mastered the material.
Before advancing to the next topic, your developers will receive hand graded assessments to test their competency and get feedback.
Weekly individual progress reports so you can keep up with your developer's progress.
A channel to get real time assistance.
|Daily Office Hours|
Live daily office hours to ask any question related to the day's material.
|(Private) Daily Office Hours|
Private, live, daily office hours for your developers to ask any questions related to the day's material.
|(Private) Real-time Assistance|
A private channel for your developers to get real time assistance.
The gap between the technical skills they learned in school and how your company actually ships software.
Any tool you use internally to ship software.
Rules for how software should be written in your organization.
How the company was started and core values that drive decision making.
A map of your organization's products. Gives the developer insight into how their code fits into the bigger picture.
Custom mentorship programming to ensure your developers continue to progress even after they're onboarded.
|People to Know|
Insight into who your developers should go to based on what problems they're experiencing.
All companies eventually develop customized language to describe products and teams. We'll help demystify that for your new developers.