How I am learning Android Development
Hey! My name is Logan Blevins. I am a University of Kentucky graduate with a BS in the College of Engineering in Computer Science, with a minor in Mathematics. I am on my third year of experience with iOS development and loving every bit of it. New things are always emerging, along with new versions of Swift to keep me agile.
Why I wanted to learn Android Development
I want to learn Android to broaden my technical spectrum of knowledge. It's great to be the go-to guy for iOS, but I certainly think there is value in flexibility as well. I didn't foresee Java as a difficult to learn language, but more so the Android ecosystem and SDK being the most difficult to learn. There is value in learning both mobile platforms because many companies now desire to publish apps for all customers. Additionally, it allows me to switch my focus to a different platform if the need arises, making me more valuable.
How I approached learning Android Development
I'm not a huge fan of book-learning. That said, I purchased the Big Nerd Ranch Android book to supplement my learning when needed. My go-to way of learning new technologies, is gaining comfort in the general ecosystem at first, then progressing into more deep and technical aspects of the platform on a more ad-hoc basis. Essentially, I become familiar with the native language, IDE and the general structure of an app on the platform and the project organization first. Lastly, I can learn individual aspects of the platform as-needed, on a per task basis to avoid the huge overheard of simply reading through a 600 page book all at once.
Challenges I faced
While iOS and Android are very different in the project structure, language, SDK, and abilities that the developer has, they are essentially the same thing. What I mean, is that they are both modern, mobile platforms and both exist to accomplish the same purpose. The difficulty lies in the details. With iOS, there are a lot of nuances that take a long time to learn when working on a particular task. With Android, you have to re-learn how to do that same thing but in a totally different fashion. This can be time-consuming and frustrating to learn the same thing in different way.
While I'm not the biggest Android fan, I do find that it is very valuable both professionally and personally to learn things that you may not necessarily want to learn. It is both true and untrue that I want to learn Android. I see the value in it, but have more desire to perfect my skills on iOS. This is a deeper connection than that discussed here. As humans, we usually prefer to stick with familiar things in life, even if we continually grow in them, rather than switch to something totally different. Learning new things is hard and mastery is painful, but worth it.
Tips and advice
Find a small project to start on. It needs to be simple and quick to gain confidence. As confidence grows, find a different project that is bigger. In a professional setting, this may instead mean learning to fix a particular bug or creating a specific new function in the app, such that you're able to bite off small pieces of knowledge instead of trying to learn it all at once.
Final thoughts and next steps
My knowledge of Android certainly does not match that of iOS yet, but will with a little time and grit.