A lot of people new to coding always ask me these questions:
- “How hard is to learn to code Java?”
- “How long will it take me to make my first Android or iOS app??”
- “What is the best programming language to learn as a beginner???”
And first off let me say that I am by no means a Commons Ware caliber coder.
I’m just a regular guy who wanted to make an app 2 years ago and made my first app 1 1/2 months shortly after (it was crappy though)…
…The thing is that I’m still a beginner to coding (Java and Android app development specifically) but not a complete beginner.
I have about 2 years of on and off Java experience and about 6-12 solid months specialized in Android app development at the time of this article’s writing.
But this is exactly why I made this site:
To help beginners enter the initially confusing world of coding by providing my advice being down the path (but not too far down) you will soon take.
Sometimes experts just can’t understand what it is like to be a beginner and as a beginner when you see these coding geniuses on Stack Overflow it can be intimidating.
But with that aside let’s get into the topic…
How Hard Is It To Learn To Code (Java, Android, etc…)?
The real and true answer to this question can only be another question.
I’m personally analytical as f*ck so I dislike taking polarized sides to any issue…
…I’d rather break it down for you so you can decide the answer for yourself
Before even approaching this question we must first decide what “hard” actually means. When you ask this question it likely means one of these:
- Is it beyond my ability to overcome the challenges presented by learning to code?
- Does learning to code require a special skill that I do not possess thereby making it impossible for me to do it?
- Will it take so long to learn that the opportunity cost of learning to code will be too much?
- Is my dedication and mental fortitude of a level at which I can achieve this goal of learning to program?
These are only a few that come to mind and they might not be very accurate, but the point I’m trying to get at is that…
…you should never look at what you are asking, you should look at the motivation and why behind what you are asking.
Enough of the analytical bullsh*t, here is my personal opinion on learning Java or Android as a pure beginner.
Your Ability To Learn Programming Comes Down To 2 Factors…
1.) Your ability to be a dynamic problem solver that never shys away from overcoming obstacles
A mouthful right?…
But from my experience coding is literally this: problem-solving.
Every second, hour, day, week, month, and year you code, you will be hit with a crap ton of problems:
- Programs will blow up in your face
- You’ll search your program for 6 hours to find a bug except…you just forgot to add a period to a statement
- You structured your program in a way where it is unfriendly to people revising it
- You’ll search online for hours just to be confused more by monstrous blocks of code made by professional programmers
- You forgot to optimize your app for tablets and people with tablets now passionately hate you
- And much more……
This is not to say that you can’t enjoy
2.) A Passion For Thinking Logically and A Love For Challenging Your Mind
Objectively coding is difficult as fu*k, but not in the way you may think.
It’s a “possible” difficult that gives you a rush when you overcome problems you previously thought were impossible.
It is the coolest feeling when something that was so obscure and out of reach before becomes so easy to you.
You slowly begin to realize that you can do anything if you put your mind to it (cheesy but true).
Having a genuine passion for thinking logically and actually loving the challenge that coding poses will make it a breeze to learn coding.
You may not have that passion yet or even realize that you have the capability to think systematically, but trust me, it will come to you.
So is learning to code hard?
Not to all people.
It is a challenge that with the right mindset can be overcome and actually enjoyed.
When you can code you equip yourself with a paintbrush you never had before and your computer screen is your canvas.
That being said, coding isn’t for everyone.
It is only for those that can stomach the consistent problem solving necessary to be a coder (which I believe everyone has deep inside of them)
Anyway, I personally know I could have never learned how to code without pushing through that first month where your mind is totally f*cked by semi-colons and parentheses…
…so it’s just all about sticking with it until you know if it is right for you or not.
What I Did To Learn Java When I Was A Complete Beginner…
I remember that the first day I wanted to code I went to my school’s computer science teacher to ask for help.
…long story short, it made me hate my life and I got nowhere with it.
Then I scoured all over the magical internets to find an online course that could teach me Java and Android programming fast.
And this is what I found:
I learned my school’s whole AP Java curriculum with Team Treehouse in 1 month (my school’s class is a 9 month course…)
And in 1 1/2 months I had my first Android app up and running and I went nuts from excitement.
Treehouse has thousands of videos on every coding topic you can imagine, from front-end to complete server-side programming.
The lessons are primarily centered around videos and hands-on coding assignments so you just sit back and learn at 1x-2x speed.
This makes learning literally 2 times faster…
I recommend that you read the article I wrote on Treehouse after my time learning there because it’s the perfect place for beginners to learn any programming language
Then once you have a solid base in the language you choose, you will have the fundamental base to achieve anything in programming.
I encourage you give them a try or at least read what I wrote about them since I certainly wouldn’t have been able to learn Java or Android without Team Tree House.
Anyway, good luck out there and remember that it will be hard at first but if you persist I guarantee you won’t be disappointed in the results.
Next Post >>>
Learn Java Programming: The Fastest Way For Beginners To Learn How To Code Java & Android Online (Team Treehouse Review)