Most developers learn through trial and error. It’s a part of the journey from junior-level developer to intermediate, and onto senior level. But, that doesn’t mean you have to learn the hard way.
Even as the technology built for making the development environment a little less clunky has improved, young developers are still going to make many of the old school mistakes that their predecessors did before them back in the dark ages.
As the n00bs on the team, your fresh developers still need to establish their own systems for avoiding basic pitfalls. So how do you help lead them past some of these common and painful mistakes?
Here are a couple face palming mistakes that your youngsters should try to avoid if they want to push off an early burnout.
Back up your work now! I’ll wait… til you have backed up everything like you should have been doing from the start. This one can be a real nuisance. Common to beginners, forgetting to back up your work is a massive mistake that the sage developers have learned the hard way not to make. Provide your team of coders with an automatic backup tool from day 1, but don’t “forget” to remind them to save or backup their hours and hours of hard work. In the end of the day you will be the only one to blame.
Even if their computer shuts down, gets stolen, catches fire, or any another major disaster happens, all their work should still be safe if they have backed up frequently. You should provide the option of using Google Drive or Github for safer, backed-up versions of their code.
Maybe they don’t know how to make a good estimate in general. Or just they provided a quick estimate but didn’t stick to it. As a new developer in an industry that lives by deadlines and all nighters, they will be asked daily to provide an estimate on the time it would take to complete such a task.
We recommend that your new developers factor in more time than they will need for a task. Provide your new developers the opportunity to estimate a realistic amount of time that it will take for the task. Tell them not to sell themselves short, but not be greedy either by tacking on too much valuable time. Eventually your young padawans will learn to guesstimate better through getting it wrong the first few times.
Picture this, after your team has worked for weeks to perfect your latest feature, it goes live and your team move onto the next project. The next day you are welcomed with a long list of bugs that make you scream to yourself, “Why me? Why didn’t we debug this?”
Debugging is an important part of the process that can take seconds to days to fix.
Don’t freak out just yet. The good news is that bugs are common for developers. In fact, even the best-written code can have them and they can be fixed. The best defense against bugs is a good debugging strategy. Instead of wasting countless hours trying to fix a problem that can’t be solved, understand why it happened. Start by reproducing them. What they uncover will give you and your team a better idea on how to fix them moving forward.
The solution that’s worked best for us at Mend has been integrating our code review solutions into Jira, our issue tracker. When a bug is found, a ticket is created, automatically starting a remediation process with an assigned owner.
When we started testing our Jira integration a while back, during testing we checked to see if there was an improvement in the time it takes us to resolve an issue. We were surprised to learn that a simple integration of Mend into Jira reduced our remediation time by 35%. As a result, we decided to integrate additional systems like SonarQube and Checkmarx to Jira to ensure that once an issue is detected, a ticket is created under an assigned owner and time is not wasted on delegating responsibilities.
Long before you became a team leader, there was someone who cut you a little bit of slack and showed you the way. Now is the time to pay that margin of error forward. Accept the fact that the more code your young programmers write over time, the more mistakes they will generate. That’s just simple statistics.