Need to hire Blockchain talent, but new to the industry? Not sure what makes Blockchain developers different from other engineers? Learn the basics here.
Back in the early 1990’s, when the Internet had just become “a thing” for most people, connection speed was so slow and html code was so limited that it did not require any significant level of technical basis to understand what a Web Developer did. He or she was the guy who wrote html elements like <strong> and <br>, right?
For talent recruiters within and out of the Blockchain sphere, however, the world has become more complex in the past 25 years. A Blockchain, unlike a website, involves P2P networks, nodes, cryptography, token exchange platforms and other more sophisticated concepts. More importantly, because Blockchain systems for the most part are built not on a single programming language like html but on a diversified technology stack that is partly dependant upon developer preference, there is no single programming language or identifying factor that definitively distinguishes a Blockchain developer from a general web or app developer, making the term “Blockchain developer” a misnomer…almost.
So who are these Unicorn-like “Blockchain Developers” then?
To state the obvious, first and foremost, a Blockchain developer is a software engineer who solely or in concert with other developers creates or enhances a Blockchain system. If you found your way here, you almost certainly already know what Blockchain itself is, but if not, here’s a cute explainer video that does a pretty good job.
“By the end of 2017, the total number of software engineers with any experience working on Blockchains was estimated at under 30,000 (out of a global population of general software developers numbering more than 18 million.”
There is a substantial gap, of course, between understanding the basics of Blockchain and actually identifying a competent Blockchain developer. By the end of 2017 the total number of software engineers with any experience working on Blockchains was estimated at under 30,000 (out of a global population of general software developers numbering more than 18 million). Of that amount, probably only a few thousand had more than a year or two of experience working on Blockchain development, and of THAT amount, it’s likely that very, very few were highly proficient in the range of skills, programming languages and experience that it takes to create entirely new Blockchain systems.
What DOES define a Blockchain developer is a set of skills and experience in the some or all of the following Blockchain concepts…
- Peer-to-Peer (P2P) networking
- Cryptography and Crypto-currencies
- Consensus algorithms
- Risk analysis, data security, anomaly detection
- Smart contract development
- Distributed ledger / Distributed application development
- Distributed storage
Defining the attributes of a Blockchain developer might also involve identification of some of the most popular programming languages that developers are using to build Blockchain systems…
Some of the most popular existing Blockchain platforms…
Or a few of the tools, programs, frameworks, protocols, compilers, libraries, plugins, services and implementations related to Blockchain development…
So a Blockchain Developer is a person who has all of these skill sets and knows all these programming languages and tools?
Not so fast. It is extremely unlikely that any one individual stands in possession of knowledge and experience in ALL of these softwares, protocols and platforms. Blockchain development in specific, and software development in general, do not work like that. The languages and tools used depend upon industry, use case, integration requirements, developer preferences and legacy systems. On an individual basis, what a Blockchain developer knows and does also depends upon that Blockchain engineer’s focus.
“What is important in considering Blockchain candidates is that they DO have a strong understanding of and experience with the basic Blockchain development concepts and protocols and strong experience in at least SOME of the key languages and tools preferred for Blockchain development.”
Is he or she a back end Blockchain developer? front end Blockchain developer? or full stack Blockchain developer? A Blockchain DevOps Engineer? A Blockchain UX Designer? Or the rarest specimen of all—a true Blockchain CTO or Blockchain Senior Architect, who will devise genuinely new innovations, choose the technology stack and guide the entire development team?
What is important in considering Blockchain candidates is that they DO have a strong understanding of and experience with the basic Blockchain development concepts and protocols and strong experience in at least SOME of the key languages and tools preferred for Blockchain development. In most cases, your Blockchain developer should also have a strong track record collaborating in open source communities like Stackoverflow and Github.
Well, then what is the difference between a Blockchain developer, a Bitcoin developer, an Ethereum developer, a Smart Contract developer, a Solidity developer, and a DAPP developer? (And which one do I need?)
In simple terms, a Bitcoin developer works on Blockchain systems using the Bitcoin protocol and platform, an Ethereum developer works on Blockchain systems using the Ethereum protocol and platform, a smart contract developer works on the smart contract creation aspect of Blockchain systems, using a language like Solidity or Simplicity, a Solidity developer specifically uses the Ethereum based Solidity program to create smart contracts, a DAPP developer creates front end applications in any language which operates autonomously on a decentralized network, and all of the above are in one form or another Blockchain developers.
Again, which roles a Blockchain employer needs to fill depends entirely upon the Blockchain company’s project(s), the existing team and skillset, and the preferred development platform technology stack and implementation.