Thursday, October 7, 2010

Reinventing Yourself as an Android App Developer

I’ve spent a large portion of my professional life as a software developer. I’ve written applications for video stores, doctors, lawyers, insurance companies, banks, and some of the world’s largest corporate entities both as a consultant and full-time employee. For the last eight years, I’ve worked purely in corporate management, but to keep my development skills somewhat honed, I’ve taught myself .NET, specifically C#. My personal web sites are all C# .NET. Over the years, I’ve written applications in C, C++, xBase, Smalltalk, Turbo Pascal, Java, Perl and PHP, just to name a few of the languages in which I’m conversant. I never went to school to learn how to be a programmer, yet it’s been a great source of my success, satisfaction and income over the years.

The first language I ever learned was basic. I had been given a Timex Sinclair 1000 as a Christmas present. In 1982, computers were vastly different than they are today. My Droid X has more processing power than my old Timex did. It hooked up to a TV as a monitor and it stored data on an audio cassette. Primitive as it was, for me it was the beginning of a life-long learning experience. Using that computer, I learned how to write software and I started getting my software review articles published in a variety of magazines. It was definitely a launching pad for my IT career.

I’ve never been afraid to try new things and learning new languages generally comes very easily to me. After all, how many different ways are their to write loops and branches. And of course, there’s always pointers and garbage collection to contend with! But object-oriented is object-oriented. I believe that if you know the basics, it’s a rather trivial matter to apply them to different languages. But rest assured, I  didn’t always have the confidence in my abilities as I have today. If anyone should receive credit for building the confidence I have as a developer, it is Lynn Lehman.

Lynn was a manager I reported to for a time when I was a contractor at JP Morgan Bank on Wall Street. I didn’t care for Lynn very much. I think I rubbed him the wrong way and it showed. I thought he was arrogant, condescending and held a superior attitude over others. (These are exactly the same adjectives people used to describe me in my first corporate 360 evaluation after I became a manager at Warner-Lambert.)

Lynn called me into his office one day and asked me to write an application in Lotus Notes. At that point I had never even seen Lotus Notes, let alone know its programming language well enough to write an application. Lynn wanted an issues tracking database. The foreign exchange currency trading system we just spent 2.5 years developing had rolled into production. Now the development team was transitioning into maintenance mode and Lynn wanted an application to track issues and bugs. He wanted it done in Lotus Notes.

My initial reaction was to protest and say no because I didn’t know Lotus Notes. Lynn just looked at me and very calmly asked me, “Are you a professional programmer or not?” After pausing to recover from this lightening strike, I said, “Yes I am.” Then he said, “So write me a program in Lotus Notes. I want it complete in 6 weeks.” I delivered the fully functioning and tested application in 4 weeks.

A May 2004 article in USA Today called Madonna “The Mother of Reinvention.” This was because she was travelling the world at that time on her “Reinvention Tour.” With today’s high unemployment and significant competition for jobs, many people today are  reinventing themselves, perhaps transitioning into completely different careers than they did before.

So far this year, I’ve written my first book and became a registered facilitator for the Lead Like Jesus servant leadership encounter workshop. As I continue to seek gainful full-time employment, I’ve decided to reinvent my developer skills somewhat and perhaps create an income stream in the process. I’m going to reinvent myself as an Android app developer in addition to all the other irons I have in the fire right now.

How am I going to do it? Well, I’m going to take baby steps at first. It’s been a while since I’ve written any production-level code. Finding my next job and continuing my networking activities are still priority #1. The first step though is setting up one of my computers as a development environment. I’m going to use my HP DV8T laptop for this. In my next post, I’ll share how to setup the development environment.

No comments:

Post a Comment