ブロックチェーンエンジニアに転職するのに必要なスキルを現役エンジニアが解説!




どうも、高妻です。(@Tomokazu106

WEBエンジニアからブロックチェーン企業のGincoに転職し、バックエンド全般と暗号処理に関する実装を担当しています。

 

今回はブロックチェーンエンジニアってどんなことをしていて、どんなスキルが必要か解説していきたいと思います。

 

ブロックチェーンエンジニアとは?

そもそもブロックチェーンエンジニアとは何でしょうか?自分の考えるブロックチェーンエンジニアをあげると以下のようになります。

 

ブロックチェーンエンジニア
  • ブロックチェーン(Bitcoind、Litecoind、gethなど)そのものを開発するエンジニア
  • ブロックチェーンを使ってサービス、アプリケーション(DApps)を開発するエンジニア
  • 最先端技術を研究するエンジニア

 

ブロックチェーンそのものを開発したり、ブロックチェーンを使ってアプリケーション開発したりと幅広いですが、全てブロックチェーンエンジニアになります。

 

ブロックチェーンに関わるエンジニアはブロックチェーンエンジニアですね!WEBに関わるエンジニアはWEBエンジニアと言われるのと一緒です。詳しくは下記リンクを読んでみてください。

>>ブロックチェーンエンジニアの種類と仕事内容を解説

 

ブロックチェーン開発に必要な言語は?

ブロックチェーンそのものや周辺サービスの開発に必要な言語はこれだ!みたいなものはないですがブロックチェーン毎に覚えておくといい言語はいくつかあるので紹介します。

 

ライブラリはJavaScriptが多い

JavaScriptはいろんなブロックチェーンのライブラリがたくさん出ているので学んでおいて損はない言語です。

 

Bitcoin、Ethereum、Ripple、Liskなど多くのブロックチェーンのトランザクションへの署名、アドレス生成処理などがJavascriptでも実装されています。

 

JavaScriptで実装されている理由は、ブラウザから使うことを想定されているからですね。これらのライブラリを使ってブラウザからの投げ銭、ウォレットサービスなど多くのWEBサービスが作られています。

 

ちなみにBitcoinのJavaScriptライブラリはこちらになります。興味のある人はいじってみてください。

>>bitcoinjs-lib

 

Bitcoin、Bitcoin Cash、LiteCoinの開発なら

BitcoinからハードフォークしたBitcoin、LiteCoinを含めたこの3つはC++で開発されているので、ソースコードを読んだり、開発に参加するにはC++の言語が必要です。

 

しかし、この開発はハードルが高いのでブロックチェーンを使ったサービスを作りたいという方は学ばなくても大丈夫です。BitcoinやEthereumの詳細な実装方法まで把握してなくともこれらを使ったサービスは作ることができます。

 

ちなみに、Bitcoin CashだけはGolangで実装された別のクライアントができたのでGolangでも開発に参加できます。

 

Ethereum、DAppsの開発なら

Ethereumはここ数年人気が高いGolangで開発されています。ブロックチェーン自体の開発に参加するのはなかなか大変ですが、Ethereumを使ったDAppsを作るのはそんなに難しくありません。

 

プログラム経験者であればすぐに理解できると思います。下の記事にDAppsを作るまでをまとめたのでこれを読めば一通りの基礎知識を身に付けることができます。

>>Ethereumの基礎からSolidity、DAppsまで学ぶためのまとめ一覧

 

DAppsを作るのに必要なのはスマートコントラクト開発するためのSolidityという言語です。他にもVyperという言語もありますが今のところSolidityの方が情報が多いので初心者はSolidityを使うことをお勧めします。

 

Solidityの学習ならCryptoZombiesというサイトがおすすめです。Solidityの基礎をゲームを作りながら学べます。無料なのでぜひ使ってみてください。

 

WEBからブロックチェーンエンジニアへ

自分はスマホゲームやWEBサービスを作るエンジニアからブロックチェーン関連サービスを作るエンジニアになりました。

 

どうやって学習し、ブロックチェーンエンジニアとして転職できたかを書きたいと思います。

 

WEBエンジニアであればサーバやDBの知識は活かせます!

まず、個人的な意見を述べさせてもらうとブロックチェーンエンジニアになるにはWEBの基礎知識やサーバサイド、DBの基本的な知識は必要不可欠ですね。

 

ようは、現在広まっているWEBサービスを構成する技術を代替する可能性があるのがブロックチェーン技術なので既存技術について知っておくとブロックチェーンが何を解決するものなのか理解がしやすいと思います。

 

なのでWEB系エンジニアとして働いている人は心配しないで大丈夫です。

 

ブロックチェーンの仕組み – 暗号技術、ハッシュ関数、公開鍵暗号方式

ブロックチェーンの基礎的な技術として暗号技術、ハッシュ関数、公開鍵暗号方式などは知識として理解しておく必要があります。めちゃくちゃ詳しくなくてもいいですが、どういったものか大まかな技術と仕組みについては理解しておきましょう。

 

全体像から詳細な技術を学ぶのには下記の本がおすすめです。この一冊でかなりのことが網羅されているので必携の一冊ですね。

エンジニア未経験ならWEBサービスから作ろう

これから未経験でブロックチェーンエンジニアになりたい人にアドバイスが1つあります。

 

まずは1つでいいのからWEBサービスを作って、ブロックチェーンを使ったサービスとどこがどんな風に違うのか比較ができるようになるといいと思います。

 

そうすることで、現状の問題点を理解した上でブロックチェーンでどういうことができて、それを使うことでどんなメリットがあって何を解決してくれるのか理解が進みます。

 

ここら辺を理解していないとブロックチェーンの利点を活かしたサービスを開発するのは難しいと思います。

WEBエンジニアの知識と経験は役に立つ

現状ですと完璧分散化されたサービスを作るのは技術的に難しいです。

 

なので、中央的な仕組みとブロックチェーンを使った非中央的な仕組みを組み合わせるのが現実解なのかなと思っているのでWEBエンジニアとしての知識と経験は必ず役に立ちます。

 

また、ブロックチェーン自体がWEBサーバ兼DBの役割をするのでクライアントだけ実装できればDAppsが作れるという技術的特徴もあります。

 

社会人になってからエンジニアになった自分の経験から「効率よく学んでエンジニアになる方法」について書いているのでこちらも是非読んでみて下さい。

>>プログラミング未経験から最速でエンジニアになる学習方法

 

体系的に学ぶなら

プログラム未経験者が体験的に学ぶならプログラミングスクールがおすすめです。自分もはじめは同様の講習を受けて効率よく学習しました。

 

プログラミングスクールには受講前に無料体験を行っているところがあるので活用することをお勧めします。

 

特に、テックキャンプはマンツーマンレッスン且つ、オンライン教材を使って自分のペースで学習を進めることができるのが特徴のスクールで、10,000名以上の指導実績があります。

 

また、テックキャンプはオンラインだけでなく全国8箇所に教室を持っているので分からないことを対面で質問することもできます。

 

まずは無料体験会を受けることになるのですが、体験会ではプログラミング学習の仕方やプログラミングの基礎について教えてくれますので興味を持った方はとりあえず受けてみることをお勧めします!

WEBエンジニア経験者は何をすべき?

最初はひたすらネット、書籍、サンプルコードをいじって何が分からないか分かるようにならないとですね。エンジニア経験者であればこの道は一度通っているのでまた同じように学習しましょう。

 

最初はどんな分野を学ぶにしてもこの作業は必要だと思います。続けていればそのうち点と点が繋がって理解が深まると思います。

 

Ethereumを触るのがおすすめ

一通り本やネットでブロックチェーンの知識を得たら、Ethereumを触ってみるのをおすすめします。

 

Ethereumはスマートコントラクトを簡単に実装することができ、オリジナルのトークンや分散アプリケーションを比較的簡単に実装することができます。

 

また世界的に見てもEthereumの開発者が多く、ネットや書籍に情報が多いため学習にこまることがないです。

Ethereumを触るなら下記リンクに基礎から応用までをまとめたので、この内容を順番に実践すると理解が早くなるのでおすすめです。

>>Ethereumの基礎からSolidity、DAppsまで学ぶためのまとめ一覧

 

基礎は理解していて、より実践的な内容を学習したい人はこちらを読んでみてください。

>>TruffleとZeppelin Solidityを使ったERC20トークンの実装

>>EthereumのERC20トークンをRopstenネットワークにデプロイしてオリジナル通貨を作る

>>Truffle、Solidity、GanacheでEthereum DAppsを作る

 

体系的に学ぶなら

ブロックチェーンを学べるプログラミングスクールも多くなってきました。

 

その中でもブロックチェーン大学校はBitcoinの仕様策定にも関わっていたジョナサンアンダーウッドという著名な方が開いているスクールです。

 

「即戦力が身に付くブロックチェーンの総合スクール」をテーマに掲げており、ブロックチェーンの基礎からエンジニアリングの難しいところまで学習できるカリキュラムが用意されています。

 

カリキュラムは教室で対面で受けるかWEBで動画を見て学ぶ2つの方法が用意されています。教室は東京と大阪、福岡にしかないのでほとんどの方はWEBで学ぶことになるかと思います。

 

ブロックチェーン大学校では無料体験会を行なっているので興味ある方は下の記事も読んでみてください。無料体験ですが内容がしっかりしているので初級者の方はこれで概要を掴むといいとおもいます。

FLOC【ブロックチェーン大学校】の無料体験コースはブロックチェーンをしっかり学びたい人にオススメ

2018-11-02

まとめ

今後ブロックチェーンエンジニアの需要はどんどん上がってくるとに思います。

 

現時点ですでにブロックチェーンエンジニアが足りておらず、これからさらに市場が伸びていくことが予想されるので今のうちからブロックチェーンを学んでおくこは非常に有益なことだと思います。

 

残業なんてしてないで新しい技術を学びましょう!最後に、ブロックチェーン業界の転職と求人の情報についてまとめた下の記事も読んでみて下さい。

>>ブロックチェーンエンジニアへの転職とか求人について

 

オススメの書籍

ビットコインとブロックチェーンの詳細をしっかりと学びたい方にはこちらの書籍が非常におすすめです。ウォレットの仕組み、楕円曲線暗号、P2Pプロトコル、公開鍵暗号などビットコインを支える技術について詳細に解説されています。また、サンプルコードを通して実際に手を動かして学べるので非常に濃い内容となっています。

こちらはブロックチェーンの初学者向けになります。ブロックチェーンの応用例の紹介から基礎的な理論まで分かりやすく図解で解説されています。また、ビットコインやEthereum、HyperLdger Fabricを実際に稼働させてみて動作を理解するためのサンプルコードの解説もあります。

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です