http://www.flickr.com/photos/gilaforest/7302808540/

I made a huge mistake

My year of hell through burnout, sickness and the looming threat of unemployment

My original version of this post was around two years ago but much of it still applies today. Developer burnout can be hard, and some people don’t fully recover from it.
I still feel to this day what happened had a big impact on me - luckily I managed to turn things around for myself with employment but as a developer I still feel the knock-on effects to this day.
The post has been edited to bring it up to date, and I’ve even edited some of the values - time and maturity have allowed me to re-assess what happened on the project.

It was July 2011 and I was about to go on a long planned holiday, my first holiday in three years.

My wife was a full time student doing a law degree I have been working working flat out in that time on various jobs to support her with agency work, freelance and even a startup. It was that last one that had finally done me in.

I was experiencing developer burnout and the holiday couldn’t come soon enough. When I returned in two weeks later though I have to face the cold reality that I was also going to be an unemployed.

How it all began

The year before I was introduced to the two partners who were looking to start a business. Both were non-technical, came from public sector backgrounds but experts in their field. We discussed salary and agreed an equity deal that would see me get 5% of the company + another 5% once the product started selling (which in hindsight wasn’t actually the best deal).

We were going to build a new product together, something never seen on the market for the disaster recovery and business continuity sector and I was essentially made CTO - that gave me the chance to work with the technologies on my choice.

The project was bold; the application hooked together a lot of elements of managing an Organisation, the people, it’s assets and linking them to business processes (lot of tree structures and database relationships across multiple types of data) and had to work in real time. If the shit hit the fan for a business, they needed immediate access to all this date.

I was given a 50 page document of mostly user interface ideas, and told to go away and start building the application.

This was the first mistake.

My experience at the time had been mostly in PHP and Python, building reasonably large scale websites. As a technology choice I started with Django - but about a month in, it just wasn’t fitting; I had to hack too many things relating to the database and I decided to re-assess the whole thing.

Around this time Nodejs and CouchDB were starting to make an impact - people were talking about it as the “next great thing” (and for the most part they weren’t wrong). After learning the APIs I started creating an initial application with it I decided to use it with an ExtJS client driving user interface.

A lot of the really technical back end aspects were done quite quickly, and it turned out the technology was a good fit, but as the only developer I had to drive everything from project management to database design, all the client side and user interface and everything in between. This went on for about five-six months, pretty much 18 hours a day. At the same time, I wasn’t interacting with many people outside my home office, including the founders.

This was the second mistake.

We met maybe once a month at the most in the beginning, but in that time I still managed to build a good part of the core product on my own.

However without constant meetings and feedback the first thing I noticed is that what was starting to form was less of anything to do with the business logic and understand how the app would drive the data, and what I was building was basically a framework.

At around the 5 month mark or so, things started to go a downhill and quickly slid from there. For them is was all about what they called ‘the shiney shiney’.

This was the third mistake

From speaking to others, and attending TechMeetup occasionally I had a some knowledge of other startups and the idea of a MVP. However I came to realise quickly that the other partners came from public sector backgrounds - there was no Agile “release early - release often” here, they wanted the full product done - all-singing, all-dancing features (think a database driven Visio) for launch and it was all or nothing for them.

An MVP was unacceptable and there was no courting angel investors - they wanted to retain as much control as possible.

Stress was stating to kick in, my brain wasn’t working at the same pace or same clarity was it was 6 months before and at this point I started making some terrible choices.

Sencha, the makers of ExtJS had promised delivery of an all-new ExtJS4. From the videos from SenchaCon they demonstrated that it had lots of great new feature for doing charts and drawing, exactly what we needed. They seemed confident the final release would be out in February 2011 so we made a decision - based on my recommendation - to slow things down a bit and wait for it to come out.

So we waited; and we waited.

To cut a long story short, the release never happened as expected. I should have known this - after all I am a developer and I know that things never go to plan.

The features we wanted to focus on using never really materialised as we expected it and when their developer released did finally start landing, I began the effort of porting the application over. However things were incomplete and the APIs were terrible.

Stupidly I was trying to do this myself. No other developer was available to help work on the many interconnected parts of the application, and it was up to me to keep the momentum going and quickly I started to get overwhelmed.

Then the money ran out.

Unlike your typical startup, there was no push for funding - there was basically what was in the pot, and nothing else - I was now expected to work for sweat equity. My wife was still only working part time, coming up to the final few months of her degree and we still had bills and rent to pay.

Despite the overwhelming stress that was piling on I had to start looking for extra work and I managed to land a few contract jobs, some at fixed rate and some at a decent day rate - but because the situation I was put in I had to bust my balls to make sure money came in on time, while still expected to work on the other product in my own time.

Finally the burnout kicked in full force. I wasn’t able to sleep, I became cranky and angry and I started to ignore everyone around me - including the founders.

To top it off my wife fell ill. Two years earlier she had been diagnosed with Crohns disease, and had major surgery to correct the damage. We had been told to expect that at some time in the future she would fall ill again, and she did - but it ended up being her gall bladder.

It was around this time as well I finally decided to end the relationship with the startup. With a contract we had only agreed to work 6 months and I thought that would be plenty time for an MVP, and it could have been - but they wanted more, and without being able to actually pay me it was time to end the project here.

I felt sad, but at the same time a huge weight was lifted off my shoulders.

I took me several months after that to recover and the holiday really helped. I bought a camera and started doing photography - I disconnected myself from the internet as much as possible and I think this, and being out in the sun was what I needed.

If I had continued down the other path I don’t know where I would be now but I don’t think it would have been good.

Luckily a local agency got in touch and asked me to do some on-site freelance work at a very good rate - higher than I had been ever paid before. Also being on-site, I was around people again - being able to bounce ideas off each other and socialise.

I now believe this is one of the most important things a developer can ever do beyond the needs of their day-to-day job.

After this, things started getting better again.

My wife recovered fast and later that year sat her Diploma in legal practice after completing her LLB with first class honours. She starts as a trainee prosecutor for the Crown Office later this year.

After a short stint with with the agency, in January 2011 I started working for FreeAgent as a frontend developer - although that job has turned into also managing a lot of legacy PHP.

To anyone reading this who themselves may be feeling developer burnout - take a step back and realise that it can get better!