Motorcycling Made Me A Better Programmer

Motorcycling Made Me A Better Programmer

I always wanted to get a motorcycle license – the small one that allows me to ride 125cc bikes seemed perfect to me. However that is a 2k investment, about as much as the „real license“ would cost – and then you suddenly sit there and think you’re too adult to ride a „small bike“. I just knew I would end up with a 10k bike that I couldn’t afford and wouldn’t ride much and always put that off for later ™.

And then, in a weird turn of events Germany introduced a law change that was actually beneficial – and allowed anyone with a car license to take a short course, spend about 700€ and get yourself rolling on two wheels that are actually useful, quick and ultra-fun.

And just as a side note between my new 125cc Piaggio scooter and my old S51 (a 50cc shifter bike) they did in fact make me a better, more focused programmer.

It made me code less

Programming is an incredibly loud industry in my opinion, one where you either try to stay on top of news or get swept away by the tidal waves within a month or two of inactivity. Suddenly there are new frameworks, new technologies and somehow AI is suddenly writing whole books – and your brain never stands still.

Coding more is part of the answer, coding less the other one. Finding the balance is crucial – and motorcycling did that for me. When you’re out on the road you may still think about programming problems you were trying to solve, work on digesting information you garbled up during the day – but nothing new will be added on top. You can just turn the throttle, head for the horizon and solve that week-long issue on your private project without even touching a keyboard.

In fact there was one time where I figured out pagination for my website CMS project, an issue that seemed impossible to integrate after the fact – and then I stopped the bike, took a note so I would remember it later and it took just one hour to implement everything and it worked exactly like I had mapped it out somewhere between my home and the Kiel-Canal.

It taught me debugging

Well, actually my cute little 50cc motorcycle (a 1987 Simson S51) did this more than my current ride that just won’t break – the Simson had cute defects aplenty.

Debugging is one of the things I wish someone had taken the time to teach me properly. My intro to debugging was „this is the F5 key, this is a breakpoint, mouse-over to see the value of variables at runtime. Have fun.“

However there is so much more to debugging that I’m actually surprised that nobody seems to have written a whole book on the topic. Here are some things that I directly learned from „debugging“ my motorcycle:

  • If you understand your system you can often times look at an error and immediately narrow down the source. If the engine does not start it either gets no spark, no air or no fuel – no need to check chain tension or tire pressure.
  • To build on that: Narrowing down the error before you even start is the most powerful time saver you have in your arsenal.
  • Properly setting break-points and knowing when to step into or over a function will save you tons of time. For example my bike had an upgraded electronic ignition that virtually never breaks so I did not have to „step into“ that with a voltmeter or iginition tester. That saved one third of the debugging process right there.

Motorcycling taught me the value of minimalism

At some point I got really fed up with my turn signals on the S51, no matter what I tried they would cause me grieve. They would not signal my turn, flash infrequently, turn on without me even touching the button – and of course they would keep flashing for a kilometer after my actual turn since there were no indicator lights anywhere on my handlebars.

So I did what any sane person would do and took them off, front and back, bulb and cable. Being a 1987 model I had the luxury of being legally allowed to do that, people back then had more common sense. All you really need to signal your turn is your left hand and if you turn right you can always use the left middle finger to announce your intentions. Or you know, you can just drive like a madman and take turns whenever you please, whatever works.

Related  Coding Problems That Google Can't Solve For you (and how to solve them instead)

To get back on topic: The bike worked ten times more reliably after that, I spent hours less on fixing the damned things and I never had an issue with a drained battery again.

I’m pretty sure that fancier people than me would call that a Minimum Lovable Product, I prefer to call it worky-no-broken.

It taught me the problems and benefits of legacy systems

I am one of those people who really enjoy working on legacy systems – and I really don’t like the people who use that as an insult and shroud themselves in superiority because they read a blog post on CI/CD and know what the abbreviation means.

Legacy systems have their quirks, traps, their drawbacks – and they have a whole ton of advantages to them. I like to summarize that with four words:

full control, full responsibility

My bike is mine, the bigger one has to take a bi-yearly inspection but as long as I can possibly prevent it no mechanic can ever rip me off on it. There’s an engine, wheels, a frame and a fuel tank, an ignition and a carburator. If one thing breaks it’s pretty easy to figure out what – and I have a good chance of fixing it with my own tools, own skills, by the roadside even. I know I did that quite often with my S51, the Piaggio has proven to be flawless so far.

In programming I am most afraid of problems I can’t fix myself because I do not have access. One of the main reasons that made me quit my current job was the newly implemented „security concept“ that took away control from individual developers to the point where I did not even have the privileges to create a Git repo without requesting access first. Each commit had to go through peer-reviews – and I was the only maintainer of my system so all this did was waste a lot of time and I turned out to be a third as productive as I had been before.

And that is something that just takes time and can be handled internally – good luck fixing a bug where your cloud-based CI/CD pipeline suffers from a nation-wide outage as Microsoft likes to do sometimes.

A couple months ago a single two-line JavaScript package broke half the internet when a wrong update was pushed to the package manager. These are things that you deal with when programming is pretty much reduced to clicking components together – you give up all control.

There is a middle ground between these two extremes and that for me is the sweet spot where programming is fun, quirky, where you have stories to tell by the fire about the weird bugs you fixed and awe yourself and others as you retell the complexity of a seemingly simple problem.

Motorcycling made me code more

I know I said just the opposite thing in the first headline, but hear me out. What I mean here is that getting a (125cc) motorcycle allowed me to sell my truck, shove off a huge responsibility and time suck – as much as I loved that truck it cost me a lot of time, money, effort.

I have now had the 125cc for almost a year and I have yet to truly miss the truck. Sure, I also changed my lifestyle and hobbies quite a bit to allow me this kind of saving, freedom and enjoyment – but I’m glad I did.

In doing so I save several hours each week, money that I would have spent on parking and the whole mental strain of keeping up with the maintenance.

And whaddaya know, I use a lot of that free time to write more code – only in a much more focused way. I got real serious about learning Python, automated a whole bunch of things (everything I automated in 2020 to save me hours of time) and just generally speaking I learned more this year than in the two before that.

Summary: Getting a motorcycle did in fact make me a better programmer

I hope I could bring across how a seemingly simple lifestyle change had a huge impact on my private and professional life, allowed me to think more clearly and sharpened my skills to a point where I am proud of the progress I made in the past year.

Related

Comments

No Comments Yet!

You can be first to comment this post!

Post Reply