Last week, I got asked “why did you decide not to be a developer” by a junior developer while we were pair programming. My first reaction was “I am a developer”. My second was confusion as we were writing Selenium/JUnit code at the time of the question. She was typing and I was the navigator. (In this particular pairing session, she was the driver for 95% of the time as I’ve worked with Selenium extensively and she had never used it before. The only times I drove were for a few “Java idioms” where I wanted to show how it was done.)
After I got past my first two reactions, I gave a far better response. Another teammate IM’d me to say it was a good explanation and I replied that it would make an excellent blog post. So here’s that blog post.
There’s different types of developers
I’m currently on a Dev Ops type team. We do tools and consulting to teams creating business applications. (usually web apps but not always.) I consider myself a developer. I write code. I deliver software. Sometimes that software is a standalone tool we wrote. Sometimes it is automation for an open source tool. Sometimes is it is customization. Sometimes it is automation of a task. Sometimes it is a requirement that the open source software doesn’t meet. But I write code regularly at work. I also read code regularly to troubleshoot open source code.
Frequency of coding on my previous team
On my previous team, I was a business/web application developer. Towards the end, I had advanced to the point where I was the tech lead and SQE (software quality engineer). And this was a decent sized team so it took up time. I spent a lot of team mentoring others, doing analysis, in meetings, etc. I didn’t code every day on that team, so typing code can’t be the measure of a developer role. Interestingly, the code I write on my current team is often harder/more technical than the code I wrote on my previous team!
First time idea of being on the dev ops team full time
A teammate floated the idea of me being on the tooling team full time a good number of years ago. At that point, I wasn’t even able to think about it. I needed the experience of being a tech lead/architect/whatever of a larger team before I was willing to “specialize”. So I understand the question. But it’s not a matter of not being a developer. It’s a matter of being a different type of developer.
My title is still developer and I’m still in a development department. That hasn’t changed. So my company thinks of me as a developer too. It’s just that our customers are now developers too while they used to be the business.
Programmer vs developer
This wasn’t in my answer, but I want to include it here. There’s a difference between being a programmer and a developer. We aren’t just boxes that take in detailed requirements and spit out code. That’s true on any team.
Finally, the good news is that she asked the originally question because she was impressed with my coding skills.