View profile

Level Up - Issue #39

The conversation every CTO dreads... can we use X programming language instead of X? This is a topic

Level Up

May 10 · Issue #39 · View online
Level Up delivers a curated newsletter for leaders in tech. A project by Ideal for busy people such as Tech Leads, Engineering Managers, VPs of Engineering, CTOs and more.

The conversation every CTO dreads… can we use X programming language instead of X? This is a topic I was helping a technical leader navigate this week. In reality, tech stacks are always a mix of languages. JS for web, Python for ML, Scala if you use Spark. But it makes sense to provide some guidelines.
I look at this question by considering a set of extremes. I then reflect on what I am trying to optimise for which includes taking into account your company size. Let’s look at a two examples of questionable fit.
One bank I consulted with had 10,000 developers. I’m not sure why they needed so many but that’s a different story. I was in a meeting with 20 VPs across the business with this question about programming choice. They came to the conclusion everyone had to use C# for application development. 🤔 Compare this to another example of a startup. This startup had 3 development teams and 10 main programming languages. 😱 One optimising for consistency and reuse. The other optimising for (short-term) speed and developer autonomy.
Programming language choice is architecturally significant. At least for software that will live a long time. Choosing a different programming language is hard to undo. Imagine reversing this choice after 6 months. In choosing a different programming language, you (implicitly) choose different build tools, testing tools, libraries and frameworks. It also means more time invested learning good code conventions and patterns.
Good decisions consider these trade-offs based on your goals and context. That’s why there’s No Silver Bullet. There is no magic formula. But it’s a key responsibility of leaders to ensure timely decisions are made.
It may be helpful to share an article about N26, “5 Reasons Why N26 is Moving to Kotlin”, a tech organisation I was leading and some of the considerations and context we had when making this choice. It touches upon a little bit of the process about how we picked it too.
I hope you enjoy this week’s content. If you find it useful, please forward to someone else and send me feedback. Stay safe and healthy 🙏
Level up your leadership skills with better time management. Register for the new online course, “Time Management for Technical Leaders” from the Tech Lead Academy 🎉

Programming langauges provide a wide spectrum of choice
Programming langauges provide a wide spectrum of choice
Bye, Amazon
The Corporate Culture Gap
Looking Back on Four Years at The Times
A Message from Co-Founder and CEO Brian Chesky
When Every App Crashes
Book Review: The Unicorn Project
ICANN finally halts $1.1bn sale of .org registry, says it's 'the right thing to do' after months of controversy
Deleting data distributed throughout your microservices architecture
How one student curbed panic buying with the Pack
Organisation & Processes
Octoverse spotlight: An analysis of developer productivity, work cadence, and collaboration in the early days of COVID-19
Coronavirus Tech Handbook
Learning to work asynchronously takes time
How to go through a layoff
Top 100 Resources for Product Managers
How Our VP of Engineering Used Data to Support Our Engineering Team on a Human Level
Interesting tweets
A lot of truth in this tweet…
James Stanier
For engineers, writing is just as important as coding.

Writing helps you:

- Document your actions
- Gain consensus
- Crystallize your thoughts
- Debate respectfully and productively
- Pitch new ideas
- Increase your impact
- Improve your network
- Reach the wider world
Whaaaat? 🤯
I will let out a bit of a secret.

I have been running a full Amazon Web Services on a $5 Raspberry Pi Zero for ~5 years.

About 7 times more reliable us-east-1.

Millions of lines of JavaScript running flawless on a battery.

Tested an entire startup's JAMstack on it.
And here’s something to laugh 🤣 about to end the newsletter. Maybe you can see yourself, or someone you know saying it. 🔊🆙
Thanks for making it this far! 🤗
If you enjoyed this newsletter, please send me feedback and share with others!
If you’re interested in growing and supporting technical leaders in your company, get in touch about my “Tech Lead Skills for Developers” course or check out the Tech Lead Academy online course on “Time Management for Technical Leaders
Did you enjoy this issue?
If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue
Patrick Kua, Postfach 58 04 40, 10314, Berlin, Germany