Reasons why you should learn Blockchain development today
Is it still worth to pursue a Blockchain developer career in 2020? An interesting question, since it depends on many things:
Is developer demand raising or falling?
What's the cost of Blockchain education?
What's the average salary for a Blockchain developer?
How long will it take to become a successful Blockchain Developer?
Are there any certification programs?
... and many more!
If you are considering attending a Blockchain Bootcamp, or thinking about making a career as Blockchain Developer, or trying to become certified Blockchain Developer, then this is for you! Let's get into it.
According to Joseph Lubin's call to action at DevCon 5 in Osaka: "There are an estimated 30 million software developers globally, yet the number of blockchain developers is in the several hundred thousands".
I can wholeheartedly agree and support this initiative. I gave training to around one hundred thousand individuals through on-demand and on-site courses, so, statistically I was in contact with more than 10% of the several hundred thousand Blockchain developers in their professional career. Well, again, statistically, at least. And what I saw? I saw a lot of struggle, a lot of pain points, a lot of hard work and effort learning Blockchain development. I saw a lot of really great people coming into this space.
If you are just starting out your development career, or you are a web-developer, or a Java enterprise developer, or a seasoned software engineer, why should you start a career as Blockchain developer? And how to get into it and where to start?
There is, unfortunately, no single true answer. It depends where you are right now in your life, what education you have, how much experience you already gained, etc. To answer all these questions, it is necessary to find some sort of a baseline first.
Let's start with the most obvious question: Is there going to be demand for any Blockchain developer in the future?
Will demand for Blockchain Developers be the same in one/two/three years from now?
Everything points towards the demand being at least the same or, actually, it will strongly increase. Why? Observable market movements show that Blockchain solutions are being reviewed and adopted by large players in the market, such as Fortune 500 companies and governments [1] [2] [3] [4]. That, in turn, will naturally drive developer demand up.
But, first of all, it depends in which kind of job you want.
Blockchain developer demand will continue to increase in serious enterprise areas and decrease for ICO-alike projects (let's call them: "shady fast growth companies without a real business plan the SEC will come after"). For someone looking to make a "quick buck", it looks like most Blockchain projects will strongly decrease. Regulations already increased and will continue to rise strongly [5] [6].
It will get much harder to benefit from Blockchain based fundraising, compared to traditional crowdfunding, equity funding, VC funding, etc. So, the need for "someone who can quickly come up with a new token contract" will diminish over time. In short: It is not advisable to learn Solidity to only deploy a new ERC20 token.
Instead, demand for Blockchain developers will increase in broader enterprise areas such as financial, supply chain, insurance, digital identity, land registries, government, etc. It is a longer term success path, but it adheres to regulations and comes down to real business solutions. There is still one big problem: There are several dozen different Blockchain and DLT implementations running on several hundred different Blockchains in public and private. Which ones should you choose to learn first, and why?
Which kind of Blockchain platform is worth going after?
As it stands right now, large corporations are mainly looking into three Blockchain platforms to develop business solutions on top: Hyperledger (Fabric), Corda and Ethereum. Well, depending who you ask, market share among these three is at least well established [7] [8] [9].
Corda R3 is written for financial institutions, mostly banks. So if you want to work on Blockchain projects in/for a bank, then learning Corda first is advisable. R3 has the largest banks in Europe as their partners (or customers). So, if working for large banks is something you want on your CV, then it could mean that there might be an easy point of entry.
What is Corda?
Corda is a distributed ledger technology (DLT) with support of Smart Contracts written in Java/Kotlin. There is no native token, like the Ether on Ethereum. And their approach for the platform governance is vastly different from Ethereum or Bitcoin. R3 is governing their own Blockchain. It's a permissioned private access model, mostly. There is an open-source variant for self-hosting, but for financial institutions it is usually "pay to play", if they want to be in the R3 blockchain consortium. Then a bank can call the R3 office at any time if they need any help. That makes it very well suited for financial institutions, since it brings all the benefits of a Blockchain, including privacy and secrecy. Plus a manageable risk for data and access. In other words, if things go south, there is a back-up plan: call R3. That means there is a very low entry barrier.
But R3 Corda it's not well suited for other projects. Like supply chain solutions. Hyperledger Fabric seems to become the go-to solution for all kinds of supply chain solutions. Walmart built its supply chain tracking solution on Hyperledger Fabric. Maersk built their TradeLens solution on Hyperledger, in coorporation with IBM. Hyperledger based Blockchain implementations are also used for Governments, such as in the UAE, which are building proof of concepts.
What is Hyperledger?
Hyperledger is an umbrella term for many different Blockchain implementations, with Fabric being the most successful (to my best knowledge). Fabric, similar to Corda, is a Blockchain solution with Smart Contracts. Smart Contracts are called Chaincode in Fabric lingo. There is no native token or native cryptocurrency, like Ether on Ethereum. There is no public network. It's private networks, usually permissioned private Blockchain setups. The main usage of Fabric is between consortiums who need a fast and trusted settlement layer. Officially, the Linux Foundation is in charge of the umbrella organization "Hyperledger".
There are also other Blockchain implementations in the Hyperledger project. For example there is the new Hyperledger Besu, which is a typical Ethereum node, written in Java. The other Ethereum nodes are written in Go, Rust, C++, etc. Besu was called PegaSys Panethon before that. It is targeted towards enterprises in private or consortium networks.
So, how does Ethereum fit into this if there are already two major Blockchain platforms out there? Which begs a lot of similar questions:
What's Ethereum? Is Ethereum outdated? Is Ethereum useful at all? What will happen with Ethereum in 2020?
Before being able to answer this, we have to talk about the reason why Ethereum isn't the go-to solution for many use cases right now. When observing what Fortune 500 companies, Governments, management folks and C-level executives from larger corporations say, then there are a few things considered show-stoppers.
These show-stoppers are mostly simple technical misunderstanding how Blockchains operate. Especially with the difference between Ethereum and Hyperledger. It seems to root in the main use of Ethereum right now, which so ingrained as Cryptocurrency and not as platform.
Currently, Ethereum is considered as the public permission-less network. It was never coined as go-to solution for private permissioned consortium chains.
Furthermore, looking deeper, there are two problems that arise from the fact that Ethereum is mostly advertised as the "Cryptocurrency Ether". And the terms Ethereum and Ether are used interchangeably by many people, unfortunately.
Here are the two main problems:
Problem Nr1: Who governs this public permission-less network? It is originally out of a Cypherpunk movement [10] [11]. Many people in the community are devoted to Libertarianism. For many outsiders looking in, this is equal to disrupting the world order (or so?). That frightens. Looking at the enterprise level this increases risk for decision makers and it means a lot of red flags pop up. A big no-no, which you don't have using Hyperledger governed by big whales like IBM.
Problem Nr2: A lot of people only think in terms of public information. Data protection, bugs and governance, etc... In case things go wrong, what do to next? So, the platform itself isn't seen as the "Ethereum Protocol", instead it's seen as the Ethereum Main-Network with the Ether Cryptocurrency. Unstoppable and uncontrollable. That's brings the myth everyone knows and some lived through: If a Smart Contract has just a single bug, it can mean millions of dollars are lost. That certainly isn't an easy sell at a decision makers level.
Then there are these problems:
Ethreum protocol (or Solidity compiler, or tooling) updates are too frequent and often breaking
Ethereum doesn't scale well (enough)
Ethereum tools are not production ready
There is no privacy in Ethereum
and: Ethereum training materials are outdated or simply bad/insufficient
(1), (2) and (3) are all in the same category. It means people didn't understand how to use the tools, which is somewhat connected to (5), the training materials are outdated or bad. It also depends how you use Ethereum. Of course, not every application is suitable for a private network, and, vice versa, not every application is suitable for a public permission-less network, but many people mix up what is what. And more people are simply assuming that some things aren't possible on Ethereum without evaluating the tech stack properly. Evaluation comes at a cost, this is true, but so does making the wrong decision.
The privacy problem (4) does indeed create a whole chain reaction of other problems and questions. For example: How well works Blockchain in combination with GDPR. The right to be forgotten. Privacy Protection. Data protection. Personal Information. Private financial transaction. Zero knowledge. Piracy and crime. Is Ethereum suitable for Banks? Should Blockchains be stronger regulated or are they self-regulating? And so on and so forth. There is even official research from the European Parliamentary Research Service concluding the obvious: "it can be easier for private and permissioned blockchains to comply with these legal requirements as opposed to private and permissionless blockchains.". (Note: I believe they meant it's easier for private permissioned Blockchains than for public permissionless Blockchains?!).
All in all, if feels like we try to use Blockchains for the right cause, but also try to wrap our head around it, because not everyone understands it 100%. We love what we see, all while trying to protect us as good as we can.
Blockchains should definitely not be used for everything. But those points mentioned above shouldn't be any show-stoppers. For example, if Hyperledger is used simply because any of those mentioned points are a problem, then the decision should re-evaluated. As simple as that.
Nr (5), the missing or insufficient training material, is indeed a problem. The underlying problem is not easy to solve. There are many free resources for Ethereum and Solidity development out there. Most of these resources are either outdated or bad. This, combined with the fact that Ethereum re-invents itself at a very high pace, is problematic, at least.
I also found it very hard to maintain a certain level of training material, and ultimately found only in-person training can cope with this.
So, why learn Ethereum if it is not really used in enterprise environments, hard to learn and most likely comes under more scrutiny by governments and regulators sooner or later?
Why learn Ethereum in 2019 or 2020?
Ethereum is, undoubtedly and unfortunately, still a bit of a problem-child end of 2019. But it will not continue to be this way, instead, this perception might change very very quickly. The technology is amazing and continues to amaze. The ideas and the outlook, lastly at DevCon V in Osaka, is just astonishing. But the governance and the reputation is problematic. For two reasons: The team and the approach.
Firstly, as mentioned above, there is no large consortium behind Ethereum. No big household names weighting in with their reputation. From the outside, for non technical people, it looks like a bunch of nerds partying at events around encryption and tech. Given, it's a lot of nerds already, but it's still mostly nerds. While the team is certainly good, and the approach might be ok, because enterprises were never the target market for Ethereum in the first place, it still doesn't help with broader adoption. Adoption would mean more money. More money means more people come in. Some claim though, that it is good that adoption is not so rapid, because it gives more time to develop better solutions.