Famous Last Words

This post is a bit more philosophical than my usual fare, so if you read this blog for the game development posts please feel free to skip this one...

I started writing this blog post in March and it's already October now - it's been tough to find the courage to finish it, but I think it's time... I don't want my last words on this blog to be:

Nothing to report. Just work. No reason to hope that the next 7 days will go any better...

Just work. No reason to hope.

Burnout

I wrote those words on the Wednesday after giving up on the Github Game Off project I was trying to get into a releasable state by the end of November... and yet it looks like I managed to work 50 hours on my work project that week, in spite of the whole Friday being dedicated to our year end function!

As you can see in the graph below, October and November 2016 was a bit rough for me...
Weekly hours worked - I clearly have a problem!

There was still a bit of work left on a separate sub-project for the same client by the end of December and running into January, but at this point I was so fed up I delegated most of it to my colleagues and threw myself fully into the side project of training graduates in the ways of Java and Spring - an initiative I'm quite fond of...

It was sometime in February before I could bring myself to do any serious coding again - I was completely over it for a while... around mid-February I received the news that I'd be starting a new project for a big new client on the 1st of March. In fact we started a couple of weeks early to make a good impression and so the cycle began again.

Loss

It was early in March 2017 - I distinctly remember sitting working at the office long after all the sane people had left - seeing the music video of this song for the first time and bawling my eyes out.

I'm not sure of the date, but if I had to venture a guess I'd say it must've been the 14th of March... three days after burying our grandfather and the night before the first sprint demo to that important new client. As usual, I was burning the midnight oil to make sure we'd make a good impression at our first demo... I guess fatigue, emotional stress, the eerily relevant visuals and the multitude of meanings that I've come to attach to this song were just too much for me.

If you happen to know what project I'm working on you might see why:

I encountered the song for the first time (thanks to discovering Google Play Music) sometime in February... The most common interpretation of the song seems to be that it is about a woman being questioned by her partner after she's seen a ghost. Taking into account all the facts, that interpretation is probably correct, but for the first few weeks I preferred toying with my own interpretation: that the dead hearts everywhere were people who had lost their passion and that most people are now just ghosts, going through the motions of the lives they used to live... At the time I was trying to figure out how to deal with my burnout - funny how quickly our perspectives can change!

I guess I am fortunate that I haven't had much experience of death and losing loved ones until now... As a result I've spent a lot of time thinking about my grandfather's life this year: all he accomplished and the large closely knit family that he left behind. He did very well! Much better than I'll manage I expect.

After the initial shock of loss and the resulting introspection I could easily have settled back down into my regular daily routine and gone on with my life - it seems only human that we do so - I don't think we can operate in these heightened states of self awareness for very long before exhaustion or madness overtake us. However this year would not relent.

The day after returning home from my grandfather's funeral we heard the news that a colleague and friend of my wife had committed suicide...

A few months later one of our colleagues at work committed suicide...

Then in June my dear grandmother on my mother's side also passed away...

So the events of this year forced me to repeatedly consider my own mortality. Not for the first time, but in retrospect, it is perhaps an activity I should have engaged in more frequently.

I have spent much of this year looking at my own life with a critical eye and finding it wanting. I knew something had to change, but I had no idea where to begin...

Priorities

