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

PRODUCED BY RECRUIT

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

第6回 アウトプットは最高の勉強法

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

過去の記事はこちら↓

f:id:itstaffing:20160318180226j:plain

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

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

前回はエンジニアとしての腕を磨くための「素振り」の題材として、いくつかのWebサイトや書籍などを紹介しました。オンラインコーディングサービスは無料ですぐに始めることができるので手頃ですが、奥深いテーマです。みなさん試してみたでしょうか?

今回はエンジニアとして腕を磨くためにもう一つ重要な取り組みである「アウトプット」についてお話しします。

アウトプットを最高の勉強法にするために

ここでは「アウトプット」という言葉を、「ソフトウェア開発についての情報をインターネットで公開すること」と定義します。

みなさんも仕事や趣味で開発をしていて何か困ったとき、インターネットで検索して解決法を探したことはありませんか?そんなとき、検索結果に含まれる個人のブログやQiitastackoverflowなどの記事が、解決に役立った経験もあるでしょう。

エンジニアとして技術について調べて分かったこと、学んだこと、困ったこととその解決法など、自分の経験をテキストやサンプルコードにして公開することは、自分が経験したものと同じ壁にぶつかる人の大きな手助けになります。さらに、公開した本人にとってもさまざまなメリットがあるのです。

・ネガティブな心理をうまく使う

人間は誰にでも多かれ少なかれ、間違ったことを言ったり書いたりしたくないという「羞恥心」や、自分が優秀であるように見られたいという「虚栄心」があるものです。通常これらの心理は自分や周囲に悪影響を及ぼすことが多く、慎重にコントロールする必要があります。

しかし、アウトプットする際においては、こういった心理をうまく使うことで成長の手助けをしてくれることがあります。正確な情報を伝えるといった基本の考え方に加え、間違ったことを書きたくない、よりよい内容を書いて優秀だと思われたい、という心理があると、書くときに内容を精査するのではないでしょうか。文章が読みやすく正確であるか、コードが間違っていないかを確認し、よりよい方法がないかを追求する。そういう過程が、アウトプットの経験をより価値のあるものにし、知識や技術として身につけていくのにとても役立つのです。

学校の勉強でもずっと「レポートを書く」というお題がついて回ります。これもアウトプットのひとつの形だと考えると、勉強法として大事なものだったと今になって思います。

・数字でモチベーションを引き出す

先ほど紹介したQiitaには「Contribution(貢献度)」、stackoverflowには「Reputation(信用度)」というパラメーターがあり、サービス上での活動や他のユーザーからのフィードバックによって数値が上昇していきます。

こういう数値は、エンジニアとしての達成感や承認欲求を満たしてくれるものです。もちろん数値を上げることが目的になってしまうと本末転倒ですが、アウトプットを続けていくモチベーションを引き出すために、うまく活用していくのも大事なことです。

・職務経歴書の材料にする

アウトプットの質と量は、エンジニアとしての人となりを知るための重要な情報です。書いた内容やコードからは技術的な力量を、テキストからはエンジニアにとって意外と大事な文章力を、そして量や期間からは普段の姿勢を推し量ることができるのです。

普段からアウトプットを習慣にしておくと、職務経歴書を書く必要が出てきたとき、アピールの重要な材料になってくれます。

必ずしも技術的にハイレベルなものばかり揃える必要はありません。普段から腕を磨く取り組みをしているか、それを継続しているかをアピールできるだけでも、職務経歴書の説得力がグッと上がります。

f:id:itstaffing:20170309162717j:plain

アウトプットの出口と、その特徴を知ろう

アウトプットしたものはインターネット上で誰にでも見られるようになっている必要があります。その出口として便利なサービスをいくつか紹介します。

・ブログ

自分で用意したサーバー上でWordPressやMovable Typeを使うのは、セットアップから運用までの経験を積める「一石二鳥」な手段です。

また、自分のブログを持っていないなら、ブログサービスを利用するのが手軽でしょう。有料・無料でさまざまなサービスが提供されています。

選定のポイントとしては、

・コードのシンタックスハイライトに対応していること
・独自ドメインで運用するオプションがあること

をチェックするとよいでしょう。条件にマッチするサービスのひとつに「はてなブログ」があります。

Qiita

Qiitaは「プログラミングに関する知識を記録・共有するためのサービス」です。ボリュームのある記事からちょっとした小ネタまで、しっかりした記事も気軽なTipsも書きやすいサービスです。

エンジニア向けに特化したサービスなので、コメントや「編集リクエスト」など、記事の価値をあげていく仕組みが充実していたり、Markdown記法・絵文字・シンタックスハイライトなどエンジニアの手に馴染んだツールが使えたりするのが特徴です。

「技術的な記事ならQiita」というイメージが定着しつつあるため、ブログを開設せずQiitaにアウトプットを集約するエンジニアも増えているようです。

・Q&Aサイト

質問に回答を募る「Q&Aサイト」にも、ソフトウェア開発にテーマを絞ったものがいくつかあります。

代表的なものがstackoverflowです。エンジニアリングに関するキーワードで検索するとたいていなんらかの質問がヒットするので、皆さんも目にしたことがあるのではないでしょうか。日本語版もありますが、コンテンツの量・質とも英語版のほうが充実しているようです。

国内にはほかにも、エンジニアリングに特化したQ&Aサイトとして「QA@IT」、「teratail」などがあります。

f:id:itstaffing:20170309162749j:plain

萎縮せずにアウトプットしよう

アウトプットするときに「こんなレベルの低い内容を書いてもしょうがない」とか、「もう誰かが同じ内容で書いているから意味がない」などと思ってしまうこともあるでしょう。

しかし、みなさんが検索して参考にしてきた記事も、そんな心理的障壁を乗り越えた誰かが書いたものです。みなさんの一歩あとをついてくるエンジニアの役に立つ可能性があるのですから、気にせずどんどんアウトプットしていきましょう。

また、時には間違いを指摘されたり、よりよい方法があることを指摘されたりすることもあります。たいていの場合それは書いた人への攻撃ではなく、書かれたものがよりよくなるようにという善意が形になったものです。アウトプットの価値も高まり、先輩エンジニアから知識や経験も得られるのですから、むしろ喜ばしいことなのです。

アウトプットすることを萎縮したりフィードバックを恐れたりする気持ちには、筆者も覚えがあります。ほかのたいていの心理的障壁と同様に、乗り越えてしまえばなんということはないものですから、思い切って最初の一歩を踏み出してみましょう。

やってみよう

●アウトプットのネタを集める
・仕事や趣味の開発で気がついたこと、困ったこと、試してみたことなどを手元にメモしておきましょう。

●アウトプットの下書きをする
・集めたネタから「これは知らなかった、勉強になった」というものを選び、ブログで公開するつもりで記事にしてみましょう。
※業務内で気がついたことは、守秘義務に繋がる可能性もあるため、注意を払ってアウトプットしましょう

●Markdown記法に触れる
・Markdown記法に対応したエディターを探し、手元で書ける環境を用意してみましょう。

●アウトプットする場所を作る
・ブログを開設してみましょう。
・Qiitaにアカウントを作ってみましょう。

●Q&Aに答える
・Q&Aサイトに集まった質問を見て、自分が回答できそうなものを探してみましょう。
・そのサービスにアカウントを作り、回答してみましょう。

●プロモーションする
・アウトプットした成果をTwitterやFacebookなどのSNSでシェアしてみましょう。

(編集後記)
アウトプットするためには実際に手を動かす必要があるので、情報収集に比べると始めるためのハードルは高く感じられるかもしれません。ですが、かけた時間と労力の分だけ自分の経験になりますので、ぜひ取り組んでみてください。 次回は、もうひとつ重要なアウトプットのかたちとして、「コードを公開する」ということについてお話しします。