Leah Zitter

Leah Zitter

Here’s How to Become a Blockchain Developer

jamesbrightman@me.com | December 12th, 2017

Since blockchain developers are a scarce commodity, you can easily command more than $80 a year if you’re good.

It all starts with knowing the difference between a centralized system and a decentralized one. As web developer, you code sites for the web, which is a centralized system, since it’s largely dominated by powerful companies that include FANG (Facebook, Amazon, Netflix, Google). The blockchain, in contrast, is a decentralized peer-to-peer ledger that has no central authority regulating it. What you’ll work on, in essence, is the decentralized application (DApp) which has two parts: The front-end that’s written on familiar languages like C++ and Java, and the back-end, which is the distributed database.

Smart contracts, which are programmed commands, or “if-then” statements, form the essence of these backends. Special programming languages you’ll need include LLL, Serpent and Solidity. You’ll also want certain personal qualities that you likely already have.

How Do I Get Started in Blockchain Development?

Since blockchain is so new, there's far more material available on web programming than on blockchain programming.

My interviews with hundreds of blockchain developers, who transitioned to blockchain from web development, indicate a pattern. Most were self-taught. Few had PhDs. Some slogged through the Open Source Society University, a free self-taught education in Computer Science. Others took hugely expensive boot camps for full stack web programming. Several tried the Collabera TACT online certificate course on Blockchain. Most found these courses a waste of time. Instead, they devised their own programs.

All developers I spoke to understood you had to master the theory before learning coding. Theory includes learning about consensus methods, Bitcoin, crypto economics, public key cryptography, and blockchains in general. You’ll also want a grounding in threat analytics, anomaly detection, and performance management. You may want to review computer science.

Ricus Nieuwoudt, blockchain developer at Peppermint AI, recommends looking into algorithms, data structures, data security, and decentralized technologies, as well as knowing about distributed storage, like RDBMS or NoSQL.

Prajeesh Jayaram, a self-styled blockchain enthusiast, urged would-be blockchain developers to study blockchain platforms like Ethereum, Stellar, Ripple, or Hyperledger. You can learn about these through their whitepapers.

Each blockchain is different - there are public ledger and private ledgers (like IBM Blockchain Platform), as well as ledgers that work on different backends. Each platform needs its compatible code. IBM’s blockchain, for instance, decided to use the Hyperledger Fabric code to achieve an “enterprise-level security”. Theory, therefore, is critical for success, as is the ability to know an array of programming languages.

Over and again, developers mentioned the following books: Swan’s Blockchain: Blueprint for a New Economy, Mougayar and Buterin’s The Business Blockchain, and Wattenhofer’s Science of the Blockchain. Another book, Mastering Bitcoin by Andreas M. Antonopoulos is a classic. All developers started with Satoshi Nakamoto’s formative paper.

All developers spoke about practice. Since Blockchain programming is an activity, you need the craft. To master the blockchain, many found it useful to crack their skills on GitHubs, or open-source platforms, like Ethereum or Hyperledger. There’s also Eris Industries for mostly private networks. Developers pool to discuss their projects on these GitHubs, most of which are in C++.

Alternately, you may want to try the GitHub of any ICO, or build your own decentralized app on Steem or Ethereum, for practice.

Other programmers, like full-stack developer Nitin Gurbani, obtained their practice by reading and contributing to Bitcoin Improvement Proposals (BIPS).

Ben Dickson of TechCrunch, a leading technology media property, jumped into blockchain technology by signing up with several blockchain cloud providers like IBM Blockchain and Microsoft Azure Blockchain.

Most developers singled out the following most important codes - HTML, CSS, Python, C++, JavaScript, Jason, Go, Embark, and, over and again, Solidity, which is similar to Javascript and pretty intuitive. According to programmer Zeth Couceiro, you’ll want to know multiple languages and feel comfortable with large datasets.

Books like Blockchain Programming in C# and tutorials like Learn Blockchain Decentralized App Development or IBM Blockchain 101 may help. The former is a simple (though poorly written) hands on approach that has you learning DApps in hours.

Ben Dickson recommends DApps for Beginners, a blog for Dapps on Ethereum. There’s also this tremendous reading list for programming blockchain transactions.

_There are the practical components and then there are the more abstract qualities. _

Since blockchain houses millions of dollars and aims for permanence, you need to be painstakingly careful and thorough in your coding. One mistake, and you may easily cause your company to lose hundreds, if not thousands, of dollars.

In his 2016 CPPCON keynote address, David Schwartz, Chief Cryptographer of Ripple and someone who developed secure messaging and cloud storage software for government and military applications, compared blockchain to a fortress. Although the code is public, you want noone to hack those fortress walls.

As blockchain developer, you’re leading a technological revolution that is in its early days, so blockchain is maturing as you do. You need the patience, flexibility, and tenacity to learn new things and to foray in unexplored directions.

According to Nieuwoudt, you need the “usual soft skills like time management, being a team player, and the ability to prioritize tasks”. In short, it takes a special person to become a blockchain developer.

As web developer, you’ve got the basic skills. Invest in some more coding. Join forums like developer communities on Bitcoin.org, Reddit, and StackExchange. Watch YouTube's clips, like those by Andreas M. Antonopoulos. Follow FinTech news. Practice on the GitHubs, and, maybe, try something simple, like scripting some PHP program which checks the size of the blockchain file on your PC, before wading into more complex stuff.

As a blockchain developer, the world’s open to you. Companies like IBM and Microsoft look for professionals like you. Governments and major banks call for your talents. Industries from finance to healthcare to manufacturing to music, gaming, distribution, and technology post for your services.

The money, the excitement, and the opportunity to make a difference are yours.