I recently spoke to Sam Jarman about my Developer background. The full interview is available below.
Introduce yourself! Who are you? Where do you work?
I’m Nick and I wear a few hats: I’m the Head of Mobile at Trade Me, I co-founded Improved.by and I am very passionate about bringing mobile enthusiasts together which is why I started Cocoaheads Wellington and Google Developer Group Wellington.
Who or what got you into programming?
I studied Mathematics and slowly developed a passion for Computer Science. Programming felt magical to me, especially because it could be used to bridge the virtual and physical worlds.
How did it feel to go from a solo developer at Trade Me to lead a team? Any insights to share there?
I’ve been working in the IT industry since sometime around the year 2000. I began as a solo software tester working in an pseudo-autonomous manner while I studied Computer Science at University. After graduation I took a programmer job and over the time of my career I have worked both as part of a team and as a solo indie developer. Both approaches have their pros and cons, obviously. The one thing that draws me to team environments though, is the opportunity to leverage the collective genius of a diverse bunch of people. At Trade Me I was the solo iOS coder for a while (I actually transitioned into that role from a more back-end dev type role) and once the iOS app proved itself, the management saw the value in growing the team. Almost eight years later, I am lucky to work amongst almost 50 people that focus almost exclusively on our family of native apps and libraries. It really is amazing to think about that. The job did have to constantly change in order to accommodate this growth. I learned new skills and went through trainings I never thought I’d have any interest in. Apart from the yearly refresher on iOS and Android APIs, I enrolled in design courses, management and leadership trainings, I forced myself to do more public speaking and, most difficult of all, I pro-actively chose to stop coding (at work).
How did it feel to mix management in with development full time? Do you ‘miss’ writing code?
I cheat. While I don’t code at work anymore (apart from the occasional proof of concept, code review, or tech demo), I do code in my spare time. The reality is that my team needs me to solve problems that don’t always have to do with code. Do I miss shipping my own code? Yes, I do. Do I think that if I coded our apps would be better? No, I don’t. My philosophy has always been to try and hire people who are either better than me or have the potential to become better than me. This pretty much implies that if I coded, I’d be slowing people down…
What would you say to junior devs trying to choose between larger companies like Trade Me and smaller companies?
I can tell you why I enjoy working at Trade Me: I feel like my contributions have a direct positive impact on my friends’ lives. The other thing that attracted me to Trade Me was the desire to do what I can to keep the landfills empty…
The same way, each and every developer out there may have some passions that are not necessarily tech related. Whether it’s fashion, or gaming, or public transport, it doesn’t really matter. What I believe to be important is to try and marry technology with some sort or larger ideal. That will give you purpose. And then Trade Me, or some other smaller (or larger) company, will reveal itself as the conduit for you to achieve that higher purpose.
What has been your toughest lesson to learn in your software career so far?
It took me a lot longer than I wish it did to accept that end-users are never wrong about how they feel. The value of UX research has increased in weight almost exponentially with each year of my career…
What would be your number one piece of advice for a successful software career?
Strive to make your users smile when they use your software.
I hear you’re quite into home automation – where do you see that field going? Are you excited about IoT?
Modesty aside, I’m almost fanatical about home automation. I contribute to open source projects in this space and I have 3 home automation platforms running at home. I’ve “automated” everything from Coffee Machine, TV, Sonos, and Heat Pump, to Lights and Baby Monitors… Seeing my 3 year old girl overwhelmed with joy when the motion sensors she unknowingly triggered light up the Christmas tree is absolutely priceless. I’m into Home Automation for a couple of reasons:
- creating magical moments that delight me and my family every day
- researching and addressing any security and privacy issues that arise from having more and more devices connected to the Internet
My most recent talks and sessions on the topic were focused on means to secure existing devices that cannot have their firmware upgraded in order to improve their security and prevent malicious attacks.
Every device that can be turned on and off, can be automated. Whether you should, is a different question.
If automating the electronics in your household/life can improve your quality of life, then it’s probably worth thinking about it. Here’s what happens when I say “Good morning, Siri” every day: my coffee machine turns on, the Heat Pump warms up my living room to 21º, the lights downstairs turn on, and my Sonos system starts playing my favourite playlist. Of course I could do all these things manually, but to me that’s the difference between a hotel room and my home. At home everything is set-up to suit my family’s needs. It’s homely…
What books/resources would you recommend?
On Coding: I think every developer should read Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin.
On working with people: Drive: The Surprising Truth About What Motivates Us, by Daniel Pink.
Finally, make your shoutout! What would you like the readers to go have a look at?
You can find me at parfene.com and by following @nicktmro on Twitter.
Some of my longer form ramblings can be found on Medium.
The Trade Me apps can all be found at trademe.co.nz/mobile
Finally, my most recent venture is called Improved. Our vision is to remove the guesswork from finding the right person for each job.