Bitcoin Script - a valuable skill for software engineers to add to their toolbox
Relative to Python, JavaScript, or C++, Bitcoin Script is a niche programming language with those familiar with it being few and far between. Developers experienced in its use are as rare as hen’s teeth.
Is Bitcoin Script a passing curiosity, or is it worth adding to your developer toolbox?
The fact is that Bitcoin is not going anywhere. On the contrary, blockchain is one of the fastest-growing industries in the world, with more than 400 projects built on the BSV blockchain alone. And with blockchain being positioned to function as the infrastructure for the data economy , Bitcoin Script might yet become one of the world’s most ubiquitous languages.
If you want to learn Bitcoin Script to position yourself as an expert when that time comes, we spoke to James Scott, Engineering Operations Manager at blockchain technology leader nChain to give you some guidance.
Is it worth adding Bitcoin Script to your repertoire?
Bitcoin Association (BA): What is Bitcoin Script, in plain language?
James Scott (JS): Bitcoin Script is a programming language that's included as part of every single transaction in Bitcoin - it's not an optional component, but part of the 'plumbing' of the BSV blockchain.
Like any programming language, it lets you execute commands based on certain conditions to implement basic or more sophisticated behaviours. Let's take smart contracts as an example: if you wanted to sell a house via a smart contract, you could program the transaction to transfer the funds only if specified conditions are met.
BA: As the engineering operations manager at nChain, you are in charge of hiring. How difficult is it to find developers who know Bitcoin Script?
JS: It's very difficult. I've seen a lot of CVs, but there aren't many people out there with significant experience in Bitcoin Script. Occasionally I find people who have played around with it a bit.
The interesting thing about Bitcoin Script is that it's relatively easy to learn. It's based on FORTH, a very compact programming language from the ‘70s, which gives it a certain pedigree. It utilises reverse polish notation, which every software engineer will know. But although you can learn the basics fairly easily, it's no substitute for having some experience of using it to solve problems.
BA: If someone wants to get beyond the basics of Bitcoin Script, what should they do?
JS: If people were interested in getting better at it, I would recommend trying to solve some problems with it yourself. Try writing your own code to test it out, and see if you can get it to work. These personal projects are also great for interviews, because you can point to some of the things you've done and talk about it more tangibly. But more than that, it will help you get familiar with solving problems in ways that make the most of what Bitcoin and the blockchain is best at, instead of continuing to solve problems the same way it’s always been done.
BA: For which job roles do you expect candidates to know about Bitcoin script and have experience with it?
JS: Writing Script would be part of what our software engineers do, and they'd be using other languages like Python, Go and C++ as well. Where people with Script experience become indispensable is when clients approach us to apply blockchain to their use case and we need to write a script to run on top of our foundational services. Part of the skill is to write the script, but it's also essential to be able to identify when a script is (and is not) the best way to solve the problem.
It's another tool in the software engineer's 'toolbox'. If you had a toolbox missing a hammer, you'd always have to use a spanner to knock in the nails, but it wouldn’t be very smart. Having an understanding of all the different ways you can solve the problem is what we're looking for.
BA: Would you say there's demand for software developers with Bitcoin Script experience at present?
JS: Most certainly! Not just at nChain, but for all early blockchain adopters across different industries. Although nChain is set up to service the growing demand in enterprise blockchain usage, there will be clients who will want to hire Bitcoin Script engineers themselves, potentially to make further use of the fundamental services that we already offer - it will depend on their requirements and preferences.
The demand could jump at short notice, since blockchain has been discussed as a future technology for a long time now and if early adopters gain a USP, all their competitors will want to act quickly. When companies decide it's time to make use of the blockchain, they'll need people to advise on how best to implement it for their specific use cases, as quickly as possible. If you're in the position to offer your expertise, you could have the opportunity for a really interesting role and even some rapid career advancement. Obviously the timing is hard to predict, yet you don't have to quit your job and just become a Bitcoin Script Engineer. It's the kind of thing that you can play around with in the evening, solving problems that you come up with, or trying to solve existing problems in a different way using Bitcoin Script.
BA: If someone has experience with Bitcoin Script already, would there be job opportunities for them at nChain?
JS: Yes, absolutely. I would suggest that they just send us their CV. We always have direct roles that we're looking to fill, but there's been cases where we came across someone with a good skill set, and decided to get them on board because we knew they would be helpful and we would have interesting work for them. Get in touch with us, and even if we don't have roles available right away, you'll be on our radar for when something comes up.
Attend future Bitcoin SV DevCons for free
If you found this blog valuable, you are sure to benefit from attending the next Bitcoin SV DevCon. Sign up to be notified about the next event to make sure you don’t miss it.
Get BSV DevCon Updates
Sign up for news and information about BSV DevCons and other Bitcoin Association initiatives.