One month ago, I became Sitecore’s first ever Programmer Writer. It is my job to work closely with internal teams as a system or piece of functionality is being built and produce materials for the developers that will eventually use it – documentation, getting started guides, recommended practices, video, blog posts, conference talks, training, sample code, and more.
This job is perfect for me. I get to work with a smart, motivated, and culturally diverse group of people and have already learned more about enterprise system design than I knew in the first place. Every day is both fun and challenging, and whilst I will be spending quite a long time absorbing information, there will be plenty of opportunity to engage with the community once the project goes live. I’m essentially being paid to learn, write, and socialise – and I couldn’t be more thrilled.
Initially, though, I had two niggles – the title itself, and what it would mean to give up development as a job. I am sharing these personal thoughts for anyone that’s making a similar career choice.
Previously, I was a Technical Consulting Engineer – a title that I always thought was a little overblown, but it made me feel like ‘a techie’ when I introduced myself. Programmer Writer didn’t – at least to me – have the same ring to it. I even asked my co-presenter at UX Bristol 2016 to change my title back to developer on our slide deck! I have no idea where those feelings came from – no-one has ever questioned my techie credentials (at least not to my face, and if they did, it didn’t register), and Programmer Writer is widely used by Microsoft and other big companies.
Secondly, I was concerned that because I was no longer doing development on a day-to-day basis, those skills would become stagnant and I would struggle to do any ‘real development work’ in the future.
As it turns out, I was completely wrong about the second point – and I got over my title-related imposter syndrome very quickly after that.
For anyone considering a Programmer Writer role that is having similar thoughts, here is what I’ve learned in the past month:
- Effective technical writing is really difficult and not everyone can do it – remember that! You have to understand what’s going on from individual methods to broader system design choices, and be able to communicate that to a very broad audience. You must be able to predict where a person might stumble or misunderstand and cater for that eventuality.
- You are just as much a developer evangelist as a writer, and your team is relying on you to present their hard work in the best possible light.
- You will write code every single day, and often more interesting code than you did as a developer – particularly if you come from the agency world. You will read tests, debug, write samples, and become as intimate with the code-base as the people who wrote it in the first place.
- You will have the opportunity to take part in more system design meetings than you can possibly handle. You will learn something new in every single one of them, even if a particular design choice or technology is never implemented.
- You’re still part of a development team, and if it’s a very large team, you and the product owner will very likely be the ones with the broadest knowledge of the system – as well as the business drivers behind the big technical decisions.
- Your skills are transferable. In my experience, communication – within a team, across teams, with clients, with vendors – is ultimately what makes or breaks a project.
If I take on a developer role in the future, I am certain that my time as a Programmer Writer will be a huge asset. For now, I’m proud to be a Programmer Writer and cannot wait to share my team’s work with the Sitecore community.