We are increasingly approaching the long-awaited "maturity" of blockchain technology. We hear about it often, we understand its mechanisms better and better, not to mention the countless use cases. PwC said earlier this year that by 2030 the technology will be able to increase global GDP by $1.76 trillion (or 1.4% of global GDP). Staggering numbers, as are the salaries of those who are experts in the field (more on that later, I promise).
For anyone who has tasted and understood this potential, there has surely been a time when they asked themselves the fateful question: "what can I do to become a blockchain developer?". We do not pretend to give a specific answer to such a question. However, we can give you an indication of the fundamental steps, telling you about our experience (or rather... that of our blockchain developers).
Times have changed
We are heirs to a past governed by mass consumption of standardized products, where the novelty was the same car but in a color other than black, or the invention of a hazelnut cream (Nutella, 1964). On the contrary, today we live in an increasingly dynamic world of constant change, of digitalization of products and services, in which companies (more precisely entrepreneurs) are immersed in a perpetual race to be the first to successfully adopt an innovation or a new technology in order to emerge or simply survive. Global competition has reached such a point that even just managing to grab a market niche is a herculean feat.
But isn't the same true for workers? Each of us is our own entrepreneur. As such, we have a vision that we want to fulfill: to safeguard our future. How? By doing a satisfying and sufficiently paid job. But, compared to the past, whichever path one chooses to take, it is no picnic. Whereas in the past it was enough to get a high school diploma to enter the labor market satisfactorily, nowadays even a university degree is not enough, many other requirements are needed. You can see how vital it is to be far-sighted, to be constantly informed, to be able to work in a team, to have soft skills, but above all to specialize in a particular field.
Technology with enormous potential
Even the choice of which area to specialize in involves a lot of effort. If you're reading this, you've probably already experienced, at least once in your life, that sense of anxiety and uncertainty that accompanies anyone who has to make a similar choice or, at any rate, has to decide what their future career field will be. Blockchain is certainly a sector with great growth prospects. The data speak for themselves: the report presented in January 2021 by the Blockchain & Distributed Ledger Observatory states that in 2020, projects at the global level grew by 59% compared to 2019, while announcements decreased by 80%, a sign of the growing maturity of the market that is moving towards a more concrete adoption. A total of 1242 blockchain initiatives have been surveyed globally from 2016 to date, of which 734 are announcements while 508 represent concrete projects. PwC says that by 2030, the total value of the blockchain market will reach $1.76 trillion.
This is an optimistic outlook, but probably not far from reality. We only have to think of the consequences of the great process of digitalization that is affecting companies all over the world, which are showing an increasingly acute need to protect the huge amount of information that they have to manage on a daily basis. It is from this need that companies are gradually turning their attention to the figure of the blockchain developer, whose demand is growing rapidly. This qualification is certainly well paid, thanks to the fact that it is still not very widespread and highly specialized in a rather complex technology such as blockchain. Obviously, the amount of pay is closely linked to the country in which it is received. In any case, Hired, a San Francisco-based company that connects companies with top tech talent looking for work has used its huge database to estimate the average salary of a blockchain engineer. According to these global statistics, it turns out that such a profile earns on average between $150,000 and $175,000 per year.
I have to admit that I'm thinking about it too...
"Once upon a time there was an IT guy. One fine day he woke up and decided to become a real blockchain developer", from "The Adventures of Pinocchio, story of a developer".
Forgive the irony of this somewhat forced introduction, but it is important to point out that the story I am about to tell does not have a happy ending, it is not exciting, it has no moral, in short, it is not a fairy tale. The aim is simply to provide a concrete and above all real testimony, to report objectively what our experience was so that anyone who wants to qualify in this field can get an idea, albeit brief, of what potentially awaits them.
The protagonists of the story are a group of friends and colleagues who share a passion for new technologies: Fabiano, Lucio, Damiano, and Cristian. They work in a start-up founded by the first two, whose core business is the provision of digital services to support companies through an assisted development platform.
Their interest in blockchain, their understanding of the benefits of using the technology, and the related ever-growing trend (but, let's face it, also their desire to put their work routine on hold for a few days) led them to attend the Malta Blockchain Summit in 2018. The event only reinforced the positive expectations they already had of the technology, laying the foundations for the idea that would later revolutionize the company's entire value proposition: to somehow integrate blockchain into the services they offered.
However, there were obstacles to overcome. The first was the fact that there were no professionals specialized in that field. All four of them are developers, but they did not have specific knowledge of blockchain. The second was the cost of hiring a blockchain developer. As we will see later, the salary for such a figure is high, and as a start-up, this was certainly a problem. It was then decided to learn more about the technology through a self-taught approach, focusing on Hyperledger Fabric as a blockchain infrastructure. Why Fabric? Well, we are talking about 2018 and at the time it was the most popular of the private blockchains. Moreover, it is opensource, so you don't need to buy any license to use it and you can consult a whole range of resources to do training, including guides, documents, and tutorials. Finally, it is also reliable, since it is a project initiated by the Linux Foundation to which IBM contributes.
As we know, the best things always happen by chance, and it was by chance that in early 2019, thanks to word of mouth, a company providing IT consultancy services approached our protagonists. The need was to increase the level of protection of the large amount of information that the company had to manage on a daily basis, through the integration of a blockchain network. The challenge was certainly daunting given the company's immature knowledge of the technology, but there was no better opportunity to specialize in this area. So, after offering a low price, given the team's limited experience, the "Boost" project began.
The first step to ensure its success was to undertake a thorough and very accurate study of the official documentation of Hyperledger Fabric, assimilating the essential elements (structure of a network, channels, certificate authority, peers, smart contracts, etc.). As can be easily imagined, it was not a walk in the park, not so much for the complexity of the concepts as for their volume. Confusion and bewilderment were the order of the day. It was a bit like driving a car for the first time. The feeling was that of being flooded by a wave of information, too much to assimilate all at once. It took several months to get a clear idea of the concepts and to proceed to the next step: applying the acquired knowledge in practice. If we want to associate our story with the path a person can take to become a blockchain developer, this was certainly the most difficult and problematic step. It is true that Hyperledger provides a large number of samples, but putting them into practice is a different story. To quote an anecdote, let's imagine that we have managed, after several attempts, to successfully configure a network, with a number of organizations within it. Now, to check how it works, we simply change the name of a couple of organizations. How frustrated can you get when you see that the whole network has crashed? Not a little. Fortunately, the web is full of real 'angels' who share their knowledge by publishing free tutorials. One of these is Horea Porutiu, an IBM developer who, thanks to his videos, step by step enabled our protagonists to succeed in configuring the entire network for Boost (you can read more about this specific use case in the following article).
The following months were spent perfecting the work, as well as the knowledge and skills acquired previously. After about six months, the project was successfully completed.
It was a very demanding challenge, but without difficulty, there is nothing worthwhile. And it was this hard work that inspired a simple thought: why not make the whole process of learning blockchain development simpler, faster, and easier for everyone? The result was AstraKode Blockchain (AKB), a completely free assisted blockchain development platform, designed to facilitate anyone, from university students to professional developers, who need to build their own blockchain solution or even simply practice to better understand the workings of the technology.
Forgive me if I initially said that there would be no moral, but I shamelessly lied! The truth is that you cannot put an end to the training. Especially when it comes to an ever-evolving technology like blockchain. However, this story can help you imagine what the path to becoming a blockchain developer might be.
Story aside, let's now see in detail the main steps.
A guide to becoming a blockchain developer
It is clear that you don't become a blockchain developer in a day or even a month. There are compulsory deadlines to meet (which we will estimate later). It is a demanding path, made up of various steps, many of which are preparatory to tackling the subsequent ones.
Let's start by saying that there is some prior knowledge to be had. Usually, anyone who decides to become a blockchain developer is already a programmer. Consequently, it is strongly recommended that anyone who does not have a background in programming should attend a basic course, deepening their understanding of at least one programming language (e.g. Golang or Java). Let us now focus on the first real step.
Level of specialization
Generally speaking, it is possible to distinguish between two types of blockchain developers, the core blockchain developer, and the blockchain software developer.
The core developer is responsible for the architecture and security of a blockchain system. Basically, he is responsible for:
- designing the network architecture;
- configuring the consensus protocols and security patterns of the network;
- supervising the network.
The blockchain software developer uses the architecture and protocols designed by the core blockchain developer to build decentralized applications using blockchain technology (dApps). It is a varied qualification and closer to that of the web developer. As such it incorporates a number of separate roles that cannot be covered by a single individual. Its tasks may include:
- the development of smart contracts;
- the development of front-end design;
- the development of the back-end related to the blockchain;
- testing operations to verify the correct functioning of the dApp;
- integration with other applications or services.
Having said this, and taking into account the existence of different types of blockchain, it is necessary to understand in which direction to set one's specialization. Clearly, this also depends on other factors, related to the technical knowledge possessed and to one's goals: if, for example, we know how to use Java, we have a minimum of experience in front-end development and we want to learn how to develop smart contracts, we will probably aim to become a blockchain software developer by focusing our interest on Ethereum. On the contrary, if you have a good knowledge of Golang and Node JS and your goal is to become a core blockchain developer, then you will need to specialize in Hyperledger Fabric.
The next step concerns the in-depth study of the theoretical and structural aspects of the chosen technology. In the case of Fabric, it will be necessary to explore in detail all the official documentation, focusing on the fundamental concepts, such as channels, organizations, peers, orderers, CAs (Certificate Authorities), and in particular the typologies, the delivery mechanisms, and those of conservation of the certifications.
On the other hand, in the Ethereum context, it is advisable to focus on the development of smart contracts by studying Solidity, the main programming language used for this purpose, in-depth.
Generally speaking, these are technical and quite specific notions, especially in relation to the chosen infrastructure, but certainly not impossible to learn autonomously with a self-study approach. In any case, we recommend taking one of the many courses available, including online, to benefit from the advantage of obtaining a certificate proving that these skills have been acquired (by way of example, here is a course organized directly by IBM).
At the same time, we recommend adopting a learning-by-doing approach, combining theoretical understanding with the practical experience of creating a blockchain project, using AstraKode Blockchain (AKB), a completely free platform designed to facilitate and speed up the creation of blockchain networks and smart contracts.
The final step is to put into practice what has been learned in the previous phase.
Blockchain is a relatively complex technology, not so much because of the technical skills required but mainly because of the breadth of the technology stack needed to develop a blockchain solution (especially in the Hyperledger Fabric environment). Moreover, it is not easy to find an environment where one can freely practice notions and operations studied only at a theoretical level.
AKB has been designed to meet this need. It is a low-code platform that simplifies the whole process of creating and configuring a blockchain network using a visual development environment. In addition, the support of an integrated community, an automatic validation system (the platform itself notifies you of any errors), and the fact that it is completely free of charge, make it an ideal tool for making a significant contribution to your blockchain education.
Depending on the level of programming knowledge previously possessed and on the experience of our blockchain developers, we believe that a period between 4 and 6 six months is an acceptable timeframe to acquire the basic skills that will provide the opportunity to start a career within a company, as a junior blockchain developer.
In order to speed up the process and make it easier, the best solution would be to attend a course able to issue an official certification and, at the same time, apply the knowledge acquired by putting it into practice on an intuitive and completely free platform such as AstraKode Blockchain.
Start shaping your future now by registering at the following link. With low-code tools at your disposal and support from experts and the community, becoming a blockchain developer has never been easier!