It was circa 1999 when I bought a Palm V, my first PDA. I learned how to develop applications for Palm OS, which was done in C. I wrote a few useful little applications, and I was even paid by a client to develop a simple application. Later, I acquired a Treo 650, my first smartphone, also based on Palm OS. While this opened the door for internet-enabled applications, I never did anything with it. Still later, I upgraded the Treo to an iPhone 3G. A new development platform, I was initially excited to develop apps for IOS, but I barely cracked the book. A few years later, I dumped the iPhone and upgraded to a Galaxy SII, my first Android device. Again, I had intentions of developing apps for it, but I never got around to it, apart from experimenting a little with Adobe Air. Since then, I’ve acquired an Android tablet and upgraded to a newer Android phone. Android has been in my life for five years, and though I consider myself a developer, I have not made the leap into Android development.
However, I now have a need for an application. A simple app, but one which will be very helpful to me. I am finally getting around to learning Android development.
I also have a need to improve my Java skills. I “learned” Java when it was new, which is to say that I read a book about it. I put it on my resume. I understand Java conceptually, but I’ve hardly used it. I’ve examined code and made minor modifications to existing Java applications, but I have very little practical experience with Java. Java has evolved and grown significantly since then. Meanwhile, my own skill set has stagnated. Prior to learning Ruby, I hadn’t learned a significant programming language for over a decade. My fluency with other development technologies, such as .NET, has not kept up with their evolution. I am still fresh with C and PHP, but neither of those can sustain a high-paying career today. Jobs utilizing Java are now the most numerous among development positions, and they are the highest paying. If I want to compete in the development job market, I must become a better and more experienced Java developer.
Near the beginning of this year, I resolved to begin actively learning new technologies and escape my stagnation. However, I allowed the needs of my employer to drive the technology choices. That is what led to the choice of Ruby, as well as Puppet, Sensu, and PowerShell. However, my employer jumps around too fast, shifting priorities almost weekly. Consequently, my progress has been unsatisfactory with all four of those technologies.
So I am eager to pursue a useful Java application, especially one of my own choosing. Android development is a good way to do that, and this application I intend to write is a good start.