Best Developer Career Advice Ever
Tagged: software thoughts work programming essay
There are two videos that have had a disproportionately big effect on how I think about my career.
Taken together, they come out to an hour and ten minutes; a pretty bargain when compared to how much they can change how you think about your job as a developer. I watched the first one, created in 2015 by Brandon Hays (@tehviking), about three times. I was about to give it another go when, while searching for it, I noticed that the speaker gave a second talk on the same subject. The second one is more refined so if you can only watch one - pick the second.
Both of these videos helped me understand where I'm currently at and what paths are open to me, where I stand relative to other developers, what kind of responsibilities I have now and which are coming up, what kind of guidance I can provide for more junior people, how to evaluate potential employers, why certain things happen in an organization, and much more. That sounds too good to be true, right? Go ahead, and give them a watch.
First video: Brandon Hays - Your Career vs the 4th Dimension: A Time Travel Story
Second video: Brandon Hays - The Long Strange Trip of a Senior Developer
Brandon presents a framework that helps with thinking about our careers as software developers. As I mentioned above, it breaks down a developer's career into skills that are grouped into several key areas. These areas are: connectedness, leaderships, and technical abilities. Connectedness encompasses things such as mentorship, OSS, honesty, and empathetic development. Leadership is about the owner's mindset, communication/persuasion, purpose, the "next right thing". Technical capability is comprised of curiosity, rigor/discipline, propensity to ship, and fearlessness. Some of these sound familiar while others need a bit of explanation, which the video provides alongside a concrete example for each skill.
This skill-matrix can be used to evaluate yourself, your coworkers, or a potential new team that's offering you a spot, and to figure out which areas you can "sell" and which need more work. It's really handy to have this kind of map because our industry has few truly senior people to learn from, which makes it hard to answer the question "what are you going to be doing in 10 years?"
The video touches on this subject, too. Many companies lack a clear career development plan for their developers - it usually goes like: junior -> mid-level -> senior -> (junior) manager. Other industries consider 10-15 years to be the time needed for a person to "wear in" - to gain a solid understanding of their area of expertise - and start doing things that push the whole industry a little further, even if just by a few small steps. That our industry lacks this can clearly be seen when you open Hacker News and see Yet Another New Framework That Does The Same Things As All The Others or the fact that so many software projects simply fail or that it's acceptable to forgo any testing for the sake of the thrill of flying by the seat of your bleeding-edge JS pants.
Finally, Brandon speaks frankly about some of his own problems and doubts as a developer. It's very enheartening to hear that someone else went through (and came out OK) the same crisis' as you have, especially the one about constantly questioning your skills or whether you even are a developer.