Tuesday 22 June 2021

2020 - Three Jobs In a Year (Part 1/3)

2020 was a roller-coaster ride for the entire world, for obvious reasons. COVID-19 made its toxic presence felt, and lives were merrily thrown into disarray. For me, professionally, there was an extra layer of chaos because it was during this year I went through an experience that I had hoped never to repeat from 2011 - going through three different employers in one year.

At the beginning of the year, I was a tech contractor from one of the world's largest tech firms, outsourced to a Government Statutory Board. My finances were healthy, I had learned plenty of new stuff, and once I learned to look past certain things, my colleagues were tolerable. Trouble was, I was bored out of my mind and it was beginning to show. I was goofing off at work, dozing off during meetings and basically not being altogether useful. It didn't help that the project I had been hired to work on was coming to an end, and all I had to look forward to, even if my contract was renewed for a third time, was another year of dreary maintenance work. There was very little in it for me to stay.

Running out of time.

To cut a long story short, I wanted out. It had been good while it lasted, but I really didn't need another year of this.

At that time, COVID-19 had just hit the sunny shores of Singapore and changing jobs was looking increasingly like a terrible idea. On the other hand, it was a now-or-never situation.

Preparing to Leave

Six months before my contract was due for renewal, preparations were well under way. I polished up my resume with all the value-adding stuff that had been accumulating the past few years. I sent forth my job applications like a commander releasing his battleships, and embarked on job interviews.

And that was how I ended up interviewing at the startup that was to be my next job. The interview went well enough, and at the end of it, I did the obligatory online assessment and went for a third round with the CTO, going through some tech scenario. The place was near home, and everything looked promising. If I landed the job, I would have to be comfortable with PHP Laravel. But to be honest, after all these years experimenting and actually working with so many different frameworks, they were all starting to look the same by now.

Life went on after the interview, and there were a few weeks left before the end of the contract with my employer. They offered me a contract renewal, but I needed time to think about it. That night, I got a call. It was from the HR of the startup that I had interviewed at. She was calling to offer me a contract. When she actually sent the PDF over, I didn't hesitate to sign it.

New horizons.

The money wasn't much better than what I was already making as a contractor, and I was fairly confident that had I accepted a contract renewal, I would have been making the same amount of money. But not everything in life is about the money. When you gotta move, you gotta move.

Leaving

The next day when I broke the news, my Manager's reaction was priceless. He said that according to the contract, I was supposed to give a month's notice before tendering my resignation. I pointed out that he was absolutely correct... but I wasn't tendering my resignation. I was merely declaring my intention to see out the remainder of my existing contract (all three weeks of it) and declining the offer of a renewal.

On a side note, this struck me as amusing because I've seen contractors being let go, and they always claim they weren't fired, but rather that their contract was not renewed, which is technically true. And now I was declaring the exact opposite - I wasn't tendering my resignation, just not renewing my contract.

The next few weeks went by fast. COVID-19 started making its presence felt in Southeast Asia, and very soon, we would all be asked to work from home. On the last day in the office, I wrote a short and sweet farewell email.

Dear all,

Goodbyes are awkward. Have some pastries instead.


Farewell food.

I left a bunch of curry puffs and fruit tarts on the common desk, went out for a smoke break, and when I returned to my desk, a good three-quarters of it was gone. I also took care to thank my contract agent for the years of managing my contract and negotiating pay raises on my behalf (side note, this guy is amazing and did better for me than I would ever have done myself) and at his request, even wrote a complimentary review which ended up on the company website.

Thoughts about the contract situation

If my company had renewed my contract much sooner, it's very likely I would have stayed for lack of other options. Unfortunately for them, they took their time about it. On its own, losing me is no big deal, but I wasn't the only one who declined a renewal. Including me, a full quarter of the team left; and the Manager of the our service account at the Government Statutory Board was put in the unpleasant position of simultaneously dealing with the fallout of a global pandemic, which meant that very few people were about to take the risk of leaving their current jobs for a contract position.

A long line for the job.

Perhaps they felt that as one of the largest tech firms worldwide, there would be no shortage of people willing to take up contract positions for them, and they could afford to take their time. Perhaps they felt that a firm in their position was, shall we say, leading the dance. But they failed to consider the fact that with the caliber of the people they hired for these positions, these people generally have options. And people who have options are generally not known to be content with lying back and just hoping for the best.

Take nothing for granted. Ever. This applies to both employers and employees.

The Next Job

The rest of my contract was served from home, and I began prepping for my next job by taking a crash course in Laravel. Gradually, I began feeling something that had been missing from my professional life for the last couple years - excitement. In the process of trying to pick up Laravel, I also learned VueJS. Some quick experimentation led to the code from The Easter VueJS Puzzle.

The first day at my new job was also the day that Singapore's Circuit-breaker began. It would be the first time I had ever joined a new company without meeting my colleagues. The only person I met was the CTO, who issued me a MacBook Pro and a list of software to install.

And thus began life at my new company. It was on.

Singapore's Circuit-breaker was very much in force in my first few months at work. People had to adjust to working remotely. That meant online meetings and collaboration through chat. It actually wasn't so bad because code and commits are tools developers use all the time. I had to get used to the other tools that the CTO introduced - bug-tracking suites, Kanban boards, API clients. We used Slack to communicate and share files.

My home workstation.

There was also this small matter of getting used to the MacBook Pro. I hadn't used a Mac since 2017. I did, however, get a sweet setup going at a standing desk in the living room.

The CTO also said that he would ease me in slowly with some small tasks first. I implemented a couple of new small features along with corresponding unit tests, a user logout feature and a dashboard that featured some Data Visualization (I was psyched to finally use D3 in an actual scenario). I was having a lot more fun in the first three weeks than I'd had in three years in the previous company.

Some early disturbing signs

However, all wasn't rosy as time went by. My CTO gave me the distinct impression that he was low on patience, had a short fuse, a bit of a control freak and was prone to finger-pointing - qualities that I don't consider admirable of any person in a position of authority. His criticisms of my code, however, were valid, and I took whatever lessons I could get from the code reviews. I was a big boy; I could handle bluntness and a lack of social graces. After all, nobody's perfect.


Still, while perusing the code base for a new feature I was to implement, I came across something I found deeply troubling. Above a block of code that had been commented out, there was a comment that had been left there a few months before I joined.

// Fucking idiot programming logic


Now, it would be hypocritical of me to get my knickers in a bunch over some profanities, considering I've been known to use them quite freely myself. What I objected to, was that it had been written in the code base. This was highly unprofessional, and I had a bad feeling that I knew who had put it there. Sure enough, after a bit of digging into the code repository, my worst fears were confirmed. My own CTO was the culprit.

Why was I disturbed over this? As mentioned, it wasn't so much the profanities. It was the fact that he had opted for such a juvenile way of expressing himself rather than confront this openly. A quick search found other sarcastic and vitriol-laden remarks in the commit comments directed at God-knows-who, ranging from a few months ago to years. Suddenly, my CTO wasn't looking like such a great guy after all. He certainly had long-running unresolved personal issues.

Willfully blind.

How did I handle this? I'm not proud of it, but I opted to ignore it for now. I was still under probation and didn't want to rock the boat. Perhaps he had simply been in a bad mood on those occasions. Perhaps it was work pressure. Maybe nobody told him he was handsome. At this point, I was just making excuses for bad behavior, and trying to rationalize it away.

Next

The next five months were excruciating. It's a long story, so make yourself comfortable.

No comments:

Post a Comment