Redgate’s Technology stack is evolving. We’re still going, but we’ve already got some Kubernetes, a whole lot of TypeScript and even some Go and a growing number of MacBook's!

A few years ago, at Redgate you probably spent most of your time in Visual Studio, writing in C#, and screaming in frustration if you ever had to do anything in the UI (WPF / WinForms / knockout.js). Nowadays, well, let’s say we’ve modernized!

We’re evolving! (image from Johannes Plenio from Unsplash).

Let’s start with the “small”. We have migrated one of our earliest products, SQL Compare, over to use .NET Core. Not only that, but it’s cross-platform now…

Every so often, I like to dabble in a programming language to get exposure to a new way of thinking.

  • C++ introduced me to design-patterns (the classic GoF book) and the perils of memory-management (More Effective C++, Effective C++, Template Meta-Programming).
  • Lisp taught me the value of small pieces, little languages and (most importantly) macros.
  • Haskell showed me the virtue (and pitfalls) of laziness and showed me that higher-level abstractions can be super powerful!

It’s been ages since I picked up something new, so I’ve started taking a look at Rust. Why Rust?

Well, firstly it’s been gaining mindshare. Rust…

Ignore the title. Even if your eyes are attracted to the word “Lisp”, ignore that too. Paradigms of AI Programming (PAIP) is just the best introduction to data-driven programming that you’ll ever find.

By the time you reach Chapter 2, you’ll see the difference between a straight-forward solution (not extensible) to a problem and a truly data-driven solution.

The two versions of the preceding program represent two alternate approaches that come up time and time again in developing programs: (1) Use the most straight-forward mapping of the problem description directly into Lisp code. (2) Use the most natural notation available…

I’m really enjoying the Deep Learning course from Andrew Ng on Coursera. I’d highly recommend it! This article gives the insights I got (having done a bit of machine learning 20 years ago).

What did I know about roughly similar stuff years ago?

In a galaxy far away (about 20 years ago) I did a PhD in Computer Science. The half-baked idea was that everyone’s gait is unique; therefore, you can recognize a person by the way they walk. I wasn’t the only one to notice this, Shakespeare said this in the Tempest:

Great Juno, comes; I know her by her gait.

So, how do you recognize someone by the…

You’ve read a lot about culture (you might even have read The Importance of Culture) and now you want to change your culture.

How’d you do that? Well, long story short. You don’t.

To understand why let’s travel back in time to the GM Fremont Plant in 1982.

By Rain, Belinda, Photographer (NARA record: 8464467) — U.S. National Archives and Records Administration, Public Domain,

Here it is. General Motors Fremont Plant in around 1982. This was the worst car plant in the USA. General Motors was pretty bad at the time, but this place full on sucked.

Staff were routinely drunk on the job (screwdrivers meant the drink, not the tool!). There were even petty acts…

Why Culture Matters.

This is Air Florida, Flight 90, sat on the runway in Washington DC.

The crew of this plane were based in Florida and one thing you’ll know about Florida is you don’t often get weather like this.

Air Florida Flight 90

As they sat on the runway, the Captain and co-pilot began to work through through the checklist as they’d done many times before. As they do they are on (if you’ll excuse the terrible mixed-metaphors) auto-pilot. The exact dialog has lots of technical terms, so I’ll simplify greatly.

Does the plan have two wings?

Is the Engine Anti-Ice On?

Put simply…

For as long as I’ve been in software, there’s been talk of the 10x developer. These are the people you want to solve your problems; they’ll do it in 1/10th of the time, with 1/10th of the number of lines of code. They sound awesome.

But were did the term come from? Do they exist? And even if they do, would you want to be one anyway?

Coding War Games

Tom DeMarco and Tim Lister have, since 1977, conducted the “Coding War Games”. This is a public productivity survey in which teams of software implementors from different organizations compete to complete a series…

I was at the Software Leadership Summit recently, and one of the themes that stuck with me was the difference between project and product thinking. So what is the difference?

In the 1990’s, product releases demanded a schedule. Given the iron triangle, you can’t have everything. Time was fixed, so scope and cost where the levers that were pulled. This is project thinking; the role of IT is to serve the rest of the business and meet their deadline (them/us thinking in a nutshell!).

In project-based thinking, engineering is seen as a cost-centre. Development teams don’t produce value, they cost…

I recently read Steve McConnell’s new book “More Effective Agile: A Roadmap for Software Leaders”.

More Effective Agile

I’d sum up the book as “Agile — The Good Parts”. It’s a great survey of the techniques that work, those that don’t and some strong opinions on what bits you should adopt. Well worth a read!

The opening gambit sets the scene nicely by pointing out agile contrasts itself with something that never really existed.

“The Agile movement historically contrasted itself with waterfall development. …

I was lucky enough to attend Map Camp, and here’s my main highlights from some of the sessions I attended.

A brief introduction to Wardley Maps

Simon Wardley made his familiar point that maps are much better at strategy than SWOT diagrams.

Which would you rather have for battle? (

Most things we talk about aren’t maps. For example, a business flow “map” isn’t a map; it’s a graph. Changing the position of components does not change the meaning.

In contrast, in a Wardley map movement has meaning. The y-axis starts with the user visible value, and flows downwards to the constituent parts. …

Jeff Foster

Head of Product Engineering at Redgate.

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