Today, we'll discuss why I jumped ship and chose to become a Golang developer. My academic background and professional experience have primarily, if not solely, been focused on Java during my college years. Almost everything was taught in Java, object-oriented programming, design patterns, and whatnot. Then my internship at AWS doing back-end development Java turn full-time android development Java. Now, android development wasn't my cup of tea, and back I was to back-end development, then back to Java. Which is all fine and dandy, but nothing that gets me excited. It's like what some girls like to say "he's a nice guy, but he's not giving me the butterflies"?
So, I got sick of Java and was in search of something that could keep me up all night. My keyboards are now working on my side projects if I were to potentially spend the next few years trying to master a programming language. I really want to make sure that it's worth my while. I know some programmers like to work on different side projects with various languages, but I prefer to pick one programming language and stick with it and kill many birds with just one stone.
My considerations to become a Golang Developer are:
I would prefer the programming language to have a growing job market. Because I want a job out of this. According to some startups, there's no doubt that specific languages/frameworks are better for prototyping, like Django's Ruby on Rails and whatnot. Still, as startups start to grow, they need something that is a better fit for scalability. Traditionally many of these startups are trying to lean towards a Java, but if you haven't been looking at any stats related to Go, you can see that startups are starting to pick Go instead.
On the other hand, almost everything is run in Java for more giant corporations. But Java has its own set of problems, some of which we've already talked about at the beginning. It is a programming language designed decades ago, first specifically for an older problem set. These days, there are more modern alternatives like Python, Node.js, and Rubies, but they're way too slow for enterprise solutions. How about a programming language that is even more modern and potentially more performant? You see now top tech companies switching their codebase into the Golang.
The thriving community is a deal-breaker for me. You have to consider how excited and enthusiastic the people learning the programming language are. A thriving community also means that it will be much easier for me to find help on different forums and much easier for me to find encouragement when I inevitably have downtimes during my learning process. And most of all, there are a ton of cool open source projects that I can pick and choose from, to work on during my free time.