From Bash to Buddy

Continuous Integration and Continuous Delivery have become a staple of any competent software house. They have become the lifeblood of the team and the engine that drives changes out into production.

Modern CI/CD solutions are all singing, all dancing masters of delivery. They come packed with useful, funky features. Yet, it’s easy to forget that the origins of CI/CD were very humble. This article is a high-level look at how CI/CD has changed over the years, to give a perspective of the direction of travel.

In the beginning…

In the early stages of continuous integration, build “pipelines” were nothing more than simple scripts.

#!/bin/bash…


How I Tripled my Income and Grew a Business

Image for post
Image for post
Photo by Marvin Meyer on Unsplash

Blogging has become commonplace amongst engineers. Everywhere I look, I see engineers expressing themselves on Medium, DZone, InfoQ and more. What is it that makes blogging such a fantastic pursuit for software engineers?

Everyone is interested!

Right now, the whole world is scrambling for new software engineers. In case you didn’t notice, the golden age of being a developer is now, at this moment.

Engineers use blogs as a source of useful information, but your audience will be made up of hundreds of different professions. People looking to retrain, engineering managers, project managers, product specialists, marketing specialists. …


It’s powerful but very temperamental

Image for post
Image for post
Photo by Patrick Tomasso on Unsplash.

If you’re using AWS for data transformation, you’re going to run into Athena sooner or later. Athena allows you to query data across multiple data stores, with a well-known SQL syntax (Presto 6.15).

With S3 as a storage solution, Athena promises to handle the complexity of a huge database for you. Serverless compute and storage means an entirely serverless database experience. All you need to do is know where all of the red flags are. In this article, I’ve listed some of the situations I’ve found myself in over the past few months.

Partitioning Is Non-Negotiable With Athena

When you’re writing out your data into AWS Glue tables, there should be one word at the forefront of your conversation: partitioning. Partitioning instructs AWS Glue on how to group your files together in S3 so that your queries can run over the smallest possible set of data. …


What do your values say about your company?

Image for post
Image for post
Photo by Frank Vessia on Unsplash

When is the last time you read a set of company values and knew what that company was about?

I don’t mean superficially. I’m not talking about the industry they’re in, or how many employees they have. I mean, you got a sense of their mission, their goals, and their targets. Are they an optimistic company, or do they plan for the worst? Conservative or reckless? Do they design twice or do they cut once and learn as they go?

At Upside, we’ve been thinking long and hard about our values.

Your values codify the essence of your company. They’re your signature, your imprint. They are the shortest possible description of who you are. Tell me, when you see a value like this, what do you think? …


Common problems when scaling AWS Glue

Image for post
Image for post
Photo by chuttersnap on Unsplash

A few months ago, we were set a challenge: to process a large volume of data, coming in 24 hours a day from hundreds of different sources. After a few weeks, we got our software running in production. It was a big moment for us but it was also an opportunity to reflect.

I realised that there were some issues that were slowing us down. They ranged from architectural decisions to hidden implementation details about AWS Glue. …


A Corporate Fable

Image for post
Image for post
Photo by Mitchell Luo on Unsplash

Somewhere, in LiveLaughlove Inc…

“Our first corporate value is….”. Paul, the Regional Director of Maritime IT and Logistics, paused for effect. He held his well-manicured hands in front of him as if calming a baying mob of eager students. What is the first corporate value!? he thought he heard them scream.

An unbiased study of the crowd would barely detect signs of life. Each person glared aimlessly into the middle distance, waiting for this man and his ridiculous job title to disappear. Don’t get me wrong, some were paying attention, just not to him. …


Open up a whole new world of coding with these unlikely skills

Image for post
Image for post
Photo by Joshua Earle on Unsplash

Writing great code is more than just writing code over and over again. It isn’t the exclusive right of greybeards to look upon their solutions and marvel. Yet, a pervasive idea in our industry is that one must have worked for many companies, over decades, before our code attains that all-important crown: clean.

I have been writing code professionally for five years. I’m miles away from greybeard territory, yet I’m proud of many of the solutions I’ve built during that time. Below are the basic skills that helped me on my way to writing those solutions. …


What is mob programming? How can we use it effectively?

Image for post
Image for post
Photo by Perry Grone on Unsplash

The pairing/mobbing debate often attracts extreme positions on both sides. Those who claim it always causes problems and, conversely, those who assert its immutable, inalienable value. I find myself at a loss with both sides of the debate. This is because I’ve found times when pairing and mobbing have been indispensable, but there have also been other times when they’ve felt awkward and out of place.

Instead, I’d like to reframe the debate in a familiar but often overlooked light. Pairing/mobbing are simply tools in your belt, useful for tackling specific kinds of problems. The trick is to work out what kinds of problems they solve. …


How to create a razor-sharp product backlog

Image for post
Image for post

A good backlog will change how your team collaborates. It shortens meetings. It creates a genuine shared understanding. If you get your backlog in great shape, you’re setting yourself up for success. A great backlog is a panacea of useful information and vision.

It surprises me to see how few backlogs are in good shape. Most often they’re a mess of tasks and half thought out ideas, rushed into some kind of “order” that may or may not be a priority. Worse, they’re detailed down to the bone. …


If something sounds too good to be true…

Image for post
Image for post
Photo by Franck V. on Unsplash

NoOps is a fascinating vision. Remove the operational overhead entirely. There’s no need to patch servers because there’s no need for any servers at all. Don’t worry about encryption, Amazon has a solution for you: It’s called KMS and it is the product of some of the most intelligent engineers in the world. Sounds peachy!

The grass is green, the sun bursts through the forest leaves and your engineers play merrily in the rolling pastures of your NoOps dream. They conjure up new solutions — poof, there they are. No need to patch them, they patch themselves. No need to worry about resilience, they’re mighty resilient all on their own. You can kick ’em, punch ’em, set ’em on fire and all you’ll get is a bigger bill at the end. We’ve solved it, guys! …

About

Chris Cooney

[‘tech’, ‘insane rambling’].map(category => new Article(category))

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