Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Coding on the Side as Therapy

DZone 's Guide to

Coding on the Side as Therapy

What do you do when you're in a managerial position and miss working on the front lines?

· Agile Zone ·
Free Resource

I haven't "written code" at work in any significant way for years, and this doesn't look likely to change. It's a good thing: I believe in full-lifecycle product ownership. If I can't design it, test it, deploy it, troubleshoot it, and carry the pager for it, I shouldn't be coding it. But like anyone else in this position, I feel the loss of deep technical work keenly. What to do?

I've been in the workforce for more than 30 years now one way or another, and during that time I've performed a lot of different types of work. For the first decade, it was mainly hard physical labor. The next stint was service work (hotel housekeeping, cashier, and so on). I followed this by deep focused creative and problem-solving work: studying at college, programming, and writing. Then I changed careers into mostly management and leadership, with brief forays back into creative problem-solving.

It's the creative problem-solving part of my brain that has felt the most atrophied over the last few years. Being in "let's go" mode activates very different cognitive processes. So does being in task management, planning, and "follow-up and follow-through" mode. It takes a long time to settle down, get out of that, and reawaken the state of flow needed to solve complex problems. By "a long time" I don't mean the 15-30 minutes that experts mention when they talk about the cost of multitasking. I'm talking about weeks. Actually, in my more recent experiences, more like six months has been necessary.

So I've done some coding on lightweight side projects to help stay more balanced. They're contributing to my overall ability to be productive, but they're not work projects, and nothing at work is dependent on or affected by them. Nobody has to "fix" something that I've gotten started and handed off, and nobody has to be on-call for any of it.

The easiest example is the Hugo theme that powers this site, Story. As I developed my own theme to meet my needs, I decided to separate it from my site for a few reasons.

The first reason was so I could open-source it and contribute it to the Hugo community. I have found over the years that building things for others is its own reward. By doing this, I was setting myself up to be a lot more motivated and interested in what I was coding, and to derive a lot more sense of connection to others through the work.

The second was to create a cleaner separation and more opportunity for others to see the code itself. By doing this, I was encouraging myself to do quality work and take the extra time to polish off details that others would benefit from and appreciate. The anticipation of this added a lot of pleasure to the coding itself.

The third reason was to add it to the Hugo theme directory. This would give me an opportunity to not only build the theme, but to build a companion site that would showcase its features and possibilities. I knew that taking the time to show the value of the work I'd done would increase that value, and the motivation I'd get from it.

I won't overemphasize the nature of the work itself: it's just a website theme. It's not pacemaker control software. There's nothing particularly difficult or advanced about it, and I'm not an expert and there are so many things that could be improved. But even in building a website theme, lots of little stuff happens:

  • I spent more time using a terminal.
  • I refreshed and improved my knowledge of Git.
  • I had opportunities to adapt my old website to the new theme, meaning that there were some pleasurable but mindless tasks like cleaning up lots of old posts to fix issues with it.
  • I had to relearn CSS, which is far different from when I used it in the early 2000s, and other related technologies like Less, as well as new ways to use old technologies, like Tachyons.
  • I had to relearn JavaScript, which also has changed slightly from the days when I was an early adopter of PrototypeJS. Now there's JQuery! My, how fancy.
  • I learned about lots of fun things like Go templates and more about typography.
  • I worked around constraints like Markdown's lack of support for image styling. Working around limitations is one of my favorite things to do.

When you put all of these things together, I think it's safe to say that I warmed up some of the brain cells that had lain dormant for a while, didn't cause anyone any grief, and brought a lot of joy to myself by contributing something that other people have found valuable and pleasurable. I call that a pretty good win-win situation, and a great way to get some neurons connected again. At least partially as a result of that work, I've been able to transition myself out of "manager mode" to a more flexible, easygoing way, where I have access to more of the richness of my many different ways of being that I previously enjoyed.

Topics:
agile ,leadership ,programming ,software programming

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}