I was thinking for quite a time to learn how to code after I realised (it took me a while, to be honest) that ideas are cheap and I must learn how to put them into practice. The only way to do it is learning how to program, or to have a Steve Wozniak as your best friend, not my case though.
So, my rationale was the following, by learning how to code I can found my tech startup (yep, I was in the startup fever mode) and if that plan fails I can get employed for an above average salary as a programmer. A pretty good plan, isn’t it? Now let’s march forward and tell you my expectations and how the reality turned out to be infinitely harsher than I thought.
Expectation: Getting into coding without analyzing too much is just fine
Reality: Precious time is wasted and you get even more confused
I started my coding journey with the idea of learningSwift — the new and shiny programming language of Apple — and making mobile apps for the App Store to make a few bucks. Why would I do that? Because I have read a couple of articles from tech crunch and it seemed to me that is quite a good opportunity (not quite, after all) and how hard can it be to make to make an app for iPhones and iPads? As it turned out, not so simple as I thought.
The mistake I made was to start with Swift as my first programming language just because I thought is easy to make mobile apps and also to make some profit out of it. I didn’t make any research to know the options out there in the programming field. So, after a month I gave up on Swift and I started a course on Udemy on web development, which was the starting point for getting interested in programming for the web.
The Force Awakens
I began to read more and more articles, blog posts, opinions on what to learn and not to learn as a beginner and slowly a big picture started to be drawn inside of my mind.
- Apple: Objective-C or Swift
- Android: Java
- Microsoft: .NET
Maybe the best option could have been to learn Java because it’s such an all around programming language, but I didn’t like the Android platform (still don’t) and just mobile-oriented seemed to narrow to pursue it, so I thought that choosing the web would be the better option for me. I could make a responsive website and work on a desktop, tablet and a smartphone as well.
Also, this has a great psychologic impact on beginners and self-starters because it gives you the believe that it’s possible to start from scratch and it’s not just your crazy optimism at work.
Of course, at the time I started to learn JS I didn’t know that you can even build a web app with both client-side and server-side written in JS, so in hindsight it’s the best decision I could have made. Since then, I focused on learning JS and the MEAN stack, especially the client-side part of it.
To wrap it up, if I could improve something at the way I started my coding journey would be the following:
- Research more on what can you do and build as a programmer
- Focus on what do you really want to build and create
- Focus on the tools which you can use to give life to your ideas