When I thought of being a software developer, I thought of writing features. And I do write features. But as both the newest and most junior member of my team, one of the ways I can contribute is by freeing up the other developers to have more uninterrupted time to work on their own features. This means handling some of the day to day bugs that come in so they don’t have to. This means ops tasks. This means sleuthing through the logs to see what caused a timeout.
I don’t want to be a support engineer. I don’t want to be a DevOps engineer. I don’t want to be those things forever, but I’m finding that doing pieces of that work, alongside my feature work, has its benefits for now. Partly because I’m learning, but heck, I’m having fun too (It’s like a quickly rewarding/sometimes frustrating puzzle + scavenger hunt. What’s not to love?). Through doing this work I am:
- Engaging with diverse parts of the codebase. I’ve touched more pieces of the codebase than I would have if I’d only been driving out new features. Each piece adds to my understanding of the ecosystem and speeds up the development process, because next time I’ll know where to look.
- Learning how to test. I don’t necessarily mean writing automated tests, though that’s part of it — support for testing in Django isn’t as robust as it is in Rails, so there’s been a learning curve there. There are bugs that affect some users but not others. There are pieces of the code that depend on external libraries like SSO or Salesforce; I had to learn how to integrate with those in development and staging environments. And so on.
- Getting a feel for the code. This has been the most ambiguous and hardest to describe side effect. But like people have writing styles, so too do people (and companies) have coding ‘styles’. Things like naming conventions, organization of code and logic, even when and how comments are written. I’m lucky to work in a place that practices rigorous and thorough code reviews, and it is interesting to see how the feedback my pull requests get on these style issues becomes less as I internalize these norms and get them right the first time.
So if you, like me, are early in your career, I’d encourage you to not turn your nose up at this work, even though it is more likely to go unrecognized. There is so much to be gained from doing it, and it won’t last forever. None of us stay the most junior people on our teams for long!