What if the role of the software developer is not actually about writing software? What if the most important thing I can do today isn’t to write a sweet recursive function that delights and confuses the next human that reads it in equal measure? As our industry has matured, the roles of technical staff in an organisation have changed. Increasingly, companies require that technical folk interact with customers. Some people like this. Some don’t. Let’s have a brief chat about the opportunities and costs of this happening and what that might mean for your progression through the industry and your life.

R E V E N U E

Software developers, and technical people of all stripes, for that matter, have the same role that every other employee in the company has. Solve problems for customers that customers will pay for. Do so sustainably, do so responsibly, and do so ethically. All of our roles exist to bring value to the customer and bring value to our teams. That’s it. Spoiler, that’s the essence of the entire article.

It’s important to note that I don’t mention writing code. We’re not talking about APIs or Microservices. Databases? Design? Don’t care. These are tools that we use. The same way that Vic on the social media team uses short-form content to inform folk of the value their company brings. Just like we collaborate to build a marketing website or a CMS. Just like the fine folks over in finance, we make sure we can be sustainable in the value we bring to customers so that we can continue to work away at those problems.

Increasingly Customer Focused

It’s no accident that over the past few years, as a collective, we’ve focused on bringing back-office functions forward. Even five years ago, sitting in front of a customer to talk about something I’ve built would have terrified me. What if they don’t like the software? What if they noticed that bug I couldn’t fix in time? If you haven’t ridden the “Oh no, they’re on the page with the column that’s three pixels out” roller coaster, are you even a thrill junkie? They didn’t even notice that side of the page because they were focused on the cart.

Getting back-office staff (technical or not) out in front of customers has driven innovation and improved the quality of the products we create. The empathy that we feel for our users has grown. I used to have a CEO that said, “I don’t need to pay for design staff because we’re a monopoly. Our users will use our software anyway, so it doesn’t have to be good; it has to work”. Inspiring stuff.

Ultimately, with any for-profit enterprise, this comes down to money. These techniques produce better outcomes for the humans that pay for them. Better solutions mean more revenue, better retention, and so on. On an individual level, I like to think that we here care more about the people involved than the dollars. We here are deeply passionate about producing something extraordinary that improves people’s lives, but I may just be projecting!

Getting out in front of customers, engaging with other parts of your business and generally getting away from your desk a bit more brings opportunities.

Being close to the customer reduces rework. If you know well what people want, it’s easier to identify that we’re building the wrong thing or that the thing is being built in the wrong way.

Talking to customers is also a great way of getting early feedback, and the benefits of more rapid input in the software we make are well known. It’s easier to stay aligned as a team, and it’s easier to work with product and design folks because of that alignment. Being close to the customer is like greasing the wheels that way.

Is career progression important to you? Being close to the customer cultivates trust with the broader business because you’re not just those speccy folks that want to talk about RAM and AZURE. You’re the people closest to the customer. You demonstrably care about and advocate for your customers. Those above us who make decisions about us and our careers will see and reward that.

AFK

This brave new world does bring challenges. The big one is time management. Time away from keyboards is valuable - but there are already reasons for us to be away from our desks. Meetings are the most common complaint. Reviews, plannings and refinements. Sitting with stakeholders, sitting with customers, general admin. Sometimes it feels like we already spend more time talking than doing work.

It can be pretty demoralising if you measure your productivity or worth by lines of code or the number of releases. Lifting your head and treating time away as an investment in creating better (if fewer) outcomes can help with that. Better still, judge yourself by the impact you make, not by any technical metric.

Parting Thoughts

The next five years are looking good for us. We are people who produce solutions for customers through code, and in that space, demand will exceed supply for quite some time. With trends like DevSecOps, we’ve seen teams of specialists turn into cross-functional teams. With design thinking, we’ve seen groups of people who previously thought they had nothing to do with a customer’s experience realise that we all have an impact. That impact might be a workflow in an app or the pricing model we sometimes inflict on users. Self-sufficient, sustainable product teams are becoming more common. Business people who in the past didn’t have a lot to do with the software are becoming more involved, and groups of technical folk are gaining access to more institutional knowledge, better links into the business and faster feedback loops.

So what do I say in parting? You are not the code you write nor the technical solution you create; that is immensely positive! We’re seeing people begin to value us as complete humans, not as mechanical turks running on undersized EC2s that produce software. We’re seeing that the IT Crowd is now a comedy show and no longer a manual on what to expect from technical staff and how to treat them. With that comes leverage for us, personally and professionally. Think about how that leverage applies in your role and use it! Use it to get better outcomes for the people you create for and better results for yourself!