Friday, May 13, 2016

What I've learned

TL;Dr I have a lot to learn.

I like Android, no secret there.
I've been attempting to do things on Android for the past 3 years or so. I started knowing literally nothing, no Java, no XML, not even design or best practices or anything really.

I knew one academic quarter of Python. And I had some free time.

The first year I struggled wrapping my head around just plain Java and making layouts in XML. I felt like there was always so much about Android that I could never manage to learn it all.

In a way, I was right. There is so much in the Android SDK, even experienced developers will sometimes run across a feature they've never seen before. And this should come as no surprise, as there are many problems that an application can tackle and many ways to solve the same problem. My first year with Android was all about worrying if I would ever learn enough.

My second year was all about catching up on the things I had missed the first year around when I was getting Java and Android under my fingers. Basic things I had missed. Things like orientation change, context leaks, memory management, threading on Android. Layout efficiency and inflation was a topic I had recently discovered and it fascinated me. It was around this time I also began using Git, and scripting much of my build process in shell scripts. I felt like already I had come a long way, even if my Android applications themselves may have not shown much difference.

In my third year is when I feel like I truly began exploring the world of Android and Java. I learned about libraries and how useful they are. I learned about RxJava and the idea of applying functional programming concepts to an OOP language. I learned about MVP and what I should look for when designing my applications. I learned why Java and Android were ugly, and how many differences there were across devices and platform versions. I learned I had a lot of rewriting to do. I'm happy that I learned this all now, because if I had known about this any earlier I probably would have stopped Android. Any later I would have been too deep in bad habits to really make a change.
And there is still so much out there I just don't know. I don't know how it works or maybe I don't even know it exists. Case in point, I learned about the existence of RoboElectric about 2 days ago. 

I'm not the best programmer, but I've found over the years that I don't have to be. Improving comes with time, as long as my drive to get better is still there. As long as I know there is more out there to learn. As long as Android continues to persevere as the open system that encourages improvement and change.

I'm always learning, always striving to get better. Always looking for new things to make.

give me money


========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?

Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com

Follow my FaceBook Page
Follow my Google+ Page
=========================