For a while now, my primary focus, in software development, has been Android development. I briefly touched on this in my last blog post Best ways to learn Android development for free.
I am not very good at graphic design. It was, by far, the worst part of Android development for me. I couldn’t design a goddamned thing. It doesn’t matter how hard I tried, it never looked good.
Why I got into Android development in the first place?
The first programming language I ever learned was Java. I bought Java: A Beginner’s Guide by Oracle Press. I didn’t really know why I chose Java. It was really because it was the most popular language at the time, and still is. I think that it was a good choice.
Java is a really robust language, with which you can build almost anything. It is cross platform and really easy to understand.
Another reason why Java was a really good choice for a first programming language is because Java is the official language used for Android app development. I use an Android phone and most of my friends use Android phones as well.
Building an Android app is a project which can be planed relatively easily. I could build it piece by piece, and I could use that app in my day to day life. One day I could create UI of the Main Activity, on an another day I could create a database etc.
Why isn’t Android development working for me?
As I said in my previous post on the best ways of learning Android development, I prefer the more mathematical approach to software development. I don’t want to deal with designing the UI. Things like making sure that my color palette fits the theme of the app, or the app UI could look good on multiple screen sizes drove me through the wall.
In my short time with Android development, I constantly avoided designing anything, While I was preparing to start work on my first Android app, I looked into outsourcing the UI design to someone else. I went through some websites but I didn’t end up using any of them. After that, I started talking with my cousin, who liked to design logos and thing like that, if he wanted to work on the app with me. He agreed and said that we would start work on designing a basic prototype of the app UI, and that he would send me his progress within a week.
The week passed and he didn’t send anything. Whenever I would ask him about the app, he would say that he is really busy and that he will get around to it. After waiting for three weeks, I took matters into my own hands and designed the goddamned thing myself.
It looked like crap. It wasn’t to the point that you couldn’t look at it. It was just really bland and monotone.
Everywhere you looked, you saw only grey and white. Despite that, I released it to the Play Store, as it did help me find bugs in it, and I learned stuff by fixing it. I learned about different device sizes, display density, RAM etc.
I don’t want to waste any more of my time on something that I don’t want to work with later in my career. I don’t want to be a front end developer, which Android development essentially is, I want to work with something which requires a little bit more of maths, data structures and algorithms.
What is my plan?
I’ve never worked with Python, only Java and Kotlin. Python is a really different language than either of those. I plan on giving myself a week to familiarise myself with the basics of Python.
I am not saying that I’m gonna become an expert in Python in a week. All I really need to get started is the bear basics.
I need to learn basics of how a Python program is structured, how variables, objects and functions are declared, the native language libraries (data structured and stuff like that).
Most probably, I am going to learn TensorFlow. It’s made by Google and people seem to generally like it, so I think that it’s a safe bet.
From this point on, this blog’s main topic is going to be my journey of learning Python and deep learning. I might occasionally release a post on Android development, but it’s really unlikely.