Developing Difficulties

I’m not sure how much I’m just normal here, or how much of my inner self I’m revealing, but I’d like to share some strange motivational cycles I’ve been having over the last eighteen months or so.

Back in around 2010, I was working for a small games publisher in Cardiff, it was a salaried position, and I was the only developer. Life was good. There was a lot of work to be done, but it’s quite fun writing PHP code that determines who wins in a fight between the player and a big-tree-man. When that job came to it’s inglorious end I didn’t have a lot of trouble finding a new job as a developer for a streaming video company in Swansea, and that was interesting too. It was a small team and I was quickly made the CTO rather than the lead developer which gave me responsibility of the technology and direction of the technical department. That was cool.

Six months into this new position, I started developing a scary cycle of productivity. I would go through spells of huge motivation where I would single handedly code the latest version of our API, or redesign the architecture of our video advert delivery system. But I’d also get doldrum days (or weeks) where I found it nearly impossible to motivate myself. I’d sit at my desk reading BBC Sport, messing around on Twitter and IRC, and, more worryingly still would get next to nothing done. When I was doing my 1-2 days a week working from home this was even more difficult, with distractions sitting around every corner.

I came to the conclusion that I needed a change; something to kick-start me out of this up and down cycle. So I decided to join Roave part-time, and work on different and new products half my working week while I continued to be CTO at the video advertising company the other half. At first, this was a relief. New and interesting projects every few weeks or months would surely keep me fresh.

But it actually made things worse.

Now I only took home half my salary plus whatever time I billed on my freelance work. When I was in an upward phase this was great, but when I was in a motivational slump things were terrible. Now I had to complete work to get paid, and that’s actually a worse position to be in. It started to get very bad with me anxious even during the productive phases that a non-productive phase was around the corner. I started to worry about my income, which is a natural thing when you are married with two kids, but that worry became a constant weight around my neck. I stopped sleeping and actually missed doing any work around Christmas 2013.

Luckily, the person who was hiring me at the time was a very, very nice man. I passed some of the work given to me onto another developer friend to take some of the pressure off the deadlines, but things really weren’t improving. So I did something counter-intuative and went back to working full time at the company in Swansea. This definitely took one of the stresses away, I knew exactly what was going into my bank account and when, but the slumps in motivation quickly returned.

Then I took the most extreme measure yet. I decided that I had to have a clean break from the problem and try and start again in a new environment. So, without any idea of what I would do afterwards, I put in my notice at the full time company in Swansea.

I’m under two weeks (at the time of writing) from leaving that company and starting to work full time for Zend as their Technical Lead for Training and Certification. Effectively this means I’ll be responsible for ensuring the quality of all technical training and certification material, along with promoting those products in the community, and taking some training myself. This is no less responsibility than my current role in my mind. I’ve had to complete the very long three month notice period which has obviously been difficult in itself.

But I’m excited. I have a ten day holiday with the family booked for the end of the month, and when I come back I can’t wait to get going full time at my dream job with Zend. It’s hard to judge how my productivity is faring at the moment because I think it’s natural to see a decline as you work out your notice in an old job. At this point I’m feeling run down and constantly tired (I’m working part-time for Zend as I finish here), and I still have the worry that I’m crazy taking a full time remote position with my history of productivity being in cycles.

I’m wondering if I can alter my lifestyle, exercise more perhaps, or change my diet to help. These may seem extreme measures but I’m willing to do what I can to try and cut these problems out of my daily life.

Thoughts?

