#100DaysToOffload Just Deliver

I had a hard day at work. It was hard, because I ended a streak of about three days, in which I was unable to work productively and today was the day in which I finally had to “show my work”. And then nobody saw my work. But now it’s lying there, out in the open, awaiting feedback. And I have to go into the weekend with a feeling of dread.

I’m a programmer by trade and a slow, but hard-working, explorative kind of person in general. I love to find out how things work, how they maybe could work better and how to make a system such that it can communicate well with the people maintaining it. Which means that I’d rather spend weeks reworking a legacy system, improving its workings and reorganizing and tidying up its architecture than implementing new features. So I like to do the work that is most often appreciated by other programmers - on a good day (most often people will not really notice … until they do). Keeping a system in good working order. Like a well oiled machine. Notice that end users or features are not necessarily part of that. It’s not like features are uninteresting or unimportant to me, but the how and the why matter to me a whole lot more. Especially the how.

However. Because I get payed for features or bug fixes on features and not for refactoring, removing technical debt or thinking about software architecture, I am not the best programmer for the kinds of tasks my company offers, sometimes, I’m afraid. It sucks to admit, but I am pretty slow, when just measured on delivered features compared to many others. The main reason is that I am unable, maybe also unwilling, to “just deliver”.

I assume that being able to “just deliver” - meaning without refactorings (e.g. to make especially gnarly code comprehensible for me and future programmers) or enhancements of the project’s setup (e.g. to configure an autoload feature as I needed to do today) - is the result of either not seeing the problems (e.g. maybe not being as experienced, yet) or being experienced enough to not care about the problems anymore (e.g. maybe by having had to navigate some portion of legacy code so often, that they just know where to look without the need to make the code more comprehensible).

But I see it everywhere at my work: The people who are good enough to be hired permanently (which I was, too, somehow …) all seem to possess something I don’t. I hesitate to call it more experience or talent. Which is not to say that I am perfect. I do readily admit that I totally have blind spots. And even where I feel confident, I know that I could still learn a lot more. And I also admit that my values are sometimes at odds with what is the bread and butter of my job: just deliver features. On time. Without too much back and forth, in acceptable quality (but nothing more, since nobody is able or willing to pay for it).

So what is it then that makes my colleagues better at this? I think it is a willingness to not care as much. That’s the “just” part of the “just deliver” motto. I don’t mean that derogatory, even though it sounds like it at first. If you are able to not care about technical purity you may be able to deliver faster. You may be able to overlook a less than ideal implementation to have a working version earlier - which can be a good thing.

Apart from being less concerned about technical quality, I think there is a certain soberness in most of my colleagues. No matter how difficult some code may be to read or how tight a ticket’s allowed time budget may be, they seem to be able to not need to reinvent how to do things all the time - like I seem to. They can keep their powder dry. They do not need to go over the top, whereas I seem to go over the top by the drop of a hat. Maybe a reason for this is differences in personality type, sure. But I think that it might also be a difference in approach, which is much more interesting, because I might learn to incorporate that approach.

I think the soberness comes from having somehow learned to respect lines in the sand. Like today (Friday), when I had to hand in part of a feature and a whole lot of refactoring and general enhancements of a new (to me) project that I was introduced to on Wednesday. Another programmer would have not done that. They would have been able to not even seriously contemplate the possibility to do what I did. They would have done a more minimal job, probably cursed a lot, probably complained a lot, but they wouldn’t have spent the better part of three working days delivering two thirds of a feature that was supposed to take around two hours. All the while having to come up with justifications to do so.

So yeah. Other people don’t do that. As much. I’m sure this is a spectrum rather than just extreme me vs. moderate everyone else. That I’m so dismayed by this, is that I might also be considered too old to not have yet learned this already (I’m 37, with more than 5 years of work experience). In one word: I might be too expensive, if I don’t learn to bend a lot more. And quick. That’s enough to make me feel bad. Since it’s the weekend without any feedback coming my way until Monday, the bad feeling is mixed with anxiety.

I can’t really tell how bad it is this time. With the recent worsening of the IT job market and the general worsening state of the economy, I’m extremely unsure of what to expect if this problem continues of worsens over the next 6 month, let’s say. I feel like wasting almost three days after having been repeatedly told since I have been part of the company to pick up the pace (not in so many words, but basically that), be more pragmatic and trying to make smarter choices about which way to take to deliver solutions, I feel pretty gloomy to be honest. I feel defeated by my personality in some ways. I don’t know how long this can go well.

I hope that I will catch myself in time, next time. And for the things that have already been done: I hope I find a way to navigate the probably coming, somewhat difficult discussions ahead. That includes discussions around basically ignoring what I was supposed to do for the last few days and booking my hours in sometimes questionable (if technically justifiable) ways.

One silver lining: There is a chance that the extra work is welcomed after all. I might still be gently scolded, but in some ways taking the time to come up with a better solution and thinking long-term is almost always a positive, of course. So here’s to hoping that the people paying me think so, too. Fingers crossed.

Contents