Airy - Android Developer/ Designer
- May 2016 → Present
- Berlin/ San Francisco/ Victoria B.C.
At Airy Messenger I’ve been in charge of developing our messaging apps for Android, and influencing the product design - including designing the company logo. I joined the team May 2016 in the beginning I worked with Afik Cohen on the Android app before he moved on to work at another company, since then I’ve been the sole developer for both Airy Messenger and Airy Pro. My responsibilities include maintaining the Android Apps, building/maintaining API documentation & standards, working on UI design, planning new features/building out the database to support them.
Airy began as a consumer facing messaging service that allows you to message any business even if they’re not actively using the service by routing messages through third party channels. Currently Airy is focusing on building a business app (Airy Pro) that allows small—medium sized businesses to handle all messages from different channels. For example I’ve built a Facebook Messenger webhook connection integration into the Android client to allow FB messages to be handled through Airy, and there are plans to add more integrations like that in the future.
I’ve worked on designing the apps in a way that’s aggressively flexible in certain ways. This flexibility has allowed us to try new features on Android before moving them to other clients. We’re using all of the standard nice libraries like Butterknife, Rx, Stetho, Fresco, DBFlow (SQL), etc. As well as utilizing Kotlin for a few key features where it works well.
Flow - Lead Android Developer
- April 2014 → April 2016
- Victoria, B.C.
During my time at Flow I was responsible for: building, maintaining, and designing both Android applications. I built both Tasks and Chat from the ground up, working mostly as the sole developer. I did have help later on for about 6 months when I hired another Android dev (a challenge all it's own) who worked remotely from Brazil but had to move on to Metalab for help with client projects, and we also took on a co-op student for 4 months to help with Chat. Finally, I helped to mentor a part-time intern for 2 months while he learned some basic Android development skills.
To build both Tasks and Chat there were a lot of differences on both the UI and API sides, but there were some core technical similarities. The Tasks client was built as a REST based application, whereas Chat was built as a realtime WebSocket & REST based application so that it could handle lots of traffic (architecture was v/ similar to Slack). The apps shared OAuth on-device through AccountManager, so if you had already logged in to one app you were automatically logged in to the other. Some things I learned through doing this were shared in an article "Two Key Things to Check before Publishing your Android App" for our development publication that I started internally called "Developing Intent".
I learned a whole lot about process, and time management while at Flow. Which is fitting being that it is project management software. We worked in weekly sprints and used Flow to manage tasks and project goals, we also used Flow Chat as our company wide chat system. For pushing out builds I had a steady release schedule being maintained to at least bi-weekly for both applications. In both Tasks and Chat we used the Fabric SDK for reporting, I also set up internal beta's and Gradle variants for our company specific next API's. Should note here that all of these Gradle variants supported AccountManager having multiple Flow accounts on-device for different API environments.
- Android Developer
- April 2014 → June 2015
- Victoria, B.C.
Adding this in for technical reasons, Flow was previously a part of Metalab and I did technically work for "Metalab Software" during this time before Flow branched off into it’s own company. I was for the vast majority of my time working on the Flow products during this period.
- Graphic Designer/ Developer
- January 2013 → March 2014
- Nanaimo, B.C.
I started at impact studio as an intern, and did the typical churn out business cards, posters, and pamphlets with InDesign thing. This really helped to sharpen my Photoshop skills but I would not consider myself much of a graphic designer these days. Back in 2013 Impact was also a print shop, and I got very familiar with that entire process from the final printing, cutting, and packaging stages, to considering ink bleed, paper-type, and document formatting into my design processes. Impact also did a lot of local and regional web development projects, I helped with IA design and a lot of planning out scope for projects — we used CMS systems like Wordpress (I know, I know..) so I did a lot of work in Wordpress, and eventually Squarespace for smaller client projects like cafe's and local businesses.
- Self taught 💻 📖
- Currently living in Victoria, B.C. Canada
- Open to relocating
- Comfortable working remotely
- Can provide references or more info upon request
- LinkedIn: linkedin.com/in/derekcsm
- Github: github.com/derekcsm
- Email: [email protected]