You have just hired a great developer with a lot of potential, but they don’t seem to understand what’s most important. You know they’re capable of great work, but how do you get consistent performance? How do you get them engaged and aligned? How do you get them to communicate and collaborate well?
You have tried to train them on best practices and team communication but it doesn’t seem to be sticking. Maybe you need to try a new format or a different source of material. Or, maybe you need to rethink your company’s culture and how you treat development on a broader level.
In this article, we will take a look at how you can avoid these situations and amplify the effectiveness of new hires beyond standard developers to *10X developers*. The key is reframing how you think about best practices and shortening the feedback loop to ingrain them in your new hires.
What Are Best Practices?
Best practices are techniques that are widely accepted to be correct or most effective. For example, most developers are familiar with the SOLID Design Principles and it’s generally a good idea to use them when building applications in object-orientated languages, like Ruby.
The most effective best practices are rooted in principles. In many ways, best practices are like training wheels for good software development principles. Once you start using them day-to-day, you realize their benefits and start using them on your own without the need for specific rules.Best practices are like training wheels—once you start using them, you learn to do them by habit. Click To Tweet
Rules also have exceptions. By understanding the principles behind them, it’s easy to learn when it’s appropriate to break the rules. This level of understanding is what sets junior developers apart from mid- and senior-level developers—they know how to apply the rules based on the spirit of the rule.
For example, a common principle of software development is Don’t Repeat Yourself (DRY). You could interpret this as a rule and avoid all code duplication. But, suppose you create abstractions and helpers all over your test code—it would be completely unreadable and doesn’t offer any performance gain.
A developer that treats DRY as a principle, rather than a rule, realizes that there are edge cases where code duplication isn’t necessarily a bad thing. Test code may contain some duplication, but if it makes the intent of the test obvious, then it could be a trade off that’s worth making in the long run.
How to Teach Best Practices
Feedback loops are the single most important factor to help developers learn and follow best practices. By identifying and correcting mistakes quickly, developers associate the problem with the solution, and best practices will start to stick with them. It’s important to have tight feedback loops early on.
Pair programming is a great a way to help inexperienced developers adhere to best practices. By creating an immediate feedback loop, developers can quickly understand where they went wrong and make the necessary changes on the spot. It doesn’t take long for these lessons to become ingrained.
In addition to pair programming, code reviews are a great opportunity to show developers where they went wrong and how to improve. Automated tools, such as Rubocop in a CI pipeline, can immediately point out mistakes, while Agile-style code reviews can provide more context to the problem and solution.
The way that you develop software can also help adherence to best practices. For example, we use test-driven development (TDD) in our Ruby on Rails workflows, which makes many SOLID Design Principles a natural decision. The Rails framework also encourages many best practices based on its inherent design.
The last piece of the puzzle is culture. If your company’s culture is focused on relentless execution, then you might not be leaving enough time for a developer to say, “I don’t know”, and learn. Cultures that value work-life balance and continuing education tend to adhere to better best practices.
Cultivating 10X Skills
Pair programming, code reviews, frameworks, and processes can help inexperienced developers quickly get up-to-speed with best practices and start contributing high-quality code. But what about going beyond “knowing how to code” and teaching these developers how to consistently produce real business value?
We developed the 10X Dev Academy to help software developers become more effective and productive. Most aspiring software developers take computer science courses at a university or attend a code school to learn how to code, but there’s a big difference between knowing how to code and delivering value.
It takes aptitude, attitude, and experience to create a great developer. But you also need exposure to the right ideas, processes, and training to move quickly ahead. Our course covers topics that most code bootcamps, schools, and employers avoid—skills that help developers truly amplify their productivity.
We help developers:
- Manage their time effectively
- Better align decisions to business value
- Polish communication techniques
- Provide technical leadership to their team
If you’re like most employers, you don’t have training programs that cover these vital skills that convert standard developers to 10X developers. Even a 10 percent improvement in productivity could generate tens of thousands of dollars in value. That’s what makes this course such a great opportunity.
We recently launched the 10X Dev Academy for individual developers or teams of five or less. Our goal is to help your team fill the gap between “knowing how to code” and delivering real value for your organization, while instilling best practices along the way. At the same time, your team can gain valuable career skills to become happier and more effective developers for life. Sign up today and receive the first lessons for free!
If you’re looking to fill a skills gap on your development team, you may also want to consider our team augmentation services. Contact us for a free consultation.