I wrote this article back in 2015 when working for a Startup. I never ended up publishing it though. I thought I’d share my journey here for anyone that maybe experiencing the same highs and lows. Also reading through this made me realise that I did end up making a good decision even though it seemed foolhardy at the time. Everything worked out for the best. As always follow your intuition. Don’t be afraid to reject what you don’t want. Unfortunately I’ve restarted drinking coffee once moving to Melbourne.
I have been on a roller coaster of many highs and lows. To quote Dickens:
It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness
Tomorrow is my last day of work at my current workplace. I don’t know what I’m going to do next, but I know it’s going to be something different. When someone asked me recently what I was going to do after I leave, I said “I was free falling”. That’s what it feels like not to have any immediate plans for your next paying gig.
My resignation had come as a bit of a shock. I didn’t have another job to go to, but I was still quitting. I had been restless for the last three months. It was starting to affect my life outside work. I was exhausted on the weekends. I couldn’t stop talking about how crap work was. I was sick a lot. Stressed. It was time to go. I had looked around for another job but had not found one yet.
Since resigning I feel so much better. I feel happy. Optimistic about the future. Life is good! :)
I know I made the right decision. As I said to my manager when I resigned:
Once you get rid of what you don’t want, you make space for what you do want.
He looked at me like I was crazy.
There were certainly many memorable moments. Here are some of them.
Working with friends
I got this job by an off-hand comment from my friend Andrew. I saw him on a crowded train wearing a t-shirt with a lambda symbol. This made perfect sense since Andrew and I are part of the functional programming scene in Brisbane. Since he was squashed between commuters and the door and I was a few seats down, I sent him a text that read “nice shirt!”. He noticed the text after he got out of the train but replied saying that there was a position going at his work and that I should apply.
A few weeks later I had the job. We spent three months working and bantering together. Unfortunately Andrew was sick of working there. He had been mistreated and lied to. And later after he left, he was unfairly blamed for everything that was wrong with our systems. In reality he had done the impossible and saved the company from the brink of disaster. Strangely no one seemed to care.
At the end of three months, just as I was coming out of my probation, he went to work at another company that appreciated his talents. It was sad to see him go but I was happy I got a chance to work with him.
Six months in, when we were on a hiring spree, my friend Matt came on board. I had worked with him many jobs ago and he had always struck me as someone who I would love to work with again. It’s been great working with him for the last four months and I’m going to miss our daily banter and learning sessions and having someone like-minded to work with.
The chair revolution
When I first started work, the chairs we had to sit on were appalling. Rumour had it that they were second-hand chairs that our CTO had acquired twenty years ago. They had been sent straight from his garage to our office. The chairs were in bad shape. I remember a couple of chairs falling apart and the CTO asking for volunteers to make a Frankenchair by combining the two broken chairs.
I had made several complaints about these chairs and they mostly fell on deaf ears, until we IPOed. Once we had more money the clamouring for chairs didn’t seem so nonsensical. My friend Ryan and I were championing this cause. Together with another work colleague Dave, we went to a furniture shop to choose three chairs to “trial”. We had been asked to trial three chairs before the company committed to buying more.
We cabbed it across town and spent a good half-an-hour trying different chairs until we decided on two models. We got an invoice sent to our manager and got back to the office very pleased with ourselves.
Nothing happened for a week. I then injured my back sitting on my crappy chair and refused to come back to work until we had proper chairs. Et voilà! The chairs we had ordered finally arrived on my return. Now we only had three good chairs, the ones Ryan, Dave and myself had chosen. Everyone else in the company was sitting on dilapidated chairs.
Ryan and myself had to campaign for another two weeks, constantly reminding my manager, gathering chair preferences of each employee by insisting that they try one of the two models we had chosen. We finally submitted the order for the new chairs. Accounting didn’t pay the invoice for another week. But in the end, I am happy to say that everyone in the company now has a decent chair to sit on. New recruits automatically get ordered a new chair. A nice small win.
At one point around the three month mark of my tenure, it seemed like someone was resigning every week. We also had a big workload to get through and we were trying to hire Scala developers in a market that had mostly never heard of Scala. Recruiters kept sending us ideal candidates that couldn’t make it through the first ten minutes of an interview. I carried out the interviews with my colleague Dave and we had come up with a simple problem involving Option, which we got candidates to complete on the whiteboard.
If we were not in the office (because all the meeting rooms were taken) we’d take the candidates to a coffee shop, buy them a coffee and then get them to discuss the problem on a sheet of paper.
One thing to note is that we always helped the candidates out if they hit a snag or got nervous and forgot everything that they knew. We also made it a point to explain the solution we were looking for if the candidates failed to reach something reasonable. We gave them pointers, book recommendations, offered pros and cons of their solutions. We spent a long time, usually an hour even with candidates that were not acing it.
If a candidate had failed to come up with a solution, we asked them to study up and learn the how to solve the problem and come back in a few weeks - if they were very keen to work on functional programming. The first four chapters of Functional Programming in Scala book was our recommended reading.
People learn all the time. Just because you don’t know something today, doesn’t mean you won’t know it tomorrow or next week. I wish more workplaces realised that.
I joked with Dave that we were teaching functional programming through the interviews one candidate at a time. :)
I make it a point to go to at least two conferences a year. The YOW! Lambda Jam is one of them and I have been attending since its inception. Naturally I asked to attend and was going to purchase the tickets myself as I always do. I entered into “negotiations” with the company about maybe getting a couple of days off to go for the conference. There seemed to quite a lot of resistance at first, but I went ahead and purchased my tickets and also took annual leave for the two days I needed. If the company was not going to give me the days off I would just use my leave. Not ideal and not very supportive.
In the meantime I convinced a couple of senior developers to come to a YOW! Night - a presentation leading up to the conference. This finally piqued the interest of these developers and they were on board for going to the Lambda Jam - if the company sponsored them and gave them the days off.
I mentioned to my manager that we should send another couple of senior developers to the conference. The senior developers made their case to management as well. I’m not sure why this was such a hard sell. Surely you want your staff skilled up right? Anyway after what seemed like a miracle, the company sponsored three tickets and gave us all leave to go for the conference. The conference was amazing and really opened up the minds of the other developers on the team to the power of functional programming. The weeks following the conference were filled with discussions about Category Theory and various patterns we had heard of at the conference. It transformed the team and made using functional programming to solve problems a viable option.
This was my first professional Scala gig. I had done Scala in my own time, after work and on the weekends, for the last four years. I had written applications which I use everyday. But this was my first Scala “job”.
I loved writing Scala full time.
To really get up to speed on any language you need to use it a lot; for many different things. It was also good to mentor other developers on how to use Scala for functional programming. It has definitely solidified my understanding of many concepts.
I will definitely be looking for another Scala job in the future.
There was a lot of chaos going on daily. Fixes were being rushed into production without any tests. They then broke production. Then another fix was rushed into production to fix the fix. Sometimes that broke too. Every decision was based on how many minutes or hours something was going to take. There was no time to plan any changes or to pay back technical debt.
Dave and I came up with a weekly sprint that had a couple of definite days for releasing to production. On other days we had time to design solutions, make improvements to our code, deployments and pay back technical debt. We had sprint opens where we planned what we were going to do for the next release. We batched the highest priority fixes and features into each release. After a release we had a retrospective where we tried to learn from our past mistakes. This is a typical Agile workflow.
This cadence of constantly delivering quality software lasted for about a good two months. Once the system we were working on was deemed “stable”, we were not allowed to improve it in any way.
We were then thrown onto more prototypical pursuits which mean the death of the cadence we had so carefully nurtured and bankruptcy through technical debt.
The company has a “free lunch on Mondays” policy where the company would buy all employees lunch. The main drawback was that you had to eat it in the office and generally hurry back to your work as soon as you finished. I generally avoided Monday lunches and chose instead to get outside and take a break. This meant I had to buy or bring in my own food on Monday which I had no problems with.
Then our CTO made an announcement that the maximum budget for any person’s lunch was $10. This was bit miserly and the company was not saving that much money with this cutback as opposed to the thousands we were wasting elsewhere. As expected after a while more people started avoiding the free lunch. After what almost seemed like a revolt from the staff, the $10 cap seems to have been lifted. Time will tell.
Working from home
The company seemed to have a work from home policy - for some people. Some developers worked four days a week. Others seemed to work six or seven. It all depended on what was negotiated with the CTO. Strangely if you had something being delivered, or had some errands to run, then you could “legitimately” work from home. If you just wanted to work from home, you couldn’t. You needed a reason - even a bogus one.
My friend Ryan and I were trying very hard to change this and discussed this with management ad nauseum. We spoke to Human Resources about it. We even spoke to the CEO when he was down visiting from the US. After a long hard battle, it looks like my co-workers will enjoy working from home one day a week. Even once working from home had been “approved”, it was always a “it’s happening next week” kind of thing. So it has yet to happen but I am hopeful that it will at some point. Unfortunately since tomorrow is my last day, like Moses I will not enter the promised land.
What was so frustrating was that we were working with cutting edge technology and rushing things into production all the time. Process changes on the other hand were draconian. If we needed a simple process change, it took more than six months, Human Resource approval and major arm-twisting of the CTO.
At the very start of my tenure I was a coffee nut and joined the resident coffee gang in their two-to-three visits to the coffee shop per day. Over time I came to settle in on what is arguably the best coffee shop in Brisbane: Coffee Anthology. Most people at work were really into their coffee. The caffeine was the ideal accompaniment to the daily stress wheel. We loved coffee so much that we had arranged to have a “coffee class” with Adam, the owner of Anthology. The class was excellent. As fate would have it, I read some articles about the harmful effects of caffeine shortly after and stopped drinking coffee altogether.
Tea became my new beverage of choice, and I brewed my own Oolong and Jasmine tea leaves and stopped visiting coffee shops altogether. Boiling the kettle, infusing the tea and then slowly savouring it became the antidote to the daily stress wheel.
Trying to make a difference
I’ve had many a chat with Ryan at various coffee shops and over many lunches. We spurred each other on to find and read books and articles about the best workplaces in the world and better ways of working, learning and thinking. We also encouraged each other to blog about our thoughts. We tried very hard to makes some positive changes in our current workplace. We won some and but I fear we lost more. But at least we tried.
The team I worked with are awesome. They are a really great bunch of people who I would love to work with again some day in the future under better conditions. It’s a shame they are not given the support they deserve to do the great things they are so easily capable of. I’m going to miss working with them.
It’s been ten months, but it feels like a mini-lifetime.
I’m looking forward to spending more time at home with my family. Working on my own projects is something else I want to do. Maybe some chillaxing and musing thrown in there for good measure.
I have chosen something different for myself. I have done the unthinkable and left a job without having another job in the wings. I have space to think and make some good decisions. I sense something wonderful is just on the horizon.