Here’s the list of topics that I’d need to dedicate significant time to, in order to close the gap between me and the senior developers on our team, that I’ve encountered in my last two days of work:
- Breaking complex unknowns into simpler unknowns that can be further split into individual tickets
- Adding tests to complex, legacy code, to guide further refactoring of said code.
grepto comb through server logs to diagnose a hard-to-identify-and-reproduce problem
- Provisioning new servers
- Building bash scripts to automate complex workflows
- Digging into gem source code to can shed gem dependencies while maintaining certain features
- Understanding indexing well enough to see that certain queries that we thought were using indexes were not, and fix this oversight index on the fly, without causing any blips in availability
We should not target improving lagging indicators, we should improve leading indicators.
Rather than focusing on a list of things other developers have learned, and targeting that list, I humbly propose that a leading indicator of acquiring this kind of knowledge is “hours per week spent in a state of intentional deep work”.
Do more deep work, and over a year or two years, your skills will grow much faster than those doing less deep work. Eventually, you might find that you’re doing the work of a senior developer!