はじめてのIT勉強会2017 #4 で発表した資料です 当日口頭で話した部分や、追加の補足をこちらでしていますので、参考までに。 http://blog.innotamago.com/entry/2017/10/25/212750
新人〜3年目あたりを対象にした力の伸ばし方系のなにがしです
プロのエンジニアとして幸せに生きるためのなにがし2017.7.26@はじめてのIT勉強会 vol.4今野 夕貴
View Slide
プロのエンジニア?
仕事としてコードを書けばとりあえず「プロ」の定義には当てはまる
プロのエンジニアとしての幸せ?
とりあえず今回は「お前は量産型プログラマだ」と言われて撲滅されないためにどうするか、という観点で考えたいと思います倉貫義人「量産型プログラマを撲滅したい」https://goo.gl/LGy4Sdもしくは「量産型プログラマ」で検索
どう生きるのが幸せなのかはもちろん人それぞれ
最近話題になってましたがこの記事の意図としては「何とかなる≒クビにならない」程度米村 歩「エンジニアは業務時間外でも勉強するべきなのか」https://goo.gl/pqHin8
曲がりなりにも専門性のある技術職ですので
「そこそこの出力で気楽にやる」という選択が出来るのもそれなりの力量があってこそレベル1の魔法使いとレベル50の魔法使いでは同じメラでも負荷が違う、というのと同じお話
冨樫義博「幽☆遊☆白書 12巻」(集英社、1993年)
……とまでは言いませんが
望む働き方の実現しやすさに関しては力量がわりとモノを言う世界ではあります
で、IT系エンジニアの仕事の本質はIT技術による問題解決
言いたいことはいっぱいあるんですが…数学は地味に重要プログラマーの三大美徳健康で文化的な生活英語にひるむなアジャイルデザインパターン計算機工学達人プログラマーペアプログラミング客が本当に必要だったもの
本質を首尾よく達成するためのなにがしを守・破・離の3段階に分けて提案してみることにします
守道しるべを得るためのなにがし― 指示されたものが正しくこなせるようになるまで
守:道しるべを得るためのなにがし● 情報が集まるような環境を作ろう● 師匠を探そう
情報収集の方法● 積極的に情報発信を行っているエンジニアなどをTwitterでフォローする○ 気になる話題はツイート検索を利用して様々な人の意見を拾うこともできる○ FacebookよりTwitterの方が速報性が高いような気がする● 技術系ニュースサイト、はてなブックマークのテクノロジー分野をウォッチ○ Gigazine、TechCrunch、アスキー、ギズモード、Engadget、etc○ SmartNewsなどのニュースアプリが便利● Qiitaのいいね!数ランキングを眺める○ ただし、コメント欄まできっちり読んだ上での利用をおすすめします● Software DesignやWeb+DB Pressなど、専門誌の定期購読○ 執筆陣から各分野のトップエンジニアの名前を知る機会にもなる
放っておいても情報が転がり込んでくる状況を作るのがポイント
あと、悪いことは言わないので基本情報技術者程度の知識は基礎教養として身に付けておきましょう別に基本情報自体は持ってなくてもいいですが、勉強するなら試験を受けるのが一番手っ取り早いです
よい設計、よい考え方、おすすめのツール、手の抜き方効率のよい仕事のやり方、何を学ぶべきか、どう学ぶべきか、仕事とどう付き合うべきか、...etc
よき師匠は成長の道しるべとなってくれます
最初の会社で出会った師匠たちにはいまでもお世話になってます!なお、現職が4社目の模様
破自力で正しい道を選ぶためのなにがし― 現状を分析し、必要なものを取捨選択して行動できるようになるまで
破:自力で正しい道を選ぶためのなにがし● 教わったことは一度自分の頭で再構築してから使おう● インプットをしたらアウトプットをしよう● 会社の外に同業の友達を作ろう
1つの課題にこれ位考えてみる例:「ある問題を解決するためのコード断片」を手に入れた
1つの課題にこれ位考えてみる例:「ある問題を解決するためのコード断片」を手に入れた● 何がどうなって問題を解決しているのか● 呼び出している組み込み関数は内部でどのようなことをしているのか● そのコードは本当に最適な処理なのか(処理効率、副作用など)● そのコードにリスクはないか(セキュリティ、副作用による問題)● 今抱えている問題に対してどう適用すべきか● 同じように解決が出来そうな既存の問題はないかetc...
再構築と言っても自分の中に無いものは出てこない
アウトプットの例● 社内の情報共有ツール(社内ブログ、Wiki等)に情報をまとめる○ 使っているツールの利用方法、ドキュメントに記載されていないナレッジ○ 実施頻度の高い作業手順のまとめ(自動化はまた次の段階)● 個人のブログやTwitterで技術情報を発信● (身近な)誰かの質問に答える
アウトプットの例(上級編)● 何かプロダクトを作る○ Twitter bot、ネタ画像生成ツール、アプリ、自作ライブラリなど● OSSへ貢献する○ 既存のプロダクトへissueやPull Requestを送る、翻訳活動に参加する、など● 書籍等でまとまった量の技術文章を執筆する○ トップレベルの上級者向けかと思いきや、同人誌という手がある(専門の即売会もあるよ!)● (初対面の人も含めた)誰かの質問に答える○ 少し前ならメーリングリスト、今ならStack Overflowやteratailなどの質問サイト○ Twitterで特定のキーワードに反応して教えてくれる人もいる○ いずれにせよ技術力だけでどうにかなるものではないので、ある意味難易度は高い
守秘義務には注意が必要ですが、成果はなるべく(会社リソースではなく)個人の管理下に置くことをお勧めします言うまでもないですが会社に帰属するソースコードを持ち出すなど論外です(会社でやってるOSSなら別ですが)
冨樫義博「HUNTER×HUNTER 32巻」(集英社、2012年)
他を忘れてもこれだけ持って帰ってもらえたら私は満足です
離新しい道を創り出すためのなにがし― 今までになかったものを作ったり、自分が後進を導く側になるまで
離:新しい道を創り出すためのなにがし● 勉強会で少し喋ってみよう● それでも物足りなかったら勉強会を主催しよう
初めての登壇をLT(もしくはそれに準ずるショートプレゼン)で経験するのは何かとメリットがあります
LT(ライトニングトーク)登壇のメリット● 実現ハードルの低さ(枠があれば申し込むだけで発表できる)の割に目立つ● 通常のセッションより軽いテーマでOK○ むしろちょっとカジュアル気味なテーマの方が場が和む○ 基本的に5分程度なので長々と喋れるテーマじゃなくても大丈夫○ 個人的な過去の発表テーマNHKの語学番組について、数学ガールについて、DBFluteのよさを語る、「パーソナルかんばん」を使ってみた、PHP転向者あるある、自称マインドマップに物申す、ガルパンはいいぞ(スライド作っただけ)● 時間オーバーしても強制終了で笑いになるので問題にならない○ むしろLTの醍醐味とまで言われます
離:新しい道を創り出すためのなにがし● 勉強会で少し喋ってみよう● それでも物足りない場合は勉強会を主催しよう
自分の学びたいことを好きなだけテーマに出来るのが勉強会主催者の特権であり醍醐味
さらに、勉強会の運営自体が経験値になるという素晴らしいおまけつきいきなりの主催が不安だったら経験者にサポートしてもらえばいいのです(師匠を探そう!)
まとめ情報が集まるような環境を作ろう師匠を探そう守破離教わったことは一度自分の頭で再構築してから使おうインプットをしたらアウトプットをしよう会社の外に同業の友達を作ろう勉強会で少し喋ってみようそれでも物足りない場合は勉強会を主催しよう
それでは、健闘を祈る。
参考書籍(えいきょうをうけたほん)● 達人プログラマー○ https://www.amazon.co.jp/dp/427421933X/● 情熱プログラマー○ https://www.amazon.co.jp/dp/4274067939/● SEが28歳までに身につける28の力○ https://www.amazon.co.jp/dp/4774140678/