I N T E R V I E W

Why Developers Shouldn’t Shy Away From Blockchain Development

Interview with æternity on Altcoin Magazine

The key to the talent gap we are witnessing in the blockchain sphere is education; the key to the airtight code is extensive testing and peer reviews. æternity blockchain covers both grounds.

Despite Rising Salaries, The Huge Talent Gap Remains

To the layman, the concept of blockchain is in itself, intimidating. For developers outside the industry, the thought of shifting to a new, unfamiliar environment where fundamental paradigms related to security and code mutability are altered is daunting.

This aversion is completely understandable. Popular media is riddled with news about exchange hacks, DAO debacles, smart contract bugs resulting in millions of dollars in losses. In total, reports suggest that due to these issues around $1.7 billion were lost in 2018 alone. So while salaries are skyrocketing for developers in this space, many prefer the safety of the code they are used to. There are definitely professionals who are taking a “leap of faith” by entering the blockchain industry, but there’s still not enough technical competence in the space to go around. In fact, 94% of Fortune 500 companies are anticipating a talent shortage in the industry.

Many have argued that the key to bridging this talent gap is through education. This is undoubtedly true. But first, we need developers to be interested. And for them to be interested, we need to demystify blockchain programming and address the biggest fears developers face when it tinkering with new-age applications that combine openness and trustlessness. It is, after all, a radical deviation from what the world had gotten used to. But for developers who have been involved in bringing this decentralization into the world, it’s both challenging and inspiring — liberating, even.

Another good news for reluctant developers is the fact that, according to programming veteran Dincho Todorov, blockchain development is still in its early stage. There’s plenty of room and time for “fresh blood.”

Dincho Todorov

Todorov is a software engineer who currently works on the Site Reliability Engineering (SRE) of æternity, an Erlang-based scalable blockchain platform that uses State Channels to allow execution of smart contracts privately off-chain, and enables real-world data integration through protocol-integrated Oracles.

“We’re taking care of the infrastructure, services, tools, and pipelines needed to build robust software. We’re making sure it’s all well-integrated, reliable, and usable by developers,”

— Todorov says, giving an overview of his work for the blockchain platform.

“We’re also running a few services that help in the process of onboarding new users, miners, and developers. An example here are the so-called “seed” or “bootstrap” nodes that allow new users to connect to the æternity network. Another example here is the API gateway that is used to develop decentralized applications on the blockchain.”

Although it’s a new field, there are still a lot of practices that remain somewhat similar, according to Todorov.

“It is just software, at the end of the day. What is different is the concept. It’s a different kind of software, but I don’t think we need special processes, especially for the blockchain development.”

Developers Wanted: “Raw” Perspectives are Valuable

First of all, for those who are discouraged to enter the blockchain field by the associated financial risks, financial technology is only one of the industries where blockchain can be applied. Second, for those who think they are too late to the blockchain party, that assumption is far from reality. Development in the space can strongly benefit from “unburdened perspectives,” according to Todorov.

To aid interested people into making the shift to blockchain technology, the æternity community is actually holding its first-ever conference dedicated to teaching developers and entrepreneurs about the platform, and how it could benefit real-world businesses. For those who want to learn more, Todorov highly suggests taking part in the conference, called æternity Universe, where people can get information straight from æternity’s developers and founders themselves. According to Todorov, the conference is a good opportunity to get involved in building on the æternity platform and possibly helping develop the platform itself.

“The æternity team is growing continuously. In fact, new developers have identified areas of improvement,”

— he narrates.

“Looking at the code from new vantage points helps immensely. An extra ‘raw’ point-of-view can help.”

In many instances, collaboration is a positive thing — the more eyes and hands are involved, the faster tangible progress is achieved. And it might be comforting for developers to know that in open-source projects like æternity, the global developer community has their back. If there are loopholes in the code, someone will find it.

“Performing tests and peer reviews is the best approach to get bug-free, stable software — without any breaking changes, and still be able to continuously ship out new features,”

— Todorov says.

“If you want to make sure things are working well, the key is always testing.”

In addition, programming language requirements aren’t necessarily new. æternity, for example, is trying to meet existing developers halfway by supporting the most commonly used programming languages: JavaScript, Python, and Go. Languages like C++, Ruby, Java, and Rust are also useful for developing blockchain applications on platforms such as Ethereum.

“It’s hard to measure node health and performance in a peer-to-peer network. We currently have more than a hundred nodes to support various environments. That translates into a lot of servers, instances, different configurations, etc. Also, the size of the blockchain will surely become an issue at some point since it is replicated on all the nodes. The traditional approach relies on centralized databases that store the data. This is not the case with public blockchain platforms.”

The upside, however, is that blockchain networks are very resilient. According to Todorov, there are safety nets.

“The good thing with blockchains is that they are distributed databases running over peer-to-peer networks. Even if, for some reason, we deploy faulty code on one of the nodes we support, or generally screw things up with the nodes we run and support, the rest of the network keeps running because nodes run by users are usually not affected,”

— Todorov explains.

So where can you start?

Going back to the argument that education is the key to bridging the glaring tech talent gap, there is an abundance of free resources online for those who want to get started. In fact, some even compensate people to learn.

æternity launched a “learn-to-earn” program, where developers who finish æternity tutorials created by the community-driven group Dacade are credited with €100 worth of AE tokens, up from the initial €50 learning bounty. æternity also launched an incubator program called Starfleet, which is run by Æternity Ventures. The goal of the incubator is to support and guide teams who are ready to start solving real-world problems on the platform.

How Challenging is the Transition From Traditional Software to Blockchain Development?

Todorov explains that like most things, the difficulty would depend on the level of experience of each individual developer.

“When it comes to blockchain technology, I am also interested in the tools that are available to dApp developers and users,”

Todorov says.

“It always depends on the developer knowledge and experience. Blockchain technology does introduce different concepts, but you still need to be familiar with all the components and languages around any application. The difference with the blockchain is that the database is public and it is always running. So from a user point of view, there wouldn’t be much of a difference, at least not for me. I have more than 10 years of developer experience and I really don’t find blockchain technology intimidating.. Nonetheless, I do see developers facing difficulties with even simple applications. It really all depends on the experience of the developer.”

While transitioning from programming traditional applications into blockchain-based applications presents many challenges, it also presents a lot of opportunities — not only for programmers but for UX designers as well.

æternity developers Dincho Todorov and Hans Svensson finishing a release one midnight in Krakow.

Todorov asserts that the human interaction aspect of blockchain services, in particular, needs a lot of work. Many have commented on the usability aspect of blockchain applications being a nightmare, making it difficult for businesses to implement them even if they had serious intentions to. Making blockchain integration for businesses and users as painless as possible is one of the primary roadblocks for blockchain adoption. It is a tremendous task. Even something supposedly as simple as using a wallet to move cryptocurrencies has been full of uncertainties for users.

“We are constantly developing the core æternity tools and services. We also have several suites dedicated to development, integration, and testing..,”

— he says.

“We’re running these services to bootstrap the network. In the best case, users have to run all these things themselves for security reasons. And that’s one of the challenges with blockchain, educating users that they have to run the services themselves. I guess that’s the biggest challenge with blockchains because it’s a public service — it must be run by the users,”

— he explains.

In terms of development, Todorov admits that there’s always work to be done. According to him, it’s still early — so early that many of the problems currently being solved are mainly related to the development interface itself. Explaining further, he says the entry barrier for newer developers will hopefully be lowered as current veterans work to further enhance the dev tools. æternity, in fact, developed a brand new smart contract language called Sophia, precisely with the goal to make smart contract programming easier and more predictable, minimizing code errors.