As you may know, we created an online course to help people understand what the blockchain is, where it comes from, but also how to leverage it to create a new generation of software applications called decentralized applications. In this course, we teach students how to create a decentralized application project with Truffle, how to write smart contracts in Solidity, how to test and debug these smart contracts with Ganache and Geth, and how to deploy them to test networks and to the main net as well as how to write a simple web user interface for them. Overall, the course is a very complete introduction to the topic of decentralized application development, but it just that: an introduction. We are currently working on creating an advanced course to bring people all the way up to the expert level, but in the meantime, we get a lot of questions about what to do after you completed the course. Here are a few tips and tricks.
Create your own project
That’s the main thing. You can either extend the ChainList example that we develop in the course, or come up with your own simple idea for an application, and work on it. That’s definitely the most powerful thing you can do to both practice what you learned, and demonstrate it to potential future employers. That’s how we learned ourselves, creating small projects like Ethereum-CV for example. It doesn’t need to be anything fancy at first, think of a simply use case of something that requires some sort of intermediary or platform right now, and try to decentralize it with a smart contract. And go all the way to the user interface, because people won’t interact with your smart contract in a console.
And if you ever need some more specific help about your experiments, Ethereum Stack Exchange is the best place to ask your questions. Just remember to always add as many details about what you are trying to achieve, your code and detailed errors you get. “It doesn’t work” is not enough.
And by the way, answering questions from others is also an excellent way to learn, as well as to improve your reputation score on Stack Exchange, which can add some value to your resume for an employer.
Read some more
Here are a few excellent resources to expand your understanding and your knowledge about smart contracts:
- Consensys’ best practices is a must read
- OpenZeppelin, a leading smart contract auditing company, has some excellent public audit reports that can help you understand what others did right or wrong. They are very educational. They even have some state-of-the-art smart contracts for things like ERC20 tokens, crowdsales and more.
- If you understand French, we recently launched a bi-weekly podcast in French about everything blockchain.
Get certified
Although I think blockchain developer jobs are in such high demand right now that employers are not really in a position to choose, it can add value to your resume to get some proof that you indeed understand the blockchain and how to leverage it.
Unfortunately, there aren’t a lot of university or college degrees that give this kind of assurance, and online courses like ours don’t give you a degree. Which is why we are also working on a new kind of decentralized certification system that should completely change the landscape in that regard.
But in the meantime, there are more traditional training programs that offer some sort of certification, with even some recruitment opportunities at the end. The Consensys Academy is one of these, probably the most recognized. But there’s also B9Lab’s for example.
Find some gigs
Believe it or not: what you learned in the course is way more than enough to start working on actual projects. There are several places where you can find small projects to start getting paid for your Solidity skills:
- You can create a profile on bidding sites like Upwork to find some blockchain gigs
- There’s even an equivalent of Upwork in the blockchain world called EthLance. You will get paid in Ether, but it’s very interesting work.
Just one word of warning for any blockchain-related job: beware that some companies say they need a blockchain developer, but what they call blockchain is not what we show you in the course. If you see words like “Hyperledger Fabric”, “Quorum” or “permissioned”, these are different beasts. They have some technical similarities with blockchains, if you understand how it works, it shouldn’t be too hard to get into those, but it’s a different thing, and for me, a waste of your time and talent. But there’s a lot of money to make there, so it’s up to you to decide what you want to do. Just know that there are some real blockchain projects out there that need your help and can pay you good money too.
Hunt for bounties
A lot of blockchain projects, especially those who raised a lot of money in ICOs, have their own bounty platform to get help from the community solving some issues and develop new features. To name just a few:
- The Ethereum Foundation
- Consensys (the consulting arm of the Ethereum Foundation)
- Status (the Dapp browser)
- Augur (the decentralized prediction market)
And of course, a lot of blockchain projects are open source, so feel free to contribute to them in Open Source mode if you feel like getting paid is too much pressure at first. It’s an excellent way to get to know some of the active developers in that community, which can lead to jobs further down the road. Most of them have a “how to contribute” section in the README of their Github repository.
Watch out for jobs
More and more companies are recruiting blockchain developers. Consensys is probably one of the most interesting right now, but the number is growing.
Again, just be aware that some companies are really looking for Hyperledger Fabric developers and that sort of things, which uses a different programming language and doesn’t really have a bright future as a technology. It can be a good bet to add a few “blockchain” experiences to your resume and to make some good money in the process, but don’t expect those projects to really make your understand the full power of real decentralized blockchains, with their incentive structures and consensus algorithms. You have been warned.
A good thing to note here is that a lot of companies recruiting blockchain developers simply cannot afford to limit their hunting ground geographically, so a lot of those jobs can be worked on remotely from anywhere in the world. So don’t be afraid to apply for a job in a US-based company for example, there are ways to make it work.
Also, keep an eye on successful ICOs, as those startups usually start recruiting blockchain devs right after the ICO is done and they have money to pay you. It’s also a good opportunity to work on something that makes sense to you.
Hang out in the community
Overall, it’s a good idea to keep in touch with the community.
A lot of talks happen on Subreddits like Bitcoin, Ethereum and others.
Of course, there are also a lot of conferences that can be very interesting to attend. Here is a spreadsheet that lists some of them. In particular, don’t miss the upcoming DevCon in Prague.
A lot of communities also exchange on Slack, Telegram, Signal, Discord and other platforms like that. So be prepared to install a lot of these. And of course feel free to join us on our Slack group.
Do you know of other interesting resources?
And of course, if you know of other interesting resources for people to expand their knowledge, feel free to share them in the comments down below, and I’ll gladly add the most interesting ones to the list above.