はじめに
私は35歳になるまでプログラミングの経験は全くありませんでした。真っ黒な画面に難解な英数字を並べるのは、特別な人がするものだと思っていたからです。一生プログラミングに関わることさえないと思って生きてきました。しかし、Bitcoinに出会い魅了され、その仕組みを応用したシステムを開発したいと考えた時、プログラミングが避けて通れないことに気がつきました。そして一念発起し、いざプログラミングの世界に飛び込もうとした時、そもそも何をどう初めたらいいのか分からず、途方に暮れました。
この記事を書いた理由は、そんな悪戦苦闘している方々の参考になれば幸いだと思ったからです。私は転職にあたり、多くの方々から多大なる恩恵を受けました。そして、その恩に少しでも報いたいと思い、僭越ではありますがこの様な記事を書かせて頂きました。
この記事の対象者
- プログラミング未経験者だけどプログラマとして働きたい方
- Bitcoinに関連した業務にプログラマとして携わりたいと検討中の方
- Bitcoinまたはプログラミングを学びたいと思っている方
勉強を始める前にしたこと
禅詩にこんな言葉があります。
道をたどり、師をあおげ、師にしたがえ、師とともに歩け、師を見通せ、師となれ
まずは師を探すことからはじめました。
業界で働いている方に連絡した
SNSやMeetupを通して、暗号通貨業界で働く方々に連絡を取りました。根気強くコンタクトを取ることで相手に熱意が伝われば、いずれ味方になってくれる人が見つかるはずです。業界で働く方々の情報は、ネットの情報とは比較にならないほど有用な情報です。情報収集をすることで仕事の内容をより明確に認識し、目指すべき目標を定めることが出来ました。
希望する会社を見学しに行った
目標が明確になると、自然と希望する会社を決めることができました。目的はあくまで採用されることだったで希望する会社の雰囲気を知り、自分を知って貰う為に会社訪問をさせて頂きました。実際に職場に行くことで現場の方と話すチャンスがあるかもしれないと思ったからです。お話をさせて頂いた中で、自分がやりたいことと会社がマッチングするか確認できました。会社が本当に人材を必要としているのか、どんな人材を必要しているのか、今の自分には何が足りないのかなど、現場に行かなければ分からない貴重な情報を得ることができました。
プログラミングに詳しいメンターを探した
プログラミングに関して、いつでも気軽に質問できる人が必要だと感じました。私の場合は、幸運にも友人にプログラマ熟練者がいました。その友人が快くメンターを引き受けてくれ、精神的なサポートもしてくれたことで、最短で転職を実現することができしました。熟練したメンターは自らの豊富な経験から目的達成までの最短距離を示してくれます。また疑問に思ったことに即座に応えてくれ、間違った場合には軌道修正してくれます。
期限を最短で設定し計画を立てた
転職活動期間は転職に関わること以外は一切やらないと決め、最短期限を設定しました。期限を設定することで自分にプレッシャーをかけ、目標を達成することだけに集中しました。短いスパンで計画を立て成果を確認することで、モチベーションを持続し途中で気持ちが折れることがないように工夫しました。
Bitcoinの勉強法
Bitcoinの知識はもちろん、ないよりはあった方が良いと思います。ですが場合によっては、転職してから勉強しても良いかと思います。私は転職に必要だったので、勉強しました。
「A peer to peer digital cash system」を繰り返し読んだ
まずはホワイトペーパーを読むことからはじめました。ただ読むだけではなく、内容が理解出来るまで繰り返し読みました。分からない単語だらけだったので、Bitcoin Wikiで調べました。単語の内容について分からない場合はDeveloper Documentで確認しました。
「Mastering Bitcoin: Programming the Open Blockchain」を読んで理解を深めた
ホワイトペーパーよりも更に踏み込んで、詳しく勉強をする為にこちらの本を読みました。学習して得た内容をアウトプットしたかったので、理解した内容を整理してブログに書きました。インプットすることだけでなく、アウトプットすることで更に頭の整理がつくと思いました。
ブロックチェーン大学校を利用した
独学だけでは補いきれない部分に関しては、大学校に通い学びました。Bitcoin関連の勉強に関しては独学だったので、自分が理解した内容を確認する意味でも大変有意義でした。また、キャッチしきれない最新の情報も、ここで勉強が出来るので良いと思いました。
プログラミングの勉強法
経験がない場合、どんな言語を使えばいいのか?本は何を読めばいいのか?どのレベルまで勉強すればいいのか?どんな勉強をすればいいのか?何からはじめればいいのか?など疑問は尽きませんでした。
「どんな言語を使えばいいのか?」「どのレベルまで勉強すればいいのか?」
事前に転職を希望する会社の情報収集していたのでこれは明確でした。会社から課題を頂いていたので、その課題をこなすのに必要な言語を使い、完成させるのに必要な最低限のレベルまで勉強しました。また勉強した成果は、Githubにコードを挙げて人に見て貰いました。
「本は何を読めばいいのか?」「どんな勉強をすればいいのか?」
書籍を使った勉強はしませんでした。読んでも殆ど覚えていられなかったのと、途中で挫折することが多かったからです。公式ページ(例えばJavascriptはこちらです)のチュートリアルで十分だと感じました。もし分からない事があれば、その都度ネットで調べるクセをつけました。もし調べても分からない場合は、ひとりで悩まずに積極的にメンターに聞いていました。
「何からはじめればいいのか?」
まずはfreeCodeCampという無料サイトを利用して、勉強をはじめました。読んで覚えるよりも圧倒的に「手を動かしながら(コードを書きながら)」学ぶ方が覚えやすかったです。読んだだけだと殆ど頭に残らなかったので何度も読み返していましたが、1度でも書いたコードは断片的にでも後から思い出すことが出来ました。
まとめ
良き指導者に出会った
これに尽きると思います。前職が全く関係ない他業界だったので、経験から物事を判断することが出来ませんでした。手探りの状態でしたので、私はサポートが必要でした。たった1人では決して成し遂げることは出来なかったと思います。
好きだから続けられた
3年前にBitcoinに出会ってから、ぼんやりと暗号通貨関連の仕事がしたいと思っていました。その間一度も諦めることなく続けられたのは、単純にBitcoinが好きだったからだと思います。自分を突き動かしたのは情熱で、人を動かしたのも情熱でした。
勉強方法は会社からヒントを貰った
会社が求めている人材でない限り採用して貰うことは出来ないと思っていたので、それならば何が必要なのか聞いた方が早いと思い、直接聞いてしまいました。聞いたことで、私の場合は自分がどんな勉強をすればいいのか明確に分かりました。これは技術的なスキルのみ言えることなのかもしれませんが、勝手に自分で想像してあれこれするよりも聞いてしまった方が効率が良かったです。
年齢や経験はどうにかなった
35歳にしてプログラミング未経験と言うのは、この業界において市場価値は殆どありませんでした。風当たりは強く、全く相手にされないことも多々ありました。そんな状況でも続けたことで、最終的には希望の会社に採用して頂きました。年齢や経験もやりようによっては、何とかなるもんだなぁと思いました。
おわりに
この記事は要点だけをお伝えしているので、もしかしたら計画的で順風満帆な転職活動だった様に見えるかもしれません。場合によっては「35歳のプログラミング未経験者が最終的には目的を達成した」美談に見えるかもしれません。しかし、実際はそんなことは全くありません。内定まで何だかんだ3年かかりました。その間に希望した会社は2回不採用(保留)になっています。今もなお、必死で勉強を続けています。
この業界は人材不足だそうです。しかし人材不足だからと言って、誰でも入れる訳ではありませんでした。どうやら「企業が求める水準の」人材が不足しているようです。この記事を読んで頂き少しでも興味を持って頂ければ幸いです。そして、いつかこの業界でお会い出来ることを楽しみにしております!