I occasionally give a conference talk. I’m not a professional DevRel person, and the whole community doesn’t know who I am – so at the beginning of these talks, I usually put a “Who I Am” slide. This is the content of the slide from my library design patterns talk:
Who am I?
- Engineering Manager in Azure SRE
- A maintainer (not the author) of Moment.js
- JS Foundation Representative to TC39
I suppose that to some this slide sounds ‘impressive’ or whatnot – the big tech company, well-known open source project, and standards committee. But I feel as though I should delete everything there, and just put this:
Enterprise Software Developer
I put things like ‘Engineering Manager in Azure SRE’ on my slides because the community responds to those words, finds them interesting, gives them respect. Maybe they think I work on ‘cool high scale distributed systems’ – and I do. Understand though, at the end of the day, my team makes line of business software to help quickly mitigate incidents in the cloud. We’re enterprise software developers, and we keep your application running.
Now, ‘Enterprise Software Developer’ is a term that is met with disdain by some people. People hesitate to use it in job descriptions due to fear it will drive away candidates. Writing ‘enterprise software’ is just plain ‘uncool’. People want to work on ‘high scale distributed systems’ or ‘languages and frameworks’ or at ‘startups’. We venerate people who work in these spaces, and follow them by the thousands on Twitter. Enterprise software is seen by many as what people do when they aren’t very good or interesting. They say it’s ‘not a hard technical problem’.
And yet, I love it. I love understanding business requirements and translating them into code. I love the people I get to interact with and the complexities I get to unwind. I find it challenging. I can see that it’s a skill that I am specialized in – not the work of a lowest common denominator developer.
What about the whole thing with the standards committee? Isn’t that languages and frameworks?
Sometimes I joke and say that I’m the ‘local idiot’ at TC39. There’s a grain of truth to that one – I’m surrounded by people with a much stronger understanding of the languages problem space than me. People who are much deeper in the tools. People with academic backgrounds I can’t even begin to compete with, and IQs that are… staggering. I’ve never written a lexer, parser, or compiler in my life, and have only a fuzzy understanding of how do to it at all – so I stand out a bit in this crowd.
Yet, even among language geniuses, the skills of an enterprise software developer are needed.
It turns out that most people on TC39 have not sat down and written line of business software in years, if ever. And yet TC39’s target user is usually enterprise software developers. So I get asked a lot of questions – about user expectations, how young developers learn, and what the practical cases for a feature would be. A lot of proposals have example cases from the HR software I used to write.
Do I add as much value as others on the committee with more domain expertise? Certainly not. But I add my own unique value – as an enterprise software developer.
I am an enterprise software developer.
I translate business requirements to code.
I’m damn proud of it.
It adds value to the community.
It keeps the cloud running.
It is what most developers actually do.
So, if you’re an enterprise software developer out there who feels ‘uncool’ or ‘non-technical’ – as I have many times in my life. Nah. You’re awesome. Your software runs the world. The world knows it.
And if you’re a developer who puts down that ‘enterprise software’ stuff – consider how hard it is, and how much value it adds. It’s keeping your product up and running on the cloud – right now.