Applying what you’re learning in developer courses and launching your own real project can be confusing in the beginning but if you want to reach those achievements you’re thriving for you need to make the step. Makoto Inoue, the founder of BlockParty, is here to inspire you by telling its own story and share with you the tools and resources he’s using every day to improve his developer skills!
Hi Makoto, why don’t you tell us a little about yourself? How did you get involved with the blockchain ecosystem?
Hello, I am originally from Japan but now live in London. I first started working at an investment bank, then I made a small startup company. Afterwards, I gained some experience in a web agency, made another video-curation startup, and now I’m currently working at SimplyBusiness, a UK based B2B insurance provider.
In regards to the blockchain, I’m actually quite new. I got into it about two years ago. My company’s CEO sent me a report about how distributed ledgers will change everything; that was a UK government report. And then after I read it, I was quite interested. So I went to lots of meetups and talked to lots of people, but it still didn’t really make much sense. They said you could write programs that are called smart contract, and I thought, “Oh, I should give it a try.” And as I started learning about what this was, I wanted to ask lots of questions but there weren’t many people who were doing this at the time. So I decided to start my own meetup called the London Ethereum Codeup. Nowadays, I attend the meetup about once a month. It’s a very small meetup with around 10 to 15 people. Sometimes I do an introduction for developers so that they can talk about their own projects.
How did you decide to compete in the 2016 Thomson Reuters HackETHon?
So that was a year and a half ago I was talking with George Hallam from the Ethereum Foundation. He said they’re going to team up with Thomson Reuters to do hackathons, so I went there. I really enjoyed it because nowadays, if you go to normal a hackathon, it turns into a bit of a pitch contest where you see lots of non-developers. It’s there where it is actually more about pitching ideas rather than developing something, as opposed to Thomson Reuters hackathon where pretty much everybody was coders and they’re purely interested in the technical aspect of the field and not so focused on pitching ideas. And so the people I teamed up with were all very skilled. Simply making something together with them made me learn quite a lot.
Did you make any interesting contacts from this hackathon?
Lots of interesting participants came from all around Europe, and I even met some of them again during DevCon2 in Shanghai a month later..
That year, winners received cash and some Ether, while your team received some Ether and B9Labs training. Who got the better prize?
Personally, I’m happy with what I got.
In general, how would you evaluate the impact that B9Labs training had on your skills?
It gave me a chance to gain overall knowledge about the Ethereum blockchain. It was definitely worth the effort. The number of online quizzes wasn’t particularly great, but a majority of the value came from the feedback from instructors.
Can you tell us more about your B9Lab training? How is the learning process organized? How proficient are the teachers there?
I think they were using the Edx platform at that time. It had series of articles and videos followed by assignments. The best part was all the feedback I received from the instructors about my assignments.
How did you come up with the idea for BlockParty?
Back in 2013 (before I knew about the blockchain and smart contracts), I was working on a video learning startup. During that time, MOOC (Massively Open Online Courses) were popular but its low completion rate was a problem across many platforms, so I had a similar idea about taking deposits and sharing it among the people who completed the courses, but I never implemented the idea.
[bctt tweet=”I had an idea about taking deposits and sharing it among the people who completed the courses. – Makoto Inoue”]
When I had a chance to prototype something during the company hackathon in 2016, I used to organize an Ethereum study group, and there the low turnout rate was a bit of problem. My colleague suggested I should hack some event app that takes a deposit, and then I remembered the idea of not just taking the deposit but also distributing it among the people who came.
You host your own meetups. Do you use BlockParty there? Can you show us some of the more practical use cases for the BlockParty?
So I have used it for my meetups since last September. The first time I used it was during a conference called Devcon2 in Shanghai, back in 2016. And at that time I organized a day before the conference talk and booked a restaurant for 20 people, and they just posted on the chat channels. It said, “Hey, I’m doing a, you know, this… thing, meetup, registration as a smart contract and having a dinner party. You want to come?” And then I posted it out and about ten people joined. A couple of times after that, I did it for pre and post-conference events. There was a conference in France last March so I did it again after the conference. I did it a couple more times as a dinner event. So in my meetup now, BlockParty is the main tool. So if you want to come, you have to register through BlockParty. But we are also piloting an Ethereum London Meetup, which is one of the biggest Ethereum communities in the world. I think it has about 5 to 6 thousand members, and every time they have about 200 to 300 users. And they have a lot of people who booked the place but never turned up. So we try to do this slowly, as a kind of game.
The current blockchain ecosystem
Why is BlockParty built on Ethereum? In which aspects is it better than, let’s say, NEO?
When I first built it in 2016, I didn’t know of any smart contract environment other than Ethereum. I am aware of other platforms (and I actually went to a NEO meetup last month), but I haven’t tried out those environments yet. I am keen to try them out at some point, but I think it’s better to reach a certain skill level before jumping into the next shiny thing.
[bctt tweet=”It’s better to reach a certain skill level before jumping into the next shiny thing. – Makoto Inoue”]
In the foreseeable future, will we see a platform better than Ethereum? What are the most promising ones?
I am a very hands on person so I don’t make judgements about which ones are promising until I actually try them out. Having said that, I am keen on Zilliqa, a blockchain based on sharding, with a new type of smart contract which is formal verification friendly, so I heard.
Your contract deployment account was compromised a month ago. What lessons did you learn from this?
After the BlockParty deployment account was compromised and funds were transferred into an unknown account, I’d probably revert from deploying remotely to locally. At the time, I did it because geth –light mode wasn’t working well. This way the account file is at least password protected. And most importantly I should not leave any significant amount on deployment account anyway. I published a blog about it if you want to read more about it.
Also, Consensys Smart Contract best practices github page has an issue page with bounty to encourage users share their best practices so I encourage other people to share their operational security tips.
Whenever you write on a “TO-DO” comment will come back to hurt you.
What’s the easiest blockchain platform to start with right now?
I don’t know much about other blockchain platforms, but I think Ethereum is the best mostly because the size of the developer community is much bigger so there are lot more tools as opposed to other platforms.
Which problems did you encounter working at BlockParty?
I wrote BlockParty three months after I started learning Solidity, so some of the structures are not as good as it could be. I try to keep refactoring but some structure changes break compatibility, so I’m a bit reluctant to do so.
You said your CEO was interested in the blockchain. Do you and your company plan to adopt some blockchain solutions in the insurance field?
We are quite actively trying to find similar use cases and other stuff like that. So that’s part of the reason we organized a hackathon last July. We created one called “break the block,” and we brought people from the insurance and blockchain industry to create something. We didn’t take any specific project further, but currently, we’re still quite active. It’s still in the education phase though. Some people have an interest but people are not quite sure what that is yet – this, unfortunately, creates a huge barrier for people to enter the blockchain. If there’s anything that makes sense and we see that there’s an opportunity, then we will try it out.
As you said about some barriers being psychological, the next question is, why does this barrier exist and how can we overcome them to increase blockchain adoption in the nearest future?
That’s a good question. People still see it as a kind of speculation investment tool, but they don’t really see it as a utility. So even the people who have Bitcoin are probably people who don’t know how to use Ethereum or smart contracts. So tools like BlockParty are going to, I hope, enable people to actually use the blockchain.
Another thing about cryptos is that they’re quite volatile. If you spend 0.01 Ether today, in a week’s time, the value of it could change rapidly, and that’s not necessarily good. I am expecting some stable currencies to become more common, but even when a more stable currency comes in, people still need to know how to use the wallet and other stuff. If the user interface is improved, I think that will overcome a fair bit of hurdles.
Skills needed and hot tasks
What is the number one priority for beginning developers?
What traditional skills should beginning blockchain developers have?
Writing tests. Actually, most of the tests are similar to those from traditional software programming where you’re using automation techniques with the intent of verifying that the software product is working as expected. Due to the security importance, for blockchain contracts your tests should cover more extreme cases (the ones you wouldn’t usually expect to happen)
What are typical mistakes that beginners make?
Trying to do a real ICO as a first project (I see lots of questions on this topic).
For blockchain development, is it better to be a “one man orchestra” or work in a team?
If you can form a team, do it. During the hackathon, I formed a team and learned a lot from my other team members.
I think I can call you an experienced developer. And I’m sure you had made some mistakes and of course, we’d love to know about those mistakes so those beginning developers could get some advice and not make same mistakes you had.
Mistakes are inevitable. But you learn from mistakes. So making mistakes is not a big problem. I think one of the problems in the very beginning was back when I started in 2016, when tools had changed quite a bit. So many of the tutorials, which were written like six months prior, were no longer useful. So trying to find a trusted source was a bit of a problem. The training at B9Lab was good because they tried to update the material whenever a new update came in. So having access to up-to-date training materials would probably help you a lot so you don’t waste too much time. If you can’t, the second best option is asking the community. There’s a lot of good data out there for you to find.
And I think for Ethereum, there are lots of Gitter channels out there for any questions you may have. Also, Consensys has a popular framework called Truffle, and it’s quite active. If you say, “Hey, I have a problem,” that doesn’t really get other people to help you. You need to be as descriptive as possible and say something like, “Oh, I’m trying this solution using this environment, and this is the error I’m getting. I tried this, this, and this but I find it’s still not working. So if you can give me any help, that would be appreciated.” The more detailed your questions become, the easier it will be for other people to help you.
What are some principles that would make a developer’s life easier?
A mistake in a smart contract could cost a lot of money so I recommend writing lots of automation scripts.
Could you recommend the top five courses (in your opinion) for starting a
career in blockchain development?
Courses tend to become out of date rather quickly so I tend to learn by reading tons of articles and asking questions on Gitter channels.
What forums/websites/YouTube channels are you following to improve your blockchain development skills and understanding of the industry?
If you are completely new, “Solidity 101” course by Nick Johnson (One of core developers at Go Ethereum team) is really good.
“Learning Solidity” Youtube channel has lots of videos covering wide range of topics from writing ERC20 tokens into diving into byte code.
If you want to ask questions, solidity and truffle gitter channels are quite active (make sure your questions are as concise and descriptive as possible and also you try to help other people who are newer than you).
[bctt tweet=”Developers are a more scarce resource than money in the blockchain world (at least for now). – Makoto Inoue”]
Which advice would you give to beginning developers?
If you have time looking into the crypto trading chart, start building something that interests you. Developers are a more scarce resource than money in the blockchain world (at least for now).