A hard thing

I didn’t realise it’d be this hard. I didn’t realise it needed courage. I didn’t realise it’ll cause even more anxiety.

I didn’t realise notifying bad behaviour, and asking for help could be this hard. It was harder than ignoring or living with bad behaviour, which I’ve done in the past. It was way harder than fighting back, which I’ve done too often in the past.

I had strong support from R all the way1. I knew they were in the wrong. I knew if there’s retribution, it’s a cost I’m willing and able to pay.

Still, it was hard. Shit scary hard.

Continue reading A hard thing

Five checkmark day

These have become rarer than a blue moon.

  • My resting HR has gone up by nearly 20 bpm since the one-before-last post https://c306.net/spkeasy/2020/five-checkmark-day-3/.
  • I haven’t run (or swum or biked) since the last one.
  • I’ve eaten everything I can.
  • I haven’t even walked much.
  • Even though the weight is exactly the same, last time it was a spike. This time it’s the lower end of a stable range.
  • Mental health has taken a toll.
  • Today’s stress level of 39 is the lowest I’ve had in a week. The time before last, it was 16.

I’m a mess. Probably.

Product Engineer, Moi

tldr: I switched careers. I am now an Android developer in a small team at a mid-sized organisation.

In early 2012, I taught myself some Javascript and created my first Chrome extension, AutoConvert.

It was a simple tool to fulfil my specific need—automatically convert units between imperial (the somewhat idiotic unit system that my host country uses) and metric (the much more sensible unit system I grew up with). The code was beginner-level, the design non-existent, and I’d heavily relied on Bootstrap and jQuery. But I’d hit on a user need, and the extension got a little over 15,000 users at its peak.

Encouraged by that first step, I learnt more about Javascript development and other libraries, and created a few more Chrome extensions to satisfy my other itches when the need arose.

Sometime in 2014-15, I took a free, self-administered course on Android development on Udacity. I wanted to fulfil another personal need — create a native Android app for a platform we were using at the time, iDoneThis.

Java was a lot harder, more verbose, and fairly rigid coming from Javascript. Android was way more restrictive as a platform compared to Chrome and the Web. Eclipse was a memory and CPU hog compared to SublimeText. Android apps were harder to develop and iterate. After iDoneThis, I didn’t develop another Android app for a couple of years.

In 2017, I started developing my next Android app — Todo.txt for Android. This was again based on scratching a personal itch. I’m a todo.txt user, and the OG app had stopped working after the original developer didn’t update it when Dropbox changed their API. This new app too started as a Java codebase. But on the, now, 3 year long journey of developing and updating the app, I learnt a lot of new technologies—converted the codebase to Kotlin, replaced AsyncTasks with Coroutines, adopted the MVVM arch with a single Activity, learnt to write and always add unit tests.

Kotlin combined with Android Studio and the Jetpack architecture components brought both speed and structure to my (and the app’s) development. I developed three more Android apps. On the web side, VS Code and Javascript libraries helped me get more productive.

In late 2019, I was frustrated with life in general, consulting in particular, and looking for contentment. After a lot of thought, and encouragement from R, I decided to give a year to attempt a career switch: to become a Product Engineer.

I was indifferent between Android and Web development—I enjoyed both equally. But I knew that I needed to learn a lot on both, particularly technologies and processes used by engineering organisations that I hadn’t needed to use as an amateur solo developer. So I devoted the rest of 2019 and 2020 to filling the gaps. I discovered, learnt and adopted, amongst others, Webpack, Retrofit, Promises, Android library modules, cloud functions with Firebase, Firestore, Gradle tasks, VS Code tasks, Data Binding, and many others. I adopted the Github PR process despite being a solo developer—opened the PRs, reviewed them myself, then merged them in.

Some things I considered but chose not to pursue—CI/CD and dependency injection being top two. Unlike the other technologies/processes, the cost-benefit proposition for these was vastly lopsided as an individual developer and at my apps’ scale.

I also started applying for developer roles, all the way from entry-level associates to senior lead developers. I got a few interviews. As the year went on, I went further in some interview processes. Finally, in October, I was offered a job as an Android developer at xxx1.

I completed my 3 month probation earlier this month, and was welcomed aboard as a permanent employee. I’m now officially an Android developer.
Continue reading Product Engineer, Moi

Je déteste que

they took Bruno on a short notice.

they ignored the issues between the dogs.

Bruno got attacked and injured.

they didn’t get him looked after properly after the incident.

they didn’t let us visit him.

they have completely ghosted on us about Bruno’s condition.

they never cared to share the reason for cutting us off.

I’ll never get to see Bruno again.

.

.

.

I can’t walk on some of my favourite routes because they were Bruno’s favourite walk routes, and my heart aches with thoughts of him at every turn.