Derek Smith — CV

Hey there, thanks for visiting my resume. I hope you have fun with the synthesizer at the top! To play it like a piano Press “1, 2, 3, 4” on your keyboard, or just click on the tiles. (Try pressing all 4 at once to make a Bm7 chord!)

Now onto the professional stuff. I’ve been an Android developer for the last 7+ years. During high school I taught myself programming to create a bus schedule app for the city of Nanaimo. Around that time I found a job at a small design shop called Impact Studio (currently 460 Communications). At Impact I used my time to focus on Android development, with the goal being to finish my bus schedule app. Soon after, I joined Metalab on a temporary contract and proved myself useful. Metalab then took me on full time and I moved to Victoria, BC for a new beginning.

Throughout my career I have been directly responsible for the success of many projects from start to finish. Android apps have always been my main focus, but I am also well versed in UI/UX design, and web development. At work I have been a proven mentor to co-workers, and junior developers. Further, I have personally worked with co-op students, helping them learn new technologies and techniques to jump-start their careers.

Since beginning Android development I've been consistent with my quality of work, always taking the time to build things to a high quality standard. I’ve consistently delivered features, updates, and products on time, under my own time management. Given a clear goal with a timeline to work towards I can manage myself or a small team to meet (and when necessary exceed) the given task.

Right now I’m looking to find a full-time Android development position in Vancouver, or a full-time remote position.

Relevant Experience

Airy

Lead Android Developer

May 2016 — March 2020 · 3yrs 11mo

During my time at Airy my responsibility was to develop and maintain our Android client. I joined very early on when the team was only 5 people in May 2016. The company originally focused on creating an app for consumers to direct message any business like they would their friends. This approach required us releasing 2 Android apps, one for consumers and one for businesses—we built both using the same core code base, utilizing build variants.

Since then, the product shifted to find a fit in the consumer-to-business messaging market. We ditched the consumer app, and today Airy is a platform that conglomerates 3rd party messaging services into one shared inbox. We were one of the first to create a CRM for a business to manage conversations with their customers over their existing channels. Airy innovated on many fronts, from complex messaging automations, to being the first to provide an in-app template builder for Facebook Messenger templates.

Our Airy Messenger app allows businesses to communicate in real time with their customers. Our feature set focused on making messaging easy for businesses, and convenient for consumers. We had rich media messages, and complex template support that works natively in Facebook Messenger, among lots more features around CRM like tagging, and filtering.

The Android app was complex, not complicated. I was very strict about what to build new, and what to make more robust and reusable. I'm proud of how understandable the codebase is; it's easy to maintain & keeps consistent standards. There is also not much bloat through regular refactoring efforts and our 1st party solutions for problems, otherwise solved by oft bloated dependencies. All in all our app was responsive, dependable, and small (around 8mb), which was my goal from the start.

I would be happy to talk more about specific libraries and techniques we used at Airy. To write it all here would just be too long.

Flow

Lead Android Developer

April 2014 — April 2016 · 2yrs 1mo

I originally joined when Flow was a project within Metalab, I worked for Metalab to convert their mobile web version of Flow to a native Android app. After some time Flow got too big and split off into its own company and I went with it to continue my work there (we were in the same office so the split wasn’t so dramatic).

At Flow I was in charge of our Tasks and Chat apps for Android. Both respectable full applications with their own unique challenges—technologies, and feature sets. For the most part I was the only Android developer, however I worked with other senior Android developers along the way for months at a time. I worked to find and hire 2 senior Android engineers during my time at Flow (both went on to Metalab). While working for Flow my role shifted to team lead, we would exchange ideas and techniques, review code, and I would manage deadlines. I also mentored a co-op student (who later joined full time) one-on-one for some months helping them to ship production code, and gain confidence in our code base.

Our apps were quite interesting to work on. Having two (sometimes 4 for debug/production) apps installed on a single device is a fun challenge on Android. Doing things like that forces you to learn the platform even deeper than normal, digging in to AccountManager to share auth for example. The technical challenges and pace of work forced me to cut out unnecessary tasks and keep a sharp focus on my time.