Find or become a T-shaped developer with the 20% you need 80% of the time
You may be hiring a software developer; Or you may be a software developer for hire. In any case, you ask: What technical skills matter?
Although the specific answer for you and me is different, the general answer for both of us is likely similar. These two ideas should guide almost everyone:
“T-shaped” developers. Organizations tend to prefer “T-shaped” developers who have a “broad knowledge of the entire discipline with deeper specializations in a few areas”.
What are the few vital skills people need most of the time? This is the “20%”, and the smaller horizontal-segment of the “T”; and it’s the broad knowledge all software developers should have. For example, most projects around me use a few common tools: The tidyverse to wrangle, analyze, and plot data; Shiny to make plots interactive; Git and GitHub for distributed version control; and GitHub Actions to automate workflows.
Only a few projects – or parts of your projects – need deep skills. This is the “80%” that makes each person unique, and the longer vertical-segment of the “T”. In a team, it seems best for these skills to overlap a little and complement a lot. The little overlap helps people understand what someone else is doing; it also increases the TruckNumber of each project1. And the complement allows the team to handle a wide range of exceptional (parts of your) projects before the best option is outsourcing.
Let’s now combine these ideas in two takeaways for just about any team: