派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【連載】第5回 「エンジニアとしてこのさき生きのこる」ためのコラム

第5回 野球選手が素振りをするように、エンジニアはコードを書く

こんにちは。「エンジニアとしてこの先生さきいきのこるためのコラム」の第5回へようこそ。
この連載では、エンジニアのみなさんがエンジニアとしてこの先生さきいきのこり、エンジニアとしてのキャリアを深めていくために不可欠な、「スキルを磨く」ための取り組みをご紹介していきます。

過去の記事はこちら↓

f:id:itstaffing:20160318180226j:plain

【講 師】
塩谷 啓(しおや ひろむ)さん

株式会社ドワンゴ所属、エンジニア兼採用担当、運営母体のひとつであるドワンゴのネット高校の一年生。中途採用する側・される側の両面から、エンジニアとしての生存戦略について考えている。 共著「Web制作者のためのGitHubの教科書」(インプレス)

今回からは、実際に自分の手を動かし、エンジニアとしての基礎体力とも言える「地力」を伸ばすための取り組みについてお話します。

素振りをしない野球選手はいない

プロとしての技能で報酬を得ているなら、その技能が衰えないように維持し、さらに伸ばしていくために努力することは生きのこるために必要です。素振りをしない野球選手がいないように、エンジニアも腕を磨き続けていく必要があります。

「業務から離れた時間も手を動かしコードを書く」なんて、面倒くさかったり、仕事から解放されたいと思ったりするかもしれません。そんなことをしなくても今は仕事ができている、という人も多くいると思います。

しかし、普段から技能や地力を磨く取り組みをすることで、この先生きのこる可能性を広げることができますし、エンジニアとしての職業人生も楽しく実りあるものにすることができるでしょう。

f:id:itstaffing:20170110124546j:plain

まずは練習場を見つけよう

エンジニアにとっての素振りは「コードを書くこと」ですが、いったいどのようなコードを書けばよいのでしょうか。

サービスやアプリケーション、ライブラリなどのコードを書くのはよい訓練になり、世の中に価値を届けることもできます。しかし、気軽に「素振り」として始めるにはちょっとハードルが高かったり、ネタが思いつかなかったりするかもしれません。 そんな時は、Webや書籍で公開されているお題を使ってコードを書いてみましょう。

1. オンラインコーディング
Web上には無料で公開されているプログラミングの課題がたくさんあります。ブラウザからコードを登録するとその場で採点してくれるものも多いので、すぐに素振りを始めることができます。幅広い難易度の問題が揃っているので、素振りのネタに困ることはないでしょう。
海外も含めるとたくさんのサービスがありますが、最初のハードルを下げるため日本語で使えるものをご紹介します。

AtCoder
オンラインで参加できるプログラミングコンテスト(プロコン)のサービスです。常に「コンテスト」が開かれており、腕に応じて上下するランクを競います。

AIZU ONLINE JUDGE: Programming Challenge
「オンラインプログラミングチャレンジ」の名の通り、プロコンで出題されるような問題に自分のペースで取り組むことができます。

CodeIQ|ITエンジニアのための実務スキル評価サービス
プログラミングのお題を解くことでスキルを可視化することができ、その成績によってはスカウトが来るかも?という転職支援を目的としたサービスです。

2. 書籍
プログラマーの採用面接では、実際にコードを書かせて実力を見る「コーディング面接」が行われることがあります。「ホワイトボードテスト」とも呼ばれるそういった面接の場面で、実際に出題された問題を集めた書籍が出版されていて、「お題」のネタとしてはぴったりです。

『世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~』
(著者:Gayle Laakmann McDowell)

https://www.amazon.co.jp/dp/4839960100/
このシリーズはこの本の他にもプロダクトマネジャー向けやプログラミング力を鍛えるための本があります。

f:id:itstaffing:20170110124550j:plain

やってみよう

●素振りのネタを用意する
・紹介したサイトなど、オンラインコーディングサービスにアカウントを作成してみましょう。

●チュートリアルを行う
・オンラインコーディングサービスにはチュートリアルとしてごく簡単な問題が用意されていることが多いので、まずは1問得意な言語でクリアしてみましょう。

●レベルアップする
・問題を解いていくとランクが上がり、さらに難しい問題にチャレンジできるようになるシステムを導入しているサービスが多いようです。最初は一番簡単なレベルからスタートし、より上のレベルに上がるまで問題をクリアしてみましょう。

(編集後記)
今回はエンジニアが腕を磨くための「素振り」のネタとして、いくつかのWebサービスと書籍を紹介しました。プロとして今後生きのこる上で、この記事がみなさんの「素振り」のきっかけになることを願っています。 次回は、スキルアップのために有効なもう一つの取り組みである「アウトプット」についてお話しします。お見逃しなく。