A Statista study published in May 2022 projects the blockchain market will reach nearly $40 billion by 2025. Blockchain developers are responsible for designing and customizing blockchains and blockchain-based solutions, including cutting-edge ones like “smart contracts.”
Tomasz Nurkiewicz, CTO at DevSkiller, explains that some experience with development is key to getting started on the path to a career in blockchain. “You don’t need to know any particular language because blockchain development has its own kind of ecosystem, but knowing the basics of algorithms and data structures is a good thing,” he says. “You don’t need any front-end or back-end prior experience—having theoretical backgrounds, like in computer science, might be helpful.”
Understanding How Blockchain Works
Before jumping straight into the code and concepts like smart contracts and distributed applications, it’s important to understand how the blockchain works. “What is the mining model and what is the underlying structure? What kind of information do you put on the blockchain, what are the different types of blockchains?” Nurkiewicz says.
It’s especially important to understand things like mining (including why it’s CPU intensive), or why it’s important for the Ethereum network to move from proof-of-work to proof-of-stake (and understand these two terms).
Nurkiewicz says it’s worth understanding the good and bad applications (ie, use cases) of blockchain. “That allows you to recognize blockchain projects where the backers are just looking for some investment rounds and the project itself makes absolutely no sense,” he says. “If you want to do something useful with blockchain technology, understanding these principles is really important, because otherwise you’re just copy-pasting stuff from the internet without any deeper thought into it.”
Alex Putkov is a developer advocate at Digital Asset, a software company that modernizes legacy financial systems with Daml, their smart contract language, and Canton, their privacy-enabled blockchain platform. A self-taught developer without a formal computer science education, he started writing code when he got his first job as an analyst in a bank.
“In the beginning, it was Excel macros to automate some of the routine tasks I had to perform in my job,” he explains. “Over time and throughout my career, I wrote more code and learned some popular programming languages like C# and Python.”
While he’s never worked as a software developer in the classical sense of the term, he’s been developing software in various forms for more than 25 years as a support specialist, product manager, sales and solutions engineer, and developer advocate. “My exposure to blockchain began just over a year ago when I joined Digital Asset,” Putkov says.
Nurkiewicz says you need to know about the test environment for Ethereum so you can deploy a smart contract to a fake blockchain. “You have to familiarize yourself with them because if you make a mistake in smart contract, it can have disastrous consequences,” he says.
Getting a Start with Solidity, Reference Apps
Putkov’s first significant project at Digital Asset was creating a Daml reference app, which gave him an opportunity to learn Daml and build a tool to help developers learn coding skills faster. “My preferred learning style is self-study,” he says. “I studied the documentation and reviewed sample apps available on Digital Asset’s website and in the public Github repository.”
Ultimately, there’s no substitute for learning by doing when it comes to software development. “Coding skills can only come from working on development projects,” he adds.
Skills and Career Progression
Nurkiewicz says some mastery of blockchain technologies is a key to success as a developer, including being able to write code in Solidity, designed for developing smart contracts that run on Ethereum.
“Start off with solidity and do some ‘Hello World’ projects that you can put on GitHub or whatever because you want to have a portfolio,” he says. “You want to prove to a recruiter or your future employer that you are capable of putting something in the blockchain that does something useful. That would be the first step.”
Once you land a job and start developing smart contracts, you can grow in a few directions, with one path geared towards becoming more tech-oriented and writing more complex instruments or maybe even developing your own blockchain. “If you’re really adventurous, you can start your own blockchain, or you can start a company that uses existing blockchain for their advantage,” he says.
Technically, you can write Ethereum or blockchain programs with different languages like Viper or Rust, but Nurkiewicz thinks Solidity is essentially the standard today. “When writing programs in Solidity, you essentially pay for every line of code, so you want your program to be short and concise,” he says. “You want to avoid running in a loop for a long time because you pay for each and every iteration.”
Getting a Handle on DLT and Financial Markets
Putkov points out Distributed Ledger Technology (DLT) is past the point where it was a nascent technology driven by enthusiasts. “Although it still has ways to go to achieve universal adoption, it’s safe to say that it has moved into the mainstream,” he says. “The broad DLT industry is quite diverse. I think that most modern technical skills and experience with most modern technologies, including Web technologies and cloud, are relevant in the DLT world.”
Putkov adds that, while DLT has moved into the mainstream, it hasn’t reached the phase of standardization. “Although standards will necessarily eventually emerge, at this point we can’t say what they might be,” he says. “Today, the industry consists of mostly proprietary technologies. Knowledge of any of these technologies is a strong competitive advantage within the niche where this technology is being applied. But it’s not easily transferable.”
Putkov thinks that, in the blockchain dev world, a good understanding of software design and development principles (as well as technical communication skills) are valued higher than familiarity with any technology.
Nurkiewicz says it’s also important to understand how financial markets work, because sooner or later you will exchange Ethereum or Bitcoins into dollars. “In that case, if you try to exchange too much and it’s in one go, and then you will inevitably reduce the price, because if there is a high demand for buying dollars and selling Ethereum, then the price of Ethereum will fall. That’s Econ 101,” he says. “That’s something you need to understand, especially if you’re getting into more complex derivative instruments that you would like to implement.”
Build a Reputation, Watch Your Back
Putkov also says that, for those looking for a career in blockchain development, your worth as a developer is evaluated in large part by the projects you worked on. “While there’s a wide range of technology products that you can get involved with, my advice is to choose those that you can start applying your skills to as quickly as possible,” he says. “In other words, choose the technology you know to be in demand.”
He adds the DLT industry offers the same career paths as the broader software industry: you can start as a developer, and as you become seasoned, you will work on bigger and more important projects and in a more senior capacity. “You may progress into leading a team or a function, driving projects or architectural designs,” he explains. “You may progress into any number of more or less related disciplines like product management or developer advocacy, to name a few.”
As the FTX collapse demonstrated, the blockchain and crypto markets also demand a bit of caution. “For better or worse, it’s a market that attracts a lot of scammers and people who want to get rich quickly,” Nurkiewicz cautions. “You need to be extra aware that the environment is actually hostile. You have to look behind your back all the time, which is not really the case with ordinary developers. We can be a little bit less conscious about bad actors, although security is always our focus. But in terms of blockchain development, that is especially useful.”