Just one year ago I ended my journey on the Microsoft stack and decided it was time to play on the JVM. I thought about writing the ever popular blog post about why I left the .NET community but in all reality I just wanted to see how the other half lived. Most of the people I looked up to in the community were writing software on some other platform and it was time to see what I was missing.
Unfortunately after only a few weeks at the new job, it was clear I wouldn't be writing much code for a variety reasons so I decided to spend my time outside of work learning something different. This was unusual for me because in the past I'd spent most of my time outside of work on the 'technology treadmill' learning the latest frameworks, tools, etc so I could keep up with Microsoft as they pushed out every enterprise piece of software you could think of. The big problem with this approach is that it increased my burnout rate dramatically for obvious reasons. But after talking with a friend of mine about how to deal with burnout he suggested writing software for fun (again). To be fair it was the reason I got into this industry in the first place so I took his advise and decided it was time to code for fun in my spare time.
At the time iOS development was the hot new thing so I started spending most of my 'free time' learning about objective-c and cocoa touch. What started out as a simple hobby soon became the reason I got up in the morning. And when I say 'got up' -I'm talking early. I was working 7 - 4 at my day job so I started getting up at 2 or 3 am to write objective-c until I had to leave for work. It was about 2 months into my first project that I started waking up on my own at this time without an alarm clock. My life started to revolve around this simple mobile app that I was building and soon I found myself wanting to write objective-c full time.
I started to look back at the seemingly big shift developers made in the early 2000's when web development hit the scene. I was just out of college and web programming was all I knew about the world of software development. So to me at the time it was the only way software was built (in my little world). What I didn't realize was how the entire industry was making a shift away from legacy (non-web that is) tech and the developers who didn't jump in got stuck maintaining systems that no one else wanted anything to do with.
For some reason I applied this idea to mobile development and took it to an unrealistic / unhealthy extreme that got me thinking the personal computer was dead. That some how people would quit using computers altogether and only use software that was available on a phone or tablet. I still remember an interview this past year where I said 'consumers have quit using desktop computers, if your software isn't built on a mobile platform your business is dead'.
Not to say you shouldn't be doing mobile development but in reality people are still using desktop computers. The majority of that time is during work hours but at 5pm ish most consumers unplug from work and fire up the tablet / smart phone. Yet for some reason I was obsessed with this idea and decided that if I was still writing web apps in 2012 my career was over. At this point I should have realized my dogmatic view of mobile development was flawed but for some reason I kept moving in that general direction.
It was about this time my first iPhone app was approved by apple and made it into the app store. This only fueled my sick passion for mobile development further so I started learning Android. I spent the next 7 weeks building my first Android app. When this app was finished I went on to the Windows Phone platform. I couldn't get enough of the mobile development story. With each app I felt closer to landing my dream mobile gig.
I realized that instead of having to specialize I wanted to get back into a more general web development role working with a small team where I could see a direct impact from my work. I was writing a batch application at the time on a very dysfunctional team and decided it was time to move on.
Just a week after I finally decided to move on, I heard about a small team that was looking for a python web developer. Not having any experience with Python and limited experience with Linux it was a long shot but somehow I was able to express my passion for learning and got a job offer.
Without a doubt 2011 will be known as 'The year I thought I wanted to be a mobile developer' because of my insane drive and passion for mobile development. But through that experience I found that the mobile web isn't going away anytime soon. And since then web development has become my passion all over again.