What is a Blockchain Developer?

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…

  • C++
  • Javascript
  • Geth/Go
  • Python
  • Solidity
  • React
  • Rust

Some of the most popular existing Blockchain platforms…

  • Augur
  • Bitcoin
  • Corda
  • Eris:db
  • Ethereum
  • HydraChain
  • Hyperledger
  • MultiChain
  • OpenChain
  • Steem
  • Stratis

Or a few of the tools, programs, frameworks, protocols, compilers, libraries, plugins, services and implementations related to Blockchain development…

  • Dapple
  • Embark
  • IPFS
  • Metamask
  • Mist
  • MongoDB
  • Node.js
  • NoSQL
  • Parity
  • Pudding
  • Solc
  • Swarm
  • Tierion
  • Truffle
  • Web3.js
  • Whisper

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.

We here at Blockchain Developers, Inc. are world-class at helping you find and hire the talented Blockchain developers you need to grow. Just fill out our contact form, and we’ll be happy to see if we can help!

 

Becoming Blockchain: An Interview with Bitbay Founder David Zimbeck

What do Chess, Acting, burritos and C++ have in common? Bitbay’s founder tells his story.

We sat down with David Zimbeck, early Smart Contract pioneer, and founder of BitBay, BitHalo and BlackHalo with one question on our mind… “What does it take to become a Blockchain Developer?” Zimbeck transitioned to Blockchain development from acting, real estate, film development and chess, among other adventures. He shared with us his thoughts about the paucity of outstanding Blockchain developers and the qualities that make for good ones. Here is what we learned:

Blockchain developers must be well-rounded and analytical

Zimbeck himself appears to be a man of many lives. At one time, he loved Chess—he won the Ohio scholastic state championship three years in a row, becoming Chess Master at age 18 and defeating 10 Grandmasters in a tournament in Europe. Later careers included drilling oil, handling real-estate, producing films and acting. (Watch Zimbeck swashbuckling a minor role in Pirates of the Caribbean 2.) Each experience, he said, contributed to his Blockchain innovations.

“Chess,” for instance, “helped me visualize code. It helped me plan, memorize and problem solve, as well as anticipate problems well in advance. Working in Real Estate was crucial when I was developing BitBay’s double escrow smart contract program, and oil drilling taught me how to press forward through fatigue and discouragement. Being well rounded is critical for perspective and insight.”

Perseverance, self-discipline and willpower are essential

“I was literally a nobody in Cryptography, and I came completely out of nowhere. I’ve been persistent with my goals. It’s a marathon, not a sprint.”.

Zimbeck said it took him 93 sixteen-hour days in a trailer to teach himself to program from scratch. This was mid-Winter in North Dakota under minus-13 degree conditions. “I lived on Taco Bell spicy potato burritos, almonds, chocolate, sunflower seeds and Mountain Dew,” shared Zimbeck, “I would wake up, roll out of bed, and code until falling asleep. I developed a cough so bad that I had to fly to Florida after my prototype was done and be nursed back to health by my parents.”

What motivated him? “[This work] was what was needed,” said Zimbeck, “to make the world’s first smart contracting platform. I was literally a nobody in Cryptography, and I came completely out of nowhere. I’ve been persistent with my goals. It’s a marathon, not a sprint.”

Blockchain programmers must be meticulous in their work. Blockchains must be secure enough to protect large amounts of value. Platforms, once built can only be revamped through great expense and risk of disruption to the communities they serve. For these reasons, developers need to be painstakingly careful and thorough in their coding. One mistake may easily cause the platform’s clients to lose hundreds of thousands, if not millions, of dollars. David Schwartz, Chief Cryptographer of Ripple, who developed secure messaging and cloud storage software for government and military applications, compared Blockchain to a fortress. Enemies try to breach crypto infrastructure all the time. It takes a top developer to prevent and withstand these attacks.

Outstanding learning skills are more important than specific language familiarity

Job postings that seek outstanding Blockchain engineers usually specify a shopping list of requirements that include programming languages like LLL, Java, C++, Serpent and Solidity. To Zimbeck, the most important qualities are the abilities to keep on learning and to think “out of the box”.

“Smart contracts aren’t limited to one language. You should be able to deploy in any language you want on a sidechain or in a sandboxed fashion like JavaScript or Python. We engineers have many languages at our disposal,” he told us.

Zimbeck, a high-school dropout who only knew basic QBack and C++ when he first came to Blockchain programming, revealed that he taught himself Blockchain engineering by searching for information on Google. Indeed, Blockchain investor Zach Piester noted that Blockchain engineers need to think creatively, since Blockchain is an evolving technology, and since each usage case has its own unique requirements. The industry is moving at break-neck speed, so Blockchain engineers need to constantly update their skills, and need to have the courage to innovate audaciously.

It takes a great deal of passion to be a Blockchain Developer

“Money means nought to me. I want to lead a self-sufficient life. After programming, I want to be a builder or have a farm.”

Top Blockchain developers are not programming because they need the money, but because they genuinely love the industry, and/or because they see Blockchain technology as a tool for good. Zimbeck told us:

What got me into Blockchain was my prior search for solutions to world problems. Bitcoin didn’t impress me too much, since the decentralization of money won’t stop the media from dictating to people. However, I saw a lot of interesting potential with Blockchain, and this is what eventually lead me to the Halo idea”.

