More than just slinging code

I like to think of myself as a coder of convenience. I often tell myself this work is just a means to an end – I am only coding till I can afford to spend the rest of my days lying in a hammock, drinking out of a coconut. But that’s not really true. If it were, I would be pursuing elite consulting gigs, or jumping from start-up to start-up on the hunt for unicorn stock options. Instead, after 15 years in the industry, I am working at a small, customer-focused company that turns a respectable profit building unpretentious B2B software.

The other day the owner, Per, asked me why I chose to apply for a job at Small Improvements. There were several reasons – not least of which was actually being able to talk about this sort of thing with my CEO – but I think my main motivation was because I wanted to help people again.

Getting older in a fast-paced industry

As a senior developer it’s easy to get into a bit of a rut. Every time a “new” library, language or paradigm comes along, you are cursed to reflect on how similar it is to stuff you already did 10 years ago, 5 years ago, last year. Unless you are excited by novelty – and many software developers are – it can start feeling like you are just solving the same problem over and over with arbitrarily different tools. I am not excited by novelty.

Of course, to be an excellent software developer you do need to understand the challenges that drive contemporary engineering trends. A key part of the work is applying best practices – and those will change as the workforce and the underlying technology changes. But for me, keeping that knowledge up-to-date is not fun – it’s work. So when an engineering manager at my previous employer gave me the “opportunity” to rewrite a REST API for the second time in as many years, except this time in yet another framework, I knew it was time to move on.

From support person to developer

When I think back to the jobs that I have enjoyed the most, I realize what motivates me is being able to use my skills to help people out. I didn’t have a whole lot of skills as a teenager, besides being good at computers. I started as an IT support person, helping data entry operators figure out their terminal emulator and finance wonks tame unruly CSV files. I was drawn to development when I discovered how rewarding it was to write little scripts and tools that made my colleagues’ jobs easier. I came to the conclusion I was better at building useful software than I was at explaining the quirks of other peoples’ software, so I started down the path of becoming a full-time computer programmer.

In my first “real” development job we were a small enough company that I often ended up on the phone with customers, trying to walk them through a problem. If it turned out they had discovered a bug, I would make some changes to the source code, recompile the application, then upload the latest binary to their server using Kermit over a 14.4 kbit/s modem connection. Half an hour later I could call back and let them know it was fixed. I got to know several individuals quite well, and via these calls was able to share prototypes and bespoke shortcuts that ultimately would help all our customers become more efficient at their jobs.

Today, thanks to the trend toward agile software development, that kind of process is encouraged and celebrated across the industry. But how many companies honestly live it? When was the last time you reacted to direct customer feedback and delivered a solution within days, or hours? At Small Improvements this is a regular occurrence, and it is my favorite part of the job.

Why do I work at Small Improvements?

In the past few years I have gone back to being a part-time computer programmer. Now, as well as writing software to improve my customers’ workflows, I am also a team lead responsible for helping my colleagues become happier and more effective developers themselves. The common thread for me is clear – I enjoy spending my time at work helping others to have a better time at their jobs. That’s why I work at Small Improvements. It’s great to be a developer in a company of this size, and to be creating business software that helps people grow and achieve more, wherever they work.