A lot of people say that to succeed in the business, especially in the Tech world, you must focus on one thing, and be damn good at it.
But how do we know which language to choose from? Have you ever felt so lost and so confused?
I'm willing to bet that at some point in our lives, we all have.
I handled my confusion differently -- I tried to learn as many as I could in my youth without nothing much to show for it.
A lot of us didn't know where to begin... so we depended on education. As did I.
For one semester each, we were introduced to this bizarre world of syntax, code compilation and execution -- and a lot of printing! We covered until arrays. As if loops weren't hard enough!
Then, when I went to college and chose the wrong course in school #1, I took a programming class for two semesters: Java. We actually made a game in the end. We covered advanced topics: graphics, sockets, threading etc.
When I shifted to Computer Science and went to school #2, we were bombarded with programming languages -- the very foundation of them. I learned:
- C - The first programming language taught to freshmen. I absolutely hated it. I never really liked procedural programming. And, oh, pointers! Ugh!
- C++ - I liked this one, even joined a programming contest at school and won second place, I think. Finally, some object-oriented programming, I thought.
- Assembly - Low-level programming. I struggled printing my own name.
- HTML, CSS, JS - Just the basics. Nothing fancy. At one point, we were asked to replicate the google balls animation and replace that with our name. That activity was pointless. We just changed the coordinates.
- COBOL - All I can remember is 8 spaces! And we had to write it. On a yellow pad paper.
- Mobile Development - Nokia - Oh, don't even get me started on this.
- Groovy - This was like Java and proved to be helpful while learning python. It could take some getting used to, especially when you come from Java and C++ programming languages.
- Java - I joined programming competitions in and out of school. Never won outside of school, though. Haha.
I started off taking free online classes on Coursera. Back when it wasn't so popular, most of the classes were actually for free. I studied Algorithms 2, NLP (for our Thesis), Python etc.
Then, I bought a course on Udemy: Programming in iOS Swift 6. In the years to come, I bought 2 more courses--iOS Swift 7 and 8--and never got around finishing it. What a waste!
I was exposed to design patterns, frameworks, MVC, and Java Enterprise Edition (J2EE) programming.
It was amazing. For the first time ever, I actually felt like I was a part of something bigger. I was being productive.
We developed a full-blown web application on our own. It was one of the best experiences ever!
I still had side hustles as well: I continued with iOS, dabbled with Machine Learning etc.
Just like before, however, I have never, not once finished a course on Coursera completely. Something always comes up that makes me miss a programming/assignment deadline -- outing, OT, family, other real-world problems etc.
I had some freelance projects as well, all of which were programmed in Java.
I still do some freelance projects, still in Java. Why? Because most projects are desktop apps. And I'm using a Mac.
I remain consistent in my drive for learning and continue to subscribe to free MOOCs. But I still can't finish them.
On top of that, I also learned the basics of React Native. I joined a couple of hackathons and developed prototypes with my team for iOS and Android. That has been one of my ultimate goals -- to publish an app on the App store.
I mean, you can't create an app -- any app, web, desktop, mobile -- if all you know are arrays, printing, loops, and basic UI. No, you have to learn the integration, study the libraries, the API, learn new components, build... so much to learn, so little time.
"Jack of all trades, master of... [a few]"
I still want to finally publish an app on the App store/Play Store.
Also, I want to legit improve my C# skills because I love my job.
I want to finish my MBA with flying colors and become a future founder or co-founder in the near future.
I also want to eventually become a renown blogger and publish a book someday.
I want to do so much with my life.
But how? How can I become all those things and, at the same time, start learning and mastering a new language?
You're lucky. You're choosing the programming language you want to study based on your goals and interests.
Stick to one programming language -- fall in love with it and master it. You will be a subject matter expert in no time.
I have known a handful of people who made it when they focused on one language. They became experts in the field and are now well-traveled Tech speakers.
How did you come to choose the language that which you now are an expert? Any advice for a puzzled, goal-oriented, and passionate developer?