It was a cold wintery morning back in Jan 2017 — but this morning felt different for those engineers in the IBM iX London Studio. Whenever two engineers glanced at each other, they both knew something fresh and exciting was coming.
In the afternoon, engineers spread across our many product teams would come together for what would be the first of many successful Open Meetups.
What is it? Open Meetups are a great way to bring those in your craft together so that they can share knowledge, make new connections and have fun in the process — hold on, isn’t…
Over the last few months, I’ve had some fascinating conversations with a few colleagues and clients on the topic of craft communities — how to get them going, scale them up, get them ahead and improve engagement. Having co-found the IBM iX software engineering community, and helped clients establish vibrant craft communities over the years, I’ve seen the benefits firsthand.
These conversations have inspired me to share experiences as a mini series on the topic. To spice things up, you won’t just be hearing from me — I’ll be inviting a guest co-author to share their perspective too ;-).
I published my last blog post in 2017, approximately 4 years ago! I’m going to mark my comeback with something a little different, a little fun and spicy — 5 software engineering blips from 2031.
In Jan 2017 we, at IBM iX, were in the process of kicking off our first software engineer meet-up. I was given the ‘keynote’ slot to share some software engineering themes for the year for our community to start exploring.
I cobbled together and shared some ideas. Looking back through my sketchy notes, I had CICD pipelines for infrastructure as code, production-ready starter kits, containers…
My team have recently finished crafting our MVP product for a very special audience… *developers* 🏆. Our product is built by developers, for developers, combining practices like infrastructure as code, pipelines as code, microservice/microfrontend scaffolds/starter kits, reusable SDKs, information radiation, and containerisation. Developer experience is the new differentiator, right?
We had a kickass team of developers and designers across the stack who have all worked together previously, so we had awesome harmony and trust across the team. We were a truly empowered, self managing team, doing away the need for a ScrumMaster. …
Matt Dalton, VP Engineering, from Finimize and I wrote this blog back in 2015 following our experience of scaling microservices using a ‘sticker book’ approach. We never got round to releasing it, so here goes after a little touchup with another colleague, Donal Spring, who was also part of our team.
A short blog that Donal Spring and I paired on.
The bakery/delivery pattern can be established in minutes to automate the creation of immutable images (the bake), and deployment of said images to your cloud (the deliver).
Get your favourite automation tool to do all the hard work when a developer pushes to remote, whether this be Jenkins notified via your git repo over webhooks, TravisCI, BitBucket Pipelines, or GitLabCI. The pattern is tech agnostic, so get cooking!
Let’s tour the pipeline. Remember that you can plug-in additional stages to tailor to your teams preference.
a) Throw the ingredients into…
Microservices are great, but you may run into a duplication nightmare when it comes to your CI setup.
You’ll probably want to store your pipelines as code, meaning that you end up with a Jenkinsfile (for example) in each of your microservice repos.
However, if 80% of your microservices have a similar pipeline shape, there’s a simple pattern you can adopt to DRY the hell out of your CI setup.
Create a repo called common-pipelines, that contains a collection of reusable Jenkinsfiles.
The majority of software products I’ve contributed to tend to start with a couple of developers keen to get on with the art of making working software, whilst the rest of the organisation focus on the high level design. The daunting task of establishing the foundations of your product development factory falls into the hands of these two pathfinding developers.
I’ve been one of those developers four times round now, and would like to share my top three recommendations for large scoped software products where you’re going to have to scale.
1. People will always be your largest success factor
Views are my own.