Sunday 30th April - Building Legacy


It's the end of April already and it feels like we're starting to hurtle towards the Longest Day. Questions for this week:

  • How's the job market looking?
  • When to use serverless rather than kubernetes?
  • When complexity is your lingua franca?

After a rocky start to the year I think that things are starting to ease up on the job market front for software and IT professionals. I see and hear positive signs around the place and as we're getting well into Q2 those projects aren't going to deliver themselves. If you're looking for a new opportunity then my advice is to keep plugging away.

I'm always looking out for the next interesting thing whether I have a job or not. This week I saw on the Rands Leadership Slack I saw that someone was hiring for a big US firm in Amsterdam. I had some questions - mainly I wanted to find out if I could stomach becoming an Engineering Manager again in a corporate. The value of this Slack is that you can ask these kind of questions and get throughtful responses from a variety of people in just those kind of roles across many industries. So quickly I came away with the clear answer that no, it's probably never for me again. While I love helping engineers and teams grow, I have a problem having to communicate policy which I'm not directly responsible for - and if I think it sucks it's going to put me in a difficult position.

That's why you really have to find a company who's ideals you can get behind - or at least aren't totally at odds with yours. Of course with a difficult job market, being picky isn't easy but I would encourage you to try to find a good fit rather than a so-so fit.

--

Last few weeks I've been settling into learning a new application. It's a kubernetes orchestrated microservices application that I think would be ideally suited to running on serverless. Why do I think that?

  1. It's already well integrated with API gateway/API management and other cloud first resources.
  2. It's a simple workflow type architecture with small, fast moving workers.
  3. There is minimal persisted data, lookups or enrichment.
  4. The front-end is already completely decoupled.
  5. Despite using an orchestrating abstraction layer, it already feels too complicated on k8s.

However, despite us hearing good things about serverless and it being simpler and cheaper to run - there's a speedbump in adoption. Are we addicted to complexity or afraid of a vendor lock-in that we're already kind of doing? Because if you're kubernetes cluster is highly integrated with a single cloud provider in terms of storage, API management, use of NoSQL for data integration and buffering - then aren't you already committed?

I would say that serverless or k8s development is the same level of complexity when building locally. I'm quite surprised that serverless isn't making the impact it should in lots of places but perhaps we're addicted to complexity? We like to show off our knowledge and having kubernetes in the mix is not only great for the CV, it's also another way that we can show our knowledge.

Last Tuesday I was at the Domain Driven Design NL meetup in Rotterdam where we had a workshop on Object Modelling. It was pretty clear from this little demonstration using CRC cards, that even senior devs often have a problem finding the right level of zoom for their architectures. It's opinions all the way down and often, we will default to complexity when faced with a programming challenge. Does complexity automatically mean that code will become harder to maintain, become legacy in the future? Something to consider...

I hope you have a good Sunday!

-- Richard


Are Relational Databases still important in the Age of NoSQL?

Published on April 26, 2023

Ten or more years ago, the IT world was in the grip of the big data hype cycle. Then we were told that unstructured data – data lakes and flexible querying would be the future. NoSQL databases were the way forward and relational databases were dead. Over the last decade, we’ve seen the situation become… Read More »Are Relational Databases still important in the Age of NoSQL?

Read more...

The Human Software

Software systems rule our world. My regular newsletter explores the human factors that make software engineering so unique, so difficult, so important and all consuming.

Read more from The Human Software
The Human Software 281 - When Does Change Happen?

Working in software you get to see some pretty stupid stuff. And I mean crazy, stupid stuff. Decisions that float down from on high from multiple disparate spheres of influence - sales teams, other business units or just vice-presidents with a Great New Idea[tm] or a pet project. The narrative goes a little like this - the important people get to make choices and us techies have to live with consequences them. Sometimes these decisions are on a whim, an industry hype, a desperate attempt to...

Human Software 280 - London Launch Party

If you happen to be in London next week then I'll be having a little launch party on Wednesday October 15th. It's not just any pub as well, it's the pub that I used to go to when I was working in my first job in software development thirty years ago in 1995. The famous "Wheatsheaf" just off Oxford Street in London. This was the pub where many conversations got technical and many times got heated. I feel that Peter and Dominic would approve of the location. If you're in the area, please drop...

Human Software 279 - Meet The Resistance

When I first started working in software, I discovered that were some battles you could win and some you couldn't. There were some decisions that no matter how logically you argued against you them, would occur anyway because that's just the way it is. Some people think this is a naive way of being; arguing against the status quo. I believe it's hopeful and humanistic to question our environment. Naivety in the form of hope lasts throughout life. I believe ultimately that people want to do...