For Zimbeck, it was the drive that he’d had childhood on to make the world a better place. People like he see smart contracts as tools to not only protect cryptocurrency traders, but to make the world more democratic and trusting.

Blockchain engineers are often called “crypto-anarchists.” They believe in the power of Blockchain to remedy injustice, to restore trust, to help individuals escape government interference, to shatter borders, and to end corruption (among other benefits). These kind of individuals are neither grooming their LinkedIn profiles, nor searching for a way up the corporate ladder. “Money means nought to me,” said Zimbeck, “I want to lead a self-sufficient life. After programming, I want to be a builder or have a farm.”

We here at Blockchain Developers, Inc. are world-class at helping you find and hire the talented Blockchain developers you need to grow. Just fill out our contact form, and we’ll be happy to see if we can help!

How to find Bitcoin Developers

Bitcoin developers are rare, numbering only a few thousands really skilled ones. If you want to find and retain the best Bitcoin software engineers, you’ll want to know some tricks to get them.

The A-Z of Bitcoin Developers

First, Bitcoin developers fall into three fields.

There are those who….

  1. Build applications that interact with your blockchain: These are programmers who know web development and popular libraries like ReactJS. They don’t need specialized blockchain knowledge.
  2. Build on an existing framework (usually in the form of smart contracts): These are smart contract developers, with a background in programming, security and software testing. These developers tend to know IPFS/Filecoin, Oracles, token models, state channels, and the like.
  3. These developers build a blockchain from scratch: They are full-stack developers with a strong background in lower-level programming languages (e.g., Java, OCaml, and C#), distributed systems and cryptography.

So, essentially your search boils down to what you want your Bitcoin developer to do. Once you know that, the rest is easy.

Where to Find your Bitcoin Developers

  1. The “regular” Bitcoin engineer who improves your apps

You’ll want programmers who know web development and popular libraries like ReactJS. They don’t need specialized blockchain or Bitcoin knowledge.

Look for such software developers on regular places like TopTal, Guru, Upwork, LinkedIn, ELance, StackExchange, SmashingJobs or maybe even CraigsList.

  1. The “smart contract” builders

You’ll want Solidity developers, with a background in programming, security and software testing. These developers should be familiar with IPFS/Filecoin, Oracles, token models, state channels, and the like.

You may want to search LinkedIn for programmers that have these skills, scour relevant subReddits or place a cheap Reddit ad on crypto-subs.

  1. The highly uncommon Bitcoin blockchain builder

This is the rarest sort of engineer to find. You’ll want a full-stack developer with a strong background in lower-level programming languages (e.g., Java, OCaml, and C#), distributed systems and cryptography.

Here’s How to Motivate Terrific Bitcoin Developers to Work for You

Qualifications for your Bitcoin software engineer include the following:

A solid understanding of code and programming. You’ll want a backend and frontend developer, who knows codebases like Java, C++, Ethereum Solidity, Python and more. You’ll want them to have experience working with these languages in professional settings. Such Bitcoin developers also need to be able to program high-quality code for Ethereum or Bitcoin blockchains (at least), encode smart contracts and digital tokens, and master game theory and economic principles. They’ll need to have experience in areas like fixed income instruments, currencies, and commodities (FICC), equities, payments processing, and wholesale credit.

Your dream Bitcoin developer frequents bitcoin development communities, chats on hackathons, patronizes online and offline meetings, is an excellent multitasker and handles challenges. More so, Bitcoin engineers, as with all blockchain engineers, must be open to change and willing to learn. “You can’t just say ‘I am a highly specialised blockchain guy’ because that actually doesn’t really mean anything, or say ‘I am really good at Eris’,” explains Seamus Cushley, Director of PwC, blockchain consulting services, continuing to explain that, “Eris may not be here tomorrow:  It may become the underpinnings of the globe or they may not. So it is the ability to change which is important.”

Places to Look for the Bitcoin Programmer?

Look for full-time Bitcoin software engineers on online blockchain-related forums like Bitcointalk or relevant Reddit subgroups. You may may also want to consider platforms like Gitter, the preferred chat app for developers, or crypto channels on Slack or Discord. You’ll find blockchain engineers on blockchain meetups and in developer conferences like Ethereum Devcon (i.e., Ethereum Foundation Developers Conference).

Many work on real-world projects through platforms like HackerRank or GitHub. Others participate in podcasts.

Bottom Line

You’ll need to learn the rudiments of Bitcoin technology to find them. And even then you may fail, especially if you’re hiring a Bitcoin software engineer to build a private ledger for a bank – these individuals believe in decentralizing the system! You have to be extremely creative, resourceful, and almost emphatic.

According to former chief information officer at UBS and founder of Bussmann Advisory, Oliver Bussmann, there are only about 20,000 such individuals in existence. William Mougayar, reckoned that there are even less, estimating that there are approximately “5,000 developers dedicated to writing software for cryptocurrency, Bitcoin, and blockchain in general.”

Then again:  Look hard enough and try hard enough, and you may find at least one or two great Bitcoin developers who may consider giving your company a try.

We here at Blockchain Developers, Inc. are world-class at helping you find and hire the talented Blockchain developers you need to grow. Just fill out our contact form, and we’ll be happy to see if we can help!