How to become a bitcoin developer


Last updated June 8, 2020, 9:50 a.m. | Posted by Leon Johnson

Whether you're looking to strike it rich, wanting to create a financial revolution, or you're simply loving the technology - working as a bitcoin developer can be a rewarding career.

This article assumes you know what bitcoin is, you've used it before, you have some, and you know how it works at a high level. Below is a 5-step guide on how to become a bitcoin developer.

1. Get a copy of Mastering Bitcoin and Programming Bitcoin

These books are really useful when learning about bitcoin on a technical level. Mastering Bitcoin describes how the various components of the bitcoin system works. There isn't much code in this book as the focus is on how bitcoin works conceptually. Programming bitcoin is full of code exercises to help you sharpen your knowledge of how to write bitcoin applications.

Suggested links

Mastering Bitcoin - https://www.oreilly.com/library/view/mastering-bitcoin-2nd/9781491954379/ 

Programming bitcoin - https://www.amazon.co.uk/Programming-Bitcoin-Learn-Program-Scratch/dp/1492031496 

2. Do the exercises

You've got the book, you now need to follow the exercises and write some code. The exercises require a knowledge of python. A really good place to learn the basics of python, free of charge, is on Google Education: https://developers.google.com/edu/python

When I learnt to write bitcoin applications, I skipped the examples in Mastering Bitcoin, but I learnt a lot by doing the exercises in Jimmy Song's book Programming Bitcoin. Take your time with the exercises and don't feel that you need to complete all of them right now. Pick exercises that you feel will really help you understand something that you're not entirely sure of.

Tip

The exercises on elliptic curve cryptography and transactions are highly recommended.

3. Write a micro library

You've learnt the theory and you've carried out a few code exercises, now it's time to write something that interests you that others can use. There's no better way of truly demonstrating that you understand something by explaining it and performing it. When others run your program they are watching your performance. Find something that interests you and write a small program that helps you explore that interest. 

By writing your library you'll learn how to read bitcoin improvement proposals (BIP), how to interpret common bitcoin developer idioms, and how to read other people's code.

When you run into issues with getting your code to work, stick with it. Good places to find help include: GitHub repositories of other bitcoin libraries, relevant BIPs, and telegram bitcoin devs group.

Suggested links

A micro library I wrote in python that contains a number of wallet-like features: https://github.com/leonjohnson/bitcoinlantern/blob/master/README.md 

4. Subscribe to developer newsletters and read new proposals

Congratulations on getting this far! Now that you've created code other people can use, sharpen your skills by learning about new technical developments. Literally every week something new is created. It's important that you're aware of these developments, but you don't need to become an expert in most of them. Reading the BitcoinOps newsletter is highly recommended for keeping up-to-date on technical developments. 

Suggested links

https://bitcoinops.org/

https://jimmysong.substack.com 

https://tftc.io/the-sat-standard/the-sat-standard-may-30th-2020/ 

Twitter - great for finding out about new tech developments - follow as many bitcoin core and lightning developers as possible. Companies such as Blockstream and Square Crypto are also good accounts to follow.

5. Attend technical conferences and meet-up's

You're now a pro. You understand bitcoin, you've written code that is publically available, and you're aware of the latest developments. Now is a great time to attend bitcoin conferences and meet-ups. Check out meetup.com for details of any local bitcoin meetups in your area. Some of these will be online so you can join from anywhere in the world. Try and attend a technical bitcoin conference. A great conference contains a super-high concentration of knowledgeable people coming together to share knowledge. You have the opportunity to put questions to people that wrote papers/software who you wouldn't normally have access to. Conferences are also great places to build and strengthen your network. We created the Advancing Bitcoin Conference specifically for these reasons.

Suggested links

Advancing Bitcoin - www.advancingbitcoin.com 

Scaling Bitcoin - https://scalingbitcoin.org 

Meet-Up - www.meetup.com 



Thanks for reading!

If you enjoyed it, please share it on Twitter.