Be a crypto hero in the market by logging in
Don't you have an account? Sign in
Market trends report
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 tinkering with next-generation applications that combine openness and trustlessness. It is, after all, a radical deviation from what the world had gotten used to.
For developers who have been involved in this “decentralization revolution”, coding blockchains and developing new types of applications is both challenging and inspiring — even liberating.
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.”
Todorov is a software engineer who currently works on the Site Reliability Engineering (SRE) of æternity. æternity is an Erlang-based scalable blockchain platform that uses State Channels to allow execution of smart contracts privately and cost-free 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 on-boarding 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 is the API gateway that is used to develop decentralized applications on the blockchain.
Although it’s a new field, there are still many practices that remain somewhat similar to other types of development, 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 core blockchain development.
First of all, for those who are discouraged to enter the blockchain field by the associated financial risks, FinTech 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 the reality. Development in the space can strongly benefit from “unburdened perspectives,” according to Todorov.
The æternity team is growing continuously. In fact, new developers have identified areas of improvement. 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 real 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.
Running automated tests, manual testing and peer reviews are the best approaches to get bug-free, stable software — without any breaking changes, and still be able to continuously ship out new features. If you want to make sure things are working well, the key is always testing.
It’s hard to monitor 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.
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.
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 decentralized app developers and users. 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 challenges, it also offers many opportunities — not only for programmers but for UX designers as well.
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 do so. 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. We’re running these services to bootstrap the network. At some point, users will 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.
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.
The æternity blockchain and the tools are still very young. They are becoming more stable and polished every day. We are constantly working to make it better, with an emphasis on improving the user experience. The user experience is the key to mainstream adoption.
Interested in æternity? Get in touch:
Why Developers Shouldn’t Shy Away From Blockchain Development was originally published in æternity blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
Community | T.OS PAY 이벤트!!
와... 오랜만에 본글중 최고네요
Community | 아크로폴리스 알아보기
Community | 180명 앞에서 말한 암호화폐,가상화폐 투자 잘하는 방법! [매매내역 최초공개!]
항상 잘보고 있습니다
Community | 180명 앞에서 말한 암호화폐,가상화폐 투자 잘하는 방법! [매매내역 최초공개!]
안녕하세요. 고객님 처리가 늦어진 점 죄송합니다. 현재 처리된 상태입니다. 다시 확인 부탁드립니다.
Community | 7월 30일 외국 거주자 인증 다하고 대기중인데 얼마나 더 기다려야 하나요?
Write a post
Are you sure you want to delete this post?
Are you sure you want to delete this comment?
Purchase has been completed.
닉네임을 설정 후 작성해주세요.