Slide 1

Slide 1 text

2016-10-12 エンジニアMEETUP 大仲 能史 a.k.a. @onk 短期間で新技術を学ぶ技術

Slide 2

Slide 2 text

自己紹介 大仲 能史 a.k.a. @onk 1982年12月18日生 33歳 ドリコム 10年目 (中途入社 2社目) 大学中退 → 派遣 → エージェント経由転職 趣味は問題解決とコードレビュー 肩書:スペシャリスト (アプリケーションエンジニア) フロントエンドからインフラまで

Slide 3

Slide 3 text

今日の話

Slide 4

Slide 4 text

短期間で新技術を学ぶ技術 難易度:「まずはここから」級 Technologyではなく Techniqueの話をします

Slide 5

Slide 5 text

アジェンダ 自己紹介 Technique 1 Technique 2 Technique 3 Technique 4 Technique 5 まとめ

Slide 6

Slide 6 text

自己紹介

Slide 7

Slide 7 text

自己紹介(再) 大仲 能史 a.k.a. @onk 1982年12月18日生 33歳 ドリコム 10年目 (中途入社 2社目) 大学中退 → 派遣 → エージェント経由転職 趣味は問題解決とコードレビュー 肩書:スペシャリスト (アプリケーションエンジニア) フロントエンドからインフラまで

Slide 8

Slide 8 text

やってきた技術 高校・大学 いわゆる「ホームページ」から入った HTML,CSS レンタルサーバでCGI改造 Perl,PHP,JavaScript 住んでいた板 Web制作,Windows,ソフトウェア フリーソフトを漁ったり,スタイルシートを書いたり

Slide 9

Slide 9 text

やってきた技術 前職インフラ時代 サーバは数百台単位でキッティング・ラッキング その他よろず相談ごとみたいな感じ 年間契約を結んで,何かあれば出動 触ったこともないmacOS Serverのセットアップ 作業が振ってきたときは肝を冷やした 自宅環境: 自作PC,MSCS,LFS 取得資格: MCP,LPIC,CCNA,CCNP

Slide 10

Slide 10 text

やってきた技術 前職プログラマ時代 人材派遣の会社で数か月ごとに別の現場 外の仕事がないときは新技術の習得と内製フレーム ワークの拡充,新商材の企画 ASP(VBScript),Java(Struts,Seasar2),PHP(オレ オレ,mojavi),C#.Net Oracle,DB2,PostgreSQL,MySQL,SQL Server

Slide 11

Slide 11 text

やってきた技術 ドリコム セールスエンジニアリング JavaEE,Ruby(Rails),Android Java,Obj-C Pull Requestベース開発 クラウド 数十万DAU チームリーダー スクラム,大規模スクラム

Slide 12

Slide 12 text

短期間で新技術を学ぶ技術 自己紹介 Technique 1 Technique 2 Technique 3 Technique 4 Technique 5 まとめ

Slide 13

Slide 13 text

Technique 1

Slide 14

Slide 14 text

本を3冊読む

Slide 15

Slide 15 text

本を3冊読む なぜ3冊? 右も左も分からない中で,まず基準を作るため 複数の本に書かれていたらおそらく正しい どんな本を読むべき? 網羅性の高いもの 1週間でわかる~的な ドットインストール等の動画でも可

Slide 16

Slide 16 text

本を3冊読む 言語に準備されてるときはまずそれを vimtutor,Railsチュートリアル,A Tour of Go 要所を学べるように意識して準備している 読むべき本が分からない場合、Amazonの カートに適当に数冊放り込むとサジェストされる

Slide 17

Slide 17 text

短期間で新技術を学ぶ技術 自己紹介 本を3冊読む Technique 2 Technique 3 Technique 4 Technique 5 まとめ

Slide 18

Slide 18 text

Technique 2

Slide 19

Slide 19 text

写経

Slide 20

Slide 20 text

写経 文法を体に覚えこませる 制御構造,クラス宣言,文字/文字列の操作, Enumerableの操作,IOの操作,ライブラリの使い 方,テストの書き方 理想の世界じゃない現実を知る どんな技術でもどこかに泥臭い作業が発生する

Slide 21

Slide 21 text

写経 静的解析ツールを有効にした状態で書くのが オススメ RuboCop,FindBugs,IDE (IntelliJ IDEA), QA・C++,Coverity 静的解析SaaSでもいい CodeClimate,Scrutinizer 変な書き方をしていたら訂正してくれる

Slide 22

Slide 22 text

写経 「とりあえずコレを作る」定番を持つと便利 画像管理 ファイル操作,再起,システムコマンドを使うことになる スクレイピング・マッシュアップ HTTP,HTML/JSON,エラー処理,非同期処理, テストでstub必須

Slide 23

Slide 23 text

写経 言語処理100本ノック 言語処理や統計,機械学習のやり方が分かる 第1章,第3章をまず書こう Project Euler 数学の問題を頭の体操として