11 thoughts on “Developing Difficulties

  1. I suffer with the same problems of motivation. I have found a work-around that is work on a different project everyday or so. Cycle them around so 1 day your doing project X, next day project Y, next day project V (you get the picture). That works, mostly.

  2. I don’t have an answer but I know what exactly what you mean. I’ve been going through the same cycles and related ones since I started working with computers in the early 80’s.

    For me it’s not just motivation cycles but also subject cycles. For example I’ll go through a cycle where I love coding on a framework, it subdues and another cycle starts, like Web Development or worse I dive in a completely new programming language.

    I tried the exercise method, I lost a good amount of weight (25 lbs) but it didn’t solve the cycles, I tried taking on a other things, like photography, golf or cooking in my spare time but that was counter intuitive. Instead of spending more time on the development part, I spend more time on the other stuff.

    Somebody told me once that it is related to ADD, now I never been diagnosed with ADD, but I can see what they mean. I loose interest in the subject and want to do something new.

    I stopped worrying about it, programming is a form of art, you try to create something out of nothing and sometimes you just don’t feel it. Writers call it Writers Block and I adapted that term for development as well. It is what it is.
    Embrace the problem and it no longer is a problem.

  3. Hi Gary,

    I’ve not done much remote work and always been employed but I’ve definitely had hyper productive phases and major slumps like you’re talking about. The problem for me is when having to do something a bit awkward, dealing with an old code base or having to do something that I really dodn’t want to do then I delay it and procrastinate.

    Most recently I’ve been using the pomodoro technique and for me it’s made it so I don’t fear the things I’ve been trying to put off because all I focus on is getting 25 mins done.

    I don’t imagine it’s for everyone but it’s certainly made me more consistent with getting the stuff I’m less excited about done.

    All the best,
    Tom

  4. I don’t have an answer but I know what exactly what you mean. I’ve been going through the same cycles and related ones since I started working with computers in the early 80′s.

    For me it’s not just motivation cycles but also subject cycles. For example I’ll go through a cycle where I love coding on a framework, it subdues and another cycle starts, like Web Development or worse I dive in a completely new programming language.

    I tried the exercise method, I lost a good amount of weight (25 lbs) but it didn’t solve the cycles, I tried taking on a other things, like photography, golf or cooking in my spare time but that was counter intuitive. Instead of spending more time on the development part, I spend more time on the other stuff.

    Somebody told me once that it is related to ADD, now I never been diagnosed with ADD, but I can see what they mean. I loose interest in the subject and want to do something new.

    I stopped worrying about it, programming is a form of art, you try to create something out of nothing and sometimes you just don’t feel it. Writers call it Writers Block and I adapted that term for development as well. It is what it is.

    Embrace the problem and it no longer is a problem.

  5. My Best advice when doing Remote work is: Dont work from home. Get an office space, preferebly with someone in similar branches.

  6. I do the same thing supermarkets do to keep stock fresh; I rotate.

    I find it extremely helpful, approaching necessary, to have personal projects … I invest time in PHP, projects my friends are working on, my own projects, reading and looking for kittens on the internet.

    That does a pretty good job of keeping me moving at a reasonable pace, nobody can go a million mles an hour all the time; if I have a week where I don’t find that many pictures of kittens, I’m not that hard on myself, afterall there is always next week and always more kittens …

    It might seem that committing to so much stuff might be too much, and maybe it is, however, for the most part, I do not feel it. If I try to force out a burp, there is a high chance I will puke; in the same way (I assume) if I try to force out ideas or code, I’ll come up with puke. So if I get stuck, I switch tracks, follow a new train of thought, on whatever, a lot of the time not even on my code, ideas invariably flow. I may not be able to switch focus as quick as I would like, if that’s the worst observable effect of working in this way tay, I count myself lucky, and feel it 😉

  7. Definitely as much exercise and clean living as you can muster… I don’t want to suggest anything concrete, because it’s so far from my place to do so, but I watched this conference talk earlier today and it’s pretty interesting:

  8. I’ve always considered development to be just as creative as fine art, except that devs also worship at the altar of technology. The cyclical motivation/mood swings seem to go hand in hand with this paradigm and I have never met an information worker that hasn’t experienced the same challenges.

    I think part of the answer, at least, is to be open about your problems. A good family life, good colleagues and friends, and interests outside work and home can only be positives.

    Great talk in Amsterdam, Btw.

  9. Well,
    This was definitely an interesting read. At the moment Im having the same sort of issues. Im the only web developer at my current company (Junior PHP Developer *apparently*) and I have pretty much finished the two big web applications I have had to develop.

    Now my company has slow management which have kind of left me tooo it … which was great for the most part because I have total development control and worked really hard and got it all done. Now however they arent giving me any direction, and we arent starting any new projects yet.
    So im just waiting, and getting unmotivated by work stuff, as theres only small little things left to do. Like checking over all the code, adding minor improvements etc.

    So I have been working on my own side projects (granted they can be used by the business in the future), but even then its starting to feel like I just want some work to do. However when I do get some work to do now, after the slump of not having any to do, im just mostly uninterested in doing it. As you have mentioned, I mostly spend my time researching languages, going on reddit, chatting on IRC and stuff like that.

    Also small world, im from Swansea but moved away and got a job somewhere else 🙂

  10. Hi Gary,

    Literally just binging on your blog! and found this gem of an article! I’ve had the same issue depending on my workplace. Most recently at a company where someone in a higher authority than me insisted on “Roll your own” for literally everything we did. As a massive advocate for OSS, I felt this was an enormous and even dangerous mistake. The work albeit could still be interesting, if it were not for yet another caveat, the same person in a higher authority than me, also did not like to use standards, or design patterns, etc… This sent me into the worst motivational crisis of my entire career. In the last 2 months of my employment at this company, which was a nightmare… I found it increasingly difficult to focus on the work I was assigned, every time an architectural decision was made, and I gave my input, that we should be following known conventions, I would be mocked, called a “sheep” and quite honestly treated as if I had no clue what I was doing and could not think for myself.

    This resulted in my getting essentially cut off from being part of the planning of any part of the system we were building, this spiralled into a complete lack of motivation, which led me to decide to leave my job, I didn’t like the rut I was in. I love programming, but I like properly architected code. Not the horrendous things we were making, which included but were not limited to, a complete lack of encapsulation, business logic in controllers, which in turn turned fat, tons of repeated code everywhere, inconsistent code, inconsistent design patters (rather lack thereof), 0 tests, because “unit testing takes too much time to do and provides no real benefit”.

    It was the modern PHP developers worst nightmare.

    Alas I digress.

    I went into a whole backstory, but long story short, I’ve experiences these issues with motivation, albeit for a different reason, but it’s nice to know I’m not the only one who has had issues with. And for me I’m literally about to start my new job on Monday, and I can’t wait.

Your Comments are Awesome, Please Leave Them!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s