Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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 非ゲーム系アプリを一人で作っ て運用できるスキルセット 自身のスキルポートフォリオを考えておくと良い