Slide 24

Slide 24 text

短期間で新技術を学ぶ技術 自己紹介 本を3冊読む 写経 Technique 3 Technique 4 Technique 5 まとめ

Slide 25

Slide 25 text

Technique 3

Slide 26

Slide 26 text

Feedを購読

Slide 27

Slide 27 text

Feedを購読 はてブ,Qiita,Stack Overflow等をタグで購読 RSSは過去の技術じゃない 眺めているうちに感覚が身に付く IDEの使い方 定番ライブラリが何かとその使い方 初心者がハマりがちな罠 最新アップデートでハマる罠

Slide 28

Slide 28 text

Feedを購読 ノイズは慣れろ(超重要) 最悪今日はこの一言だけ覚えて帰ってください 自分の中にインデックスを作るのが目的 何ができるのか 難しいのは何か どんなエラーが起きる場合があるのか

Slide 29

Slide 29 text

短期間で新技術を学ぶ技術 自己紹介 本を3冊読む 写経 Feedを購読 Technique 4 Technique 5 まとめ

Slide 30

Slide 30 text

Technique 4

Slide 31

Slide 31 text

コミュニティに 参加する

Slide 32

Slide 32 text

コミュニティに参加する 「同じ問題意識を持った人」の集まり 自分なりの答えの後押しをしてくれる フレームワークのバージョンアップ作業をどこまで 雑に行って良いものなのか 最近~のエラーに悩んで,こんな解決法になった んだけど合ってる? 技術的負債を返済したいが上司決裁が下りない 30人規模のチームを率いることになったんだがどう マネジメントすれば良いか

Slide 33

Slide 33 text

コミュニティに参加する まずはコミュニティの一員になる 相手が信用できるのかを見極める 自分が信用される程度の情報を出す 勉強会に参加する,質問する,発表する feed読んでたら半分以上知ってる話になるので 聞くより話すのが重要

Slide 34

Slide 34 text

コミュニティに参加する 最初の会話の糸口に良さそうな便利ワード 最近始めたんだけど~~で困ってて 絶対にこれやっとけって設定的なのありますか? ~するための鉄板構成が分かんなくて 解決したがりの人たちが教えてくれる 質問の内容が成長していたら継続的に教えて くれる 成長が止まっていたら見切られる

Slide 35

Slide 35 text

短期間で新技術を学ぶ技術 自己紹介 本を3冊読む 写経 Feedを購読 コミュニティに参加する Technique 5 まとめ

Slide 36

Slide 36 text

Technique 5

Slide 37

Slide 37 text

Twitterを 有効活用

Slide 38

Slide 38 text

Twitterを有効活用 ノイズは馴れろ(2回目) Followする対象 勉強会の講師,Qiitaに正しい情報を書く人 フォローするとリフォローされるので,あとは適 当にfavしたりリプしたりしてると仲良くなれる たまに叫びが聞こえるのが良いですね。最近 だと「iOS10への怨嗟」とか

Slide 39

Slide 39 text

Twitterを有効活用 作ってきたリスト rubyist,phper,pythonista,frontend,dba, android/ios,socialgame,data-analyst consumer-game ゲーム業界(狭義)っぽい人を follow してスマホゲーが どう見えてるかを比べてる meguro 恵比寿・目黒・五反田付近の人。会話しておくとリアル で会いやすいのでシナジーが生まれる

Slide 40

Slide 40 text

短期間で新技術を学ぶ技術 自己紹介 本を3冊読む 写経 Feedを購読 コミュニティに参加する Twitterを有効活用 まとめ

Slide 41

Slide 41 text

まとめ

Slide 42

Slide 42 text

守破離 まとまったインプットを入れて自分の中で基準を 持つ 静的解析ツールによる矯正ギブスを上手に使 う

Slide 43

Slide 43 text

守破離 手を動かしまくる 「本の通りじゃ上手くいかない」が発生するのでどう にかする どうにかする方法はググれば 9 割落ちてる Feed、勉強会、Twitter等、最新の動向を知 れる状況を作る 試して「自分の基準」に取り込む

Slide 44

Slide 44 text

守破離 気づくとみんなの知見を取り込んだの「自分の 基準」は外で発表できる域に達している 「こっちの方が良さそう」と自分で決めることに 恐れがなくなる

Slide 45

Slide 45 text

5つの技術 本を3冊読む 写経 Feedを購読 コミュニティに参加する Twitterを有効活用

Slide 46

Slide 46 text

おまけ 「離」までたどり着くのに1技術3年かかる プログラマ35年定年説を信じると,あと4本ぐら いしか残弾が無い

Slide 47

Slide 47 text

おまけ 僕は以下の要素に振った Infra,Ruby on Rails,Web Frontend, Android/iOS webアプリ or 非ゲーム系アプリを一人で作っ て運用できるスキルセット 自身のスキルポートフォリオを考えておくと良い