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

They live!

We have a lot of lovely rose plants in our backyard. The flower beds in the front are largely empty. In early November, Paul and I planted a few rose cuttings from the back yard roses in the front yard flower beds. He advised me there was very low likelihood that any of them will survive or take root.

I read somewhere that roses like acidic soil; mixing coffee grounds in the soil around them is good for them. So I’ve been doing that occasionally.

Today when I went to distribute some coffee grounds around the roses, I noticed a few fresh leaves sprouting out of a few of those cuttings.

They’re alive! They may even take root! We may have successfully added new plants (without buying them) to the yard!

I’m happy :)

No Carb Thurs… Wednesdays & Mondays

No Carb Thursdays have been a success.

But I now need to change the no-carb day of the week. My Paris marathon training plan has tempo runs planned on all Thursdays. I don’t want carbs not being available on the day when I have to run 10 miles at faster than marathon race pace. So, I’m moving no-carb day of the week. While at it, I am also tentatively increasing the number of days without carbs.

Wednesday and Monday* will be no-carb days hereon, at least till the marathon training gets over. Wednesday is the weekly rest day in the training plan, and Monday is one of two short, easy run days.

*Sunday is the long run day, and Tuesday is long intervals day. So, if I need more energy on Tuesdays, I may cancel no-carb days on Monday.

I would have liked Friday, the other easy run day to be the no-carb day. But Friday is pizza dinner night, and R wants to keep that going, so she vetoed it.

Aside:

So far, food intake on no-carb Thursdays has been mostly baked fish (cod/haddock), with an occasional omelette, or Jyoti’s sabzi/daal—all with large sides of freshly cut cucumber and carrot batons.

I want to include more food options on no-carb days. Please do share any easy to make/get no-carb food suggestions (preferably vegetarian).

Challenge for January 2020: No TV

I’m not watching videos—live, recorded, or in any other form—this January. Not on TV, not on mobile, not on the laptop.

Over the last year or so, I’ve disconnected myself from twitter, then newsletters and apps, then TV news channels, and eventually from email app on the phone. It’s been lovely. Each disconnection led to a few weeks of anxiety but, once they passed, I was calmer, less distracted, and less annoyed about things that don’t matter in the long term (if at all).

One of the big distractions that has remained is TV. I watch many series and movies on Prime video, BBC iPlayer, All4 and Netflix, mindless videos on YouTube, cycling and biathlon events on Eurosport player (while cursing Eurosport out loud), Big Bang Theory reruns on Channel 4, and Match of the day on the BBC. I may also watch occasional reruns of Die Hard on Film4 :)

On 31st, I watched a movie I’d wanted to watch—A marriage story—and then deleted all apps from my phone… YouTube, Prime Video, Netflix, BBC iPlayer, All4. I even deleted the TED app. To help me out, the old Sky box also conked out, so there’s no live TV feed either.

The only TV I can and may watch is whatever R has on when I’m sitting around the TV.

Continue reading Challenge for January 2020: No TV

No Carb Thursdays

Latest life tweak is ‘No Carb Thursdays’.

Why ‘No carbs’? Because I love carbs but they also make me feel bloated and lazy. And avoiding them all, all the time, unnecessarily taxes my will power. I have reduced the usual intake, but it still spikes occasionally (actually more frequently than I admit).

Also because I’ve gained nearly 1.5Kg in last week—76.6 last Thursday, 77.9 today. And I hadn’t run in four days. And I’m not happy—about a few things in particular, but also that low-intensity background unhappiness in general.

So I decided to try a new thing.

Why ‘Thursdays’? Because today is Thursday, and I didn’t want to put this off till tomorrow.

Continue reading No Carb Thursdays

Letting go..

There’s no trying new things without letting some things go.

There’s no new life, if there’s no death.

There’s no bandwidth to explore new books, genres, TV shows, people, if we’re not ready to abandon the ones that turn stale, or we grow out of, or finished.

Bandwidth is finite. Cognitivo capacity is finite. Time is finite.

A core constraint on growing, changing, exploring, is our reluctance to let go of some of what we have and are.

Create space by letting some mediocre stuff go. Then fill it with something new, untested, unusual. If it fits, great. If it doesn’t, chuck it and try again. Something new, untested, unusual.