← Back to Home

Importance of Language Policy

2026-02-01

I recently saw a reddit thread on the Golang subreddit talking about how a user rewrote an existing Python API gateway in Golang but no one really cares, plus they are the only person who knows Go so this sole person is getting paged for it. This got me thinking on a few things that I want to outline in this post.

Choosing a Language

Now I'm of the opinion that people should pick whatever language they want to use for personal projects. If Python gets you off the ground fast because you know Django, use Python + Django. Don't get bogged down with scalability concerns or because some person tweeted "Python Bad" for the eighth time this week.

What's becoming clear now though is that people often at smaller companies are just picking technologies they think might be better. Some may call this Resume Driven Development (RDD), I want Rust on my CV? Let's rewrite something in Rust. I think this is a mistake long-term, it opens up a whole can of worms.

The solution to this? Define a list of languages that everything must be written in, preferably with some kind of specialisation. I work in the financial industry, a lot of regulation actually means we have to have this list available as well as stringent documentation on our SDLC cycle. At my previous gig we went through the process of getting licensed in Japan and had to write a whole massive document on this. But for your five person startup? This document can just be a one page MD. For example, my ideal (not realistic) document would be:

As I said above, this is my ideal situation. My realistic one would likely look different! So let's talk about what you should consider when writing the above sophisticated document!

Available Skillsets

Now I picked Rust in my ideal techstack, however I would be unlikely to pick it in practice. Why? Developers. If we look at the Stack Overflow Survey for 2025 Rust is down at 14.5% for Professional Developers (which personally I feel is over representative of my local job market, London UK). Whereas for something like Java or C# it's up at 30%, giving me a larger pool of talent to choose from! In the end, as my business scales, I will find it easier to find talent and hire new developers. Some people will say Java and C# are not sexy, but unsexy pays. As an added bonus both C# and Java are actually good languages contrary to online discourse!

So with the above, what would my list look like? Genuinely I flip-flop day to day on C# over Java...

Cognitive Overhead

Now imagine my company has scaled to 3 developers, we run 24/7. Our on-call schedule means one of us is oncall a week, and we get paged. Imagine a setup where I've let Tom, Dick and Harry choose what they want for building? When I inevitably get woken up at 2am I might be going in blind into a techstack I'm unfamiliar with. Tom's written a new async-Rust API gateway using hyper but I was hired to write Python! A key-man risk has developed and Tom needs his holiday (and sleep).

Naturally as our company grows the complexity will also scale, but we as developers should do our best effort to reduce the growth as much as possible. Making everything look similar will help with this!

Decrease "No we should use X not Y" arguments

I saw a post somewhere (long lost to time) about a company moving from a fully Typescript setup and integrating some C#. When they decided on this they landed on two candidates, Java + C#. This was made by a small council of trusted senior engineers, it wasn't some company wide poll. In the case it was... likely the vote would have looked a lot different and they'd still be making that choice. If you have a set list of languages? You just pick the best fit from the list, which might depend on multiple factors! Easy! Yes some people might groan, but at the end of the day sometimes we have to do stuff we don't really enjoy.

Jeez... what a positive sign off there.

Closing Notes

I recommend this approach to anyone starting to scale! Note that I only spoke about programming languages in this post, but you can extend this everywhere! Databases, caching, pub-subs. If you only take one thing from this post, try and keep your setup as simple as possible whilst achieving what it needs to achieve. I'll put any edits below if I make them.

Edits