Tips for better delivery cycles with better output and a happier team

Engineers understand that software needs constant care and feeding to avoid inefficient delivery practices. Stakeholders expect timely delivery of their new features and capabilities, and can get frustrated at long delivery cycles. As engineers we need to be careful not to become a feature factory, and be mindful that some software anti-patterns could be at play, killing efficient software delivery.

In this blog I share six common software anti-patterns that are easy to recognize, and some tips to avoid them. They are a combination of behavioral, organizational, and architectural anti-patterns. …

All APIs are not created equal


In 2002, Jeff Bezos sent all Amazon employees an email that mandated all teams expose their data and functionality through service interfaces. In this email, his closing sentence said “ Anyone who doesn’t do this will be fired. Thank you; have a nice day! ” Fast forward 17 years, and the API (Application Programming Interface) economy is now in full force, with companies like Amazon, Alibaba, Facebook, Google and Expedia making new business opportunities off these capabilities. But not all API’s are created equal, delivering varying benefits and value to different consumers. …

Engineering resilience into your applications and services

If you search for DDoS (Distributed Denial of Service) attacks online, you will be surprised at how common they have become. 2018 saw the largest DDoS attack to date on Github at 1.35Tbps; fortunately, it only affected availability of their service for around ten minutes. The Danish Railway was less fortunate when a DDoS took out their ticketing system for two days, affecting around 15,000 commuters.

There are many companies with services and software designed to combat DDoS attacks and protect your site. However, relying solely on these companies is not enough. Especially against an application layer DDoS attack, where…

Part 3 of 3 — Owning your high tech destiny in the new world

Engineers must develop a deeper understanding of human behavior when building the software of tomorrow. From self driving cars to digital assistants, learning human behavior may not necessarily be top of mind for most engineers. In my first two blogs we looked at how rapid changes in technology, including Artificial Intelligence (AI) and Machine Learning (ML), have evolved our software careers as we once knew it. In this final installment, I aim to show you why having a better human understanding is becoming very important, and give you some ideas on how to get started.

Photo by Filios Sazeides on Unsplash

Learning software is no longer a guaranteed path to success

It wasn’t very long ago…

Part 2 of 3 — Owning your high tech destiny in the new world

My youngest son was sitting on the couch playing a game on his iPad. I asked, “What is the name of that game?” He replied “Slither.io and I am playing AI mode”. Interested, I asked him, what is AI? He replied, “I am not sure what AI stands for, but I am not playing real players, it’s like a bot, they control themselves, no one really is playing, its the computer.” In part 1 of this blog series, we saw the evolution and speed of which technology has changed, influencing engineers of today. In this blog, we’ll explore how machines…

Part 1 of 3 — Owning your high tech destiny in the new world

Just over 20 years ago, software engineers were building business applications deployed on desktop computers with thick clients. Java was 3 years old, Netscape was the most common web browser, and Amazon was a 3-year-old online bookstore. If you had a fast internet connection at home, it was most likely powered by a 56kb modem leveraging your home phone line. The recent evolution of technology has changed how and what we work on, faster than most realize. Today, technology powered by Artificial Intelligence is now impacting our everyday lives and careers.

This three-part blog series aims to help you take…

John James

Engineering leader @Expedia Group. Solving customer problems with technology. Opinions are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store