developers[]: Rob Fahrni

Twitter: fahrni

Website: https://fahrni.me

Former Windows developer turned iOS developer. I spent the first 25+ years of my career building Win32 apps. In 2006 I got my first Mac. In 2008 I got the iOS Development bug. I’ve been working on the platform ever since.

What is your favorite programming language and why?

Even though I spend my days writing in Swift I still really love C++. It’s like a favorite pair of pants. I think it’s because I spent so much time coding in it. It’s not overly verbose and it gives me all the flexibility I’m after in a language, even though you can really cause a lot of damage with it if you’re not careful.

What one piece of advice would you give to a rookie developer?

Keep your head down even when you feel like you’re not good enough. I’ve felt that way for 30 years now. Be patient, ask question, and don’t give up.

What is the most difficult programming challenge you’ve ever encountered?

Replacing a video decoding and rendering solution in an existing application with a brand new pipeline-based framework. It took a year to complete but the results were great.

What would you say to the developer that was you five years ago?

Your age doesn’t matter. It’s more important than ever to learn new things. Software moves fast so should you.

What one book should every software developer read?

The Art of Computer Programming: Volume 1: Fundamental Algorithms by Donald E. Knuth

Describe your favorite or most memorable “aha!” moment that you’ve had as a developer.

When I was learning to program in C, I struggled with the idea of pointers. A friend of mine said to me remember “& means address of and * means contents of” and it sunk in.

What is one weird or unusual thing you always do when you code?

When I check against null/nil in code I do it backwards; if (null == value), or if (false == value). It’s a habit I picked up writing Win32 code in C and C++. It allowed the compiler to balk at you if you accidentally did an assignment instead of checking for equality.

What have you done as a developer of which you are most proud?

I spent 10 years working on Visio. First as a Tester, then Build Engineer, Developer Support, and finally Development. It was the greatest time of my career and a golden era of software development.