My cousin (who is very wise for his age) has been observing how I constantly overwork myself for the last couple of years now and some time after March he recommended that I read The Subtle Art Of Not Giving A Fuck (the link is the introductory blog post, but there's a whole book). Since I could hardly find the time for reading between work and Kendo early this year, I listened to the audio book while sitting in traffic instead - twice - it was extremely educational!

From the title one might imagine that Mark Manson's book would be about caring less, but that is not the case: instead he urges us to think about our priorities - to make sure that the things we do care about are things that matter.

If I jump back to around October / November 2016, my priority list probably looked approximately something like this:

  1. Work
  2. Kendo
  3. Game Development
  4. Hobbies (reading, gaming, etc.)
  5. Life (my wife, family and friends)

I was trying really hard to improve at game development, but Kendo took priority two nights a week and nearly every other weekend. Work trumped both at any point in the project where there was the slightest suggestion that working harder would help to finish it successfully.

Life should definitely be higher up on that list, but I suspect I'm a bit of an introvert: I spend most of my working days interacting with people, so at night and on weekends I'm usually completely drained and would rather spend some time alone with a game or a book than more time with people - even if they are important in my life.

By April I had some rough ideas of what was wrong with my life, but no ideas how to fix any of the problems. Work had come back with a vengeance and as the new project gained momentum I soon found myself working insane hours again to try and make a success of what is probably the toughest project I've ever tackled!

Kendo fell by the wayside by the end of April - I had started suffering from nearly constant lower back ache, whether from too much time in traffic or too much time sitting in front computers I'm not sure, but I still haven't been able to shake it - between that and my inconsistent attendance due to constantly working late I just wasn't able to give my Kendo the attention it deserves and my Sensei called me out on it - so I decided to stop until I could be more committed to it.

One of the things Mark Manson talks about towards the end of the book is immortality projects. Immortality projects are essentially our futile projects to fight against our inevitable demise - to try to continue to have an influence on the world after we die. These projects can take many forms:

  • Having children
  • Religion
  • Charity
  • Striving for various achievements (art, science, murder on a large scale)

As hinted at by my last example there, immortality projects are not necessarily a good thing... perhaps we'd be better, happier people if we can rid ourselves of this need to immortalise ourselves, but I'm not there yet...

I am 33 years old. I have no children (and that is unlikely to change). The most important thing in my life seems to be work... so I thought about that for a bit. Work. What am I accomplishing with work?

I guess I'm making enough money from work that maybe by the time I'm 40 or 50 years old I'll be able to consider switching to doing something more meaningful with my life, but I'm afraid if I work 10 to 12 hours a day for much longer I won't live to see 40 and I definitely won't have any useful skills other than software engineering to offer to a more meaningful pursuit.

So I wondered: should I be working 10 to 12 hours a day? I get paid the same amount whether I work 8 or 12 hours... so what am I accomplishing? Successful projects make the company more money I guess... where does that money go? To the owner of the company. What does he do with it? Well from what I hear, that currently seems to be religious evangelism.

Wait what?! I'm an atheist. What the fuck am I doing with my life?

Why am I working 10 to 12 hours a day so that someone will have more money to spend on something that flies in the face of everything I believe in? If he was solving the energy crisis or making humanity a multi-planetary species maybe I could live with myself, but evangelism?! I'm such an idiot!

I've known this for at least 2 years, but it's been easier to just focus on the good parts of the job and getting through my work to keep going. There are many good parts to the job, like graduate bootcamps, AI challenges, developer community involvement and the list goes on... But it always gets me around year end function. I start thinking about the last year and wondering what I've accomplished, so then I end up all melancholy at the biggest party of the year instead of enjoying it as the reward for our hard work that it's intended as.

I guess it's kinda funny how we can keep doing self-destructive things for years on end out of fear. Fear of change. Fear of failure. Fear of admitting that you've been an idiot.

Well it was time to stop being afraid, so I started trying to re-prioritise my life a bit. I've always had a keen interest in games and game development, but I've never devoted enough time to it to build a good game... I have learnt a lot over the years of dabbling so I think I could, but I need to prove it to myself (and to that guy in high school that laughed at me when I said I'm going to become a game developer - it's petty, but so be it).

So by May I had stopped doing Kendo and started trying to spend a bit more time on my game development hobby, but by and large, I failed...

Failure

My work project was going alright through April and May. We were struggling with integration, but we had been able to demonstrate that we were on the right track with the 1st of 7 feature sets using stubbed APIs.

Then somewhere between May and June while demoing the 2nd feature set to our client, she said: "This is not what I want." - for probably the first time in my career, I had completely and utterly failed at delivering what my client wanted. I say I failed, because I took it very personally, but to be fair we are a team of 6 who had all worked our asses off to try and finish off what was at the time still a vaguely understood requirement that was heavily dependent on the not-yet-built integrations. We got very close, but no cigar... I think we were all crushed by it.

I guess my approach to work up to this point in my career could best be described with the words: Failure is not an option - do whatever it takes to succeed! It's hard to say where this idea that failure is a terrible thing to be avoided at all costs comes from... a company tagline that reads everything is possible probably doesn't help. I guess it doesn't really matter - no matter how hard you work - sooner or later we all fail at something.

What took me completely by surprise was that failure turned out to be a very positive experience! A business analyst was allocated to the project for a few weeks to help us figure out the vague requirements as well as a dedicated team lead to help shoulder the burden of leading the project: so I went from wearing three or four hats, to just wearing one or two. I could also spend less time dealing with the politics and bullshit that seem to come with the territory whenever you do a project for a large corporate and focus my attention on getting the solution built.

The other good thing that came from failure was that it forced us to stop sprinting from one demo to another and to have a good hard think about what we're doing wrong and how we can do better. We realized that we couldn't spend all our time in firefighting mode, so we started making a point of having a retrospective every sprint: we still have a million problems, but at least now we're aware of them and are working through them. Failure has helped us become a better team and I've probably learnt more in the last few months of recovering from that failure, than in the last 3 years of successful projects.

Are we out of the woods yet? Is the project saved? I wish I could say yes, but we may still be doomed by factors beyond our control. One of the things I learned from our guest BA and new team lead during the course of recovering from our failure is how crucial negotiating scope is in an agile project, but unfortunately with these fixed price engagements we're not really agile and reducing scope is rarely an option...

Getting what we have now perfectly polished and rolled out to the whole company after our beta in November would already provide immense business value to our client, but we're still contractually obliged to build the remaining four feature sets by the end of the project sometime next year - regardless of how well defined they are of whether they'll add the same amount of value.

There's still a rough road ahead of us and I suspect it's going to be a tightrope walk between delivering everything what was promised and delivering what is actually needed for the project to succeed.

Re-prioritising for great success

It has been a year of doom and gloom, but I do think some good has come of it. Starting around July or August I began to figure out how to change my life. At a high level my new priority list looked something like this:

  1. Game Development
  2. Work
  3. Life (my wife, family and friends)
  4. Hobbies (reading, gaming, etc.)
  5. Kendo (yet to be resumed - I'm afraid of falling back into old patterns)

I do have some game development skills that I've picked at university or through years of dabbling, but it's a broad field with an immense amount to learn and I don't have the money to just stop working, hire some people and start my own game development company. So I started thinking: how could I gradually switch-over to doing what I find meaningful with my life, but without letting everyone that depends on me down?

It occurred to me that if I spent all that that time that I'm working overtime on game development instead it would probably add up to a lot of hours. So my course of action was clear - I would try to build some new habits that would ensure that I spend some time every day doing what's important to me and some time every week contemplating whether I'm still on course:

  • get those work hours per week under control: under 50, then under 45, then at 40
  • spend 1 hour every day working on something related to game development (making a game, learning new skills, polishing existing skills, etc.)
  • spend 30 minutes a night reading
  • spend an hour every Sunday thinking
  • spend an hour every Sunday working on this blog (the first 3 months of which have gone into finishing this blog post)

So have I succeeded at dethroning work? Bad habits are a hard things to break! I managed to keep it under 45 hours for the last 3 weeks in September, but then we suddenly had to go live by November instead of February and we've already had our one failure for this project, so the pressure to succeed was immense. I'm already way over my goal again by the end of October.

My team lead commented last week that he'd be my conscience to make sure I don't spend too much time on my Tech Lead duties at the cost of the project. This comment along with the fact that the unpaid overtime seemed to be expected now pissed me off a great deal! So being a man of science who does not believe in little voices in my head that tell me when I'm being bad, I decided to go run the numbers and see if my gut feel that I had nothing to feel bad about panned out...

So it turns out that I've worked 440 hours overtime this year, of which about 200 - 300 were for the project. That's an insane amount - if I had spent it working on games instead it would be equivalent to 11 weeks worth of doing game development 9 to 5 for 5 days a week! That's a hell of a lot of time given away this year to accomplish someone else's goals.

In spite of work interference I have been 91% successful at spending an hour a day working on game development for the last 3 months. That's about 8 working days more than I would normally have spent over a 3 month period on learning to be a better game developer. I'm exhausted, because of also working large amounts of overtime and sacrificing sleep to get to my game development work, but at least I know now that I'm in a fight for my life - the overtime stops here.

Conclusion

Learn from my mistakes. Life is too short! Make sure you don't spend all of yours being a soldier in another man's army.

If you are working large amounts of overtime at the moment I challenge you to go think long and hard about your priorities and whether it is in your own best interest - then come back here and let me know how you're changing your priorities - I'd love to hear your views.