March 20, 2018
While Node.JS grabbed everyone’s attention by quickly becoming the star of fullstack development, Go accomplished this success by having one of the best learning curves, along with the brilliant processing power it’s bringing to the table.
We don’t have to hire backend developers, we can just hire JS developers and we are done for our project.
Being able to use JS on both sides can have its advantages and disadvantages obviously. We have to understand that choosing this kind of development also brings out the weaknesses of it.
Not at all. Node.JS is rising to the top of the charts as the most used tool by thousands of companies from startups to enterprises.
In the last 5 years Node.JS radically dominated as the rising tool for backend development powered by its promise behind it. For some companies, it is the Holy Grail, but for others, the adaptation of Node.JS didn’t work out properly. This can easily happen with any technology, if you ignore its drawbacks, like the fact, that it’s really hard to maintain a Node.JS monolith project in the long run, and not just from a DevOps point of view, but from code quality as well.
Go has a promise as well, but it’s a little bit different. It focuses on the fact, that it should be
The promise of Go is that you will be able to learn it quickly, therefore you can create faster and more efficient softwares, without additional effort on the maintanence side. You are going to need less resources, and it’s still going to perform better than you would imagine.
As a software engineer, I have to say that these are pretty much the features everyone would love to see in a language.
But the fact is that Golang has its downsides too, for example dependency management and versioning are still a huge issue.
Not at all. Companies started to adapt Go like it’s the new Holy Grail.
Like… it’s Node.JS.
The language has gained quite a community behind it in the last couple of years, and also projects like Kubernetes help a lot in that.
If we are trying to compare Node.JS and Golang from this perspective we can see that there are a lot of similarities.
Software engineers are worth a lot and this is not likely to change in the future. Still, from a hiring standpoint, sometimes it is more difficult to find candidates for a position than it is for other positions.
If your company is working with Node.JS and you are trying to hire developers, you are going to encounter the problem of quality and quantity.
If you are trying to hire an experienced Golang developer, it will most likely cause a lot of pain for you.
There are a couple of reasons why it is hard to hire Go devs right now:
While they are usually expensive, experienced Golang devs tend to be great software engineers. While writing a functional code does not require too much effort in Go, creating a scalable codebase, implementing testing solutions along with monitoring and application shipping require all sorts of IT experiences besides practical knowledge about Go.
Another fact that we should consider here is that we are living in 2018, when the stock market is filled with Cryptocoins. Without going into too much detail here, we have to notice that Golang became one of the most dominant languages for blockchain developers.
Since blockchain is the buzzword of the century, you are in a better position to hire Go devs, if your product is related to this topic.
At this point, we are aware of the fact that Go has the potential to grow in the same way Node.JS did.
This means that a lot of experienced Golang developers are going to be needed on the labour market. Like in every industry, the more experience and knowledge you offer, the more money you are going to earn.
Assuming that the language is going to gain popularity in the same way it has been doing for the last 2 years, we can say that getting into it as soon as possible and earning production experiences is definitely going to be worth the time invested.
Just like in every business, improving ourselves and our businesses should be dependent on the returned value of the time and effort invested.
Yes, it is.
No, I think the value you are getting back from your time investment learning Visual Basic is most likely going to be less than the value you could get by learning another language.
The more extensive knowledge and experience you can offer, the better. Think about this:
Currently, there are more companies doing Node.JS than any other languages/tools. Node.JS is in a dominant position and learning it will definitely result in projects.
But despite the huge demand, there is a growing number of companies and developers trying to compete for these projects / jobs. It seems like supply is finally catching up.
Statistically speaking, getting into a language at the time when it is not widely used is more valuable than getting into it later.
This is due to the fact that while demand is growing quickly, supply will most likely be slower to catch up. Because of the increasing demand, companies will have to pay more for developers who are experienced in the given language/tool.
At the peak of demand, developers and companies who have more experience and knowledge in the given technology are going to do really well from a business perspective.
Therefore this is probably the perfect time to get into Golang. The demand is statistically proven to increase every year and the labour market is almost empty. This means more money, more projects, more business opportunities for companies and individuals with extensive Golang knowledge.
As you might recall I started this article with the fact that I have been working with both languages for quite some time. I consider myself getting into Node.JS in its “Golden Age”.
By “Golden Age” I mean a time period in which selling anything related to the given technology is super easy.
I was working for a small company doing contract jobs for other companies (mostly startups). We encountered projects which were only written in Node.JS because of Node.JS being a buzzword at that time. I learned a lot about choosing the right tool for the right job.
The point I’m trying to make here is that we were drowning in jobs. Most of our clients didn’t really know why they needed Node.JS at all. But it did not matter, we were software engineers for hire, the demand said Node.JS, so as a good supplier we acted on this and provided quality Node.JS solutions.
I left the company to join the development of a product which was still in alpha phase, but it was written in Golang 1.3, and they needed someone to push it into production phase. I was interested in Go at that time, but I was inexperienced.
At that time, more and more companies were getting into Go, but the community behind it was just a fracture of itself compared to nowadays. Google was kiiiiinda behind it, but I wasn’t sure about the future of the language.
At the end of the previous year, I decided to become a freelancer and create my own business. This meant that I had to find clients.
Lucky for me, Golang did knock on the door of hype heaven, and got approved.
This meant that I had a lot of different options when I tried to get my first client. After finally choosing a company that I really liked, I have sent them my CV.
As it was my first job as a freelancer, they wanted me to prove myself, and solve a coding challenge for them, which was a basic example of an issue that is harder to solve in Golang. Thanks to my previous production experience, I nailed this challange. I was happy, because this contract paid a lot more than my previous job.
Little did I know that there was no real competition for the contract. After I talked with the client about other candidates, it turned out that the job which was advertised in the following way:
only got 8 applicants.
Half of them were unable to finish the coding challenge and the other 3 contractors were lacking production experience with Golang.
This meant that I won this deal not because I’m such a beast software engineer, but because of the emptiness of the labour market regarding Golang developers.
I had the chance to visit Golang meetups in multiple countries this year. During these events, I had the opportunity to talk about this problem with other entrepreneurs and developers.
It turned out that it does not matter if you are from London or Munich or Budapest, your company is just going to be struggling with the hiring of Golang developers.
More and more companies are starting to be open for remote work just because of not being able to find anyone with Golang experience, and even if they do, they are not able to pay them enough.
After considering all these facts we can say that from a business perspective Golang is ready to step into its Golden Age.
This is a great time to get into Golang, because demand is ridiculously high. As for how long this is going to last, there is no clear answer. However, thinking about long term we can not walk away from the fact that Google is standing behind the language, which tells a lot about what kind of vision should we have when we are talking about Golang .
Statistical information from
Written by Imre Racz, tech enthusiast. Check LinkedIn