学生時代に知っておきたかったweb技術の学び方の学び方 | リブセンス

70
Photo ©Hiroyuki Takeda / Water station #1 学生時代に知っておきたかった Web技術の学び方の学び方 ー10年先の不確実な未来を楽しむためにー 株式会社リブセンス 河原塚 有希彦

Upload: livesense-inc

Post on 06-Aug-2015

55.500 views

Category:

Career


1 download

TRANSCRIPT

Photo ©Hiroyuki Takeda / Water station #1

学生時代に知っておきたかった Web技術の学び方の学び方

ー10年先の不確実な未来を楽しむためにー株式会社リブセンス 河原塚 有希彦

年間、キャリアは続く40新卒から定年まで

年に1度は 技術トレンドが変化10

10年前はインタラクティブWeb分野を Flash/ActionScriptが牽引。 後にWeb標準技術が整備された。

Web開発で使われる言語トレンドは、 この10年で変化

モバイル分野では 8年前までiPhoneはなく、

さらに、 2014年に登場したSwiftに、 iOS開発トレンドは移行した。

年に1度は 技術トレンドが変化10

そしてトレンドだった技術は、 コモデティ化し

実社会に融けこんでいく

たとえば入力フォーム

https://forum.sohovillage.com/2005/02/1108698826/

たとえば2005年頃プログラマが 1日がかりで作っていた入力フォームは、

10年後、プログラマなしで 無料で作れるように

https://questant.jp/

4 回以上の「学びなおし」

10年に1度技術トレンドの変遷があるとして、 40年続くキャリアの中では

©Hiroyuki Takeda / Water station #1

短距離走ではなく 補給しながら走り続ける マラソン型

©Hiroyuki Takeda / Water station #1

どう走るか。 そして どう走り続けるか。

典型的な3つの課題

技術トレンド の変化

課題 1

学びになること と

やるべきこと

課題 3

モチベーション

課題 2

技術トレンド の変化

課題 1

© Apple iPhone6(2014)

 © CASIO / W41CA(2006)

© Apple iPhone6 (2014)

技術トレンドの変化に応じて、 日々新しいことを学ぶことが必要

 © CASIO / W41CA (2006)

8YEARS

しかし、一見大きな変化でも、 基礎的なアプリ構成は変わっていない

イベントキュー

アプリケーション 本体

ルートの画面基底の 画面部品

テキスト表示 画面部品

一覧表示 画面部品

テキスト表示 コントローラ

一覧表示 コントローラ

基底の コントローラ

Brew Event Queue

Application Root Container IWidget

Text Widget List Widget

TextCtl ListCtl IController

フィーチャーフォン(BREW)

IOS Event Queue

UIApplication

UIWindow UIView

UITextView UITableView

UITextView Controller

UITableView Controller

UIViewController

iOS

AppDelegate

10年後の技術トレンドはわからない。 しかし基礎となる

アプリの構成は変わらないだろう。

基礎を抑えて習得すれば、 「学び直し」があっても効率的に行える

Web上で得られる情報が多いからこそ、 書籍もうまく活用を。

とはいえ、どのように基礎を抑えて学ぶか

書 籍

ジェネラルなプログラミング技術

理論・設計・原則実践・ベストプラクティス

基礎(理論・設計・原則)

Web上の情報のみでは形式的な知識を得にくいため、 それを補完するために書籍を利用する

Web上の情報

膨大な書籍のうち、 何を選んだらよいか

独習者向け教材はたくさん出ているが、 逆に教材が多すぎることが問題。

Amazonレビューなどによりある程度の選定は出来るものの、どれが今の自分に最適かまではわからない。

そこで、近い分野の先輩の薦めを参考にする。 いずれも基礎を抑えたものが上がってくるはず。

近い分野で先を走る先輩の薦めを活用

大規模Perl初心者研修を支える技術 http://www.slideshare.net/DaisukeTamada/perl-26371335

Amazonのクラウドエンジニアが選ぶ技術書35選 http://www.amazon.co.jp/b?node=3517238051

「人は1ヶ月でエンジニアになれるのか」 プロジェクトトレーナー推薦の3冊

「人は一ヶ月でエンジニアになれるのか - 詳細解説」 http://www.slideshare.net/livesense/ss-46078743

「アジャイルソフトウェア開発の奥義」http://www.amazon.co.jp/dp/4797347783

タイトルにはアジャイルとあるが、どちらかというとオブジェクト指向分析・設計に強い本。初学者向けの本とは言い難いが、これ一冊マスターすれば、基礎的なOOPの考え方は抑えておけるので教科書に。

最近大人気のコーディングテクニック本。「コードコンプリート」「クリーンコード」に比べコンパクトにまとまっているため、初学者には渡しやすかった。 読んで終わりではなく、繰り返し読んでコードを見返してもらう用途に利用。

「リーダブルコード」http://www.amazon.co.jp/dp/4873115655/

MySQLの鉄板。これも初学者向けとは言い難いが基礎が確実に詰まっているので、これを教科書として進めていった。

「実践ハイパフォーマンスMySQL」http://www.amazon.co.jp/dp/4873116384/

弊社新卒研修トレーナーがオススメする 必読の8冊

Ruby の言語仕様。少し古いけどこれを読んでおけば間違いない。だが次のパーフェクトRuby に比べて禁欲的すぎるかもしれない。これ一冊で「Rubyの開発ができる」ようにはならない。作ろうとするものを理解する必要があるけど、作ろうとするものはだいたい ruby の世界で完結しないからである。

「プログラミング言語 Ruby」 http://www.amazon.co.jp/dp/4873113946/

言語仕様でない部分もいろいろ書かれてる。プログラミング言語Ruby よりも新しくて関連トピックを多く取り上げている。テストや開発環境、パッケージ管理、自動化ツールについての解説もあって実践的。趣味でどちらかを選んでよい。

「パーフェクトRuby 」 http://www.amazon.co.jp/dp/B00P0UR1CA/

Javascript の言語仕様。良い本。 JavaScriptについて理解するためには、結局これを読まないといけなかった。

「JavaScript 第6版」http://www.amazon.co.jp/dp/4873115736/

セキュリティについては一度座学で一通りやっておかないと。 「Webアプリケーションのセキュリティについて基礎から入門する」ならこの本が鉄板だと思う。

「体系的に学ぶ 安全なWebアプリケーションの作り方」http://www.amazon.co.jp/dp/B00E5TJ120/

「漢のコンピュータ道」という技術Blogで有名なMySQLの偉い人が書いている。読むべき。 3日で読める分量だが述語論理、正規化理論などDBの基礎となる理論を学べる。

「理論から学ぶデータベース実践入門」http://www.amazon.co.jp/dp/4774171972/

DB設計のアンチパターン。「なんかいけてないな」っていう感覚に対して名前と理由を説明してあるのがよい。ハザードマップですね。

「SQLアンチパターン」http://www.amazon.co.jp/dp/4873115892/

インフラエンジニアになるでもなく、ただWebエンジニアとしてちゃんとやっていくなら身につけておくべき。 ざっと網羅的に書かれているので、斜め読みでもよいから読んでおくとよい。

「Webエンジニアが知っておきたいインフラの基本」http://www.amazon.co.jp/dp/4839953554/

「まずJavascriptとかの前に、ブラウザを知る。それが基本である」とフロントエンドエンジニアの第一人者がおっしゃっていた。それは間違いない。まずWebを知らないとWebアプリケーションは作れないですよね。プログラミングはできても。

「モダンWeb」http://www.amazon.co.jp/dp/4873116929/

モチベーション

課題 2

©Beatnik Photos / sleeping kitty

©Beatnik Photos / sleeping kitty

日々モチベーションを保って学び続けるのは難しい

瞬間最大風速的に意識は高くなるものの、一人でいると気がついたら一日ソシャゲして夕方頃に 「また今日も勉強できなかった」と自己嫌悪。

休日のエンジニアあるある

目標

チャレンジ

モチベーションを高めて 効果的に学ぶために

バランスさせるべき4要素

スキル

フィード バック

M.Csikszentmihalyi 「フロー体験入門」をもとに作成

目標

チャレンジ

一方、自習では難易度が上がる

スキル

フィード バック

折れやすい

足りない

無し

できない

意識は高いが

そこで勉強会を使って 仲間と楽しみペースメイク

©Freeport BASF / TM_BTOR (1228)

CASE STUDY

もともと文学部出身で、仕事でもプログラムを書くことはほとんどありませんでしたが、「よちよち.rb」という初心者向けのRubyのコミュニティに参加するようになって、どんどんその魅力に夢中になりました。

自分に合いそうな勉強会をWebで見つけ、 モチベーション維持に成功し、

キャリアチェンジに役立ったそう。

この4月にSIerからキャリアチェンジ してきた内山さんの事例

目標

チャレンジ スキル

フィード バック

ペースをつくる仲間ができると、、

定期的に持ち直せる

不足を 支えあい

次につながる

ほどよい強制

CASE STUDY

勉強会をうまく使うコツCASE

STUDY

楽しくやる一番のモチベーションの源。勉強会だけの繋がりだけでなく、チャットを利用して「早起き部」などサイドプロジェクトも行い、コミュニティ化(仲間化)。

カッチリやる「月曜は場所借りて」「金曜はオンラインで」と毎週の習慣化させ、モチベーション維持をはかる。

いまではコンピュータサイエンスの 専門書(CTMCP)を仲間と輪読中だそう。

CASE STUDY

「単なる努力」は 自分の性格的にあきらめて、 「努力が楽しくなる方法」を探そうとするようにしたんです。

CTMCP、一人ではぜんっぜん読める気しないんですけど、毎週仲間で集まって読書会をすると少し読める気がします。

2015年6月の社内勉強会の一部CASE

STUDY

©JD Hancock / Berry Hard Work

学びになること と

やるべきこと

課題 3

学びになることとやるべきこと(仕事)を結びつける難しさ

就業しながら学び続ける際に 課題となるのは、 やりたいことと学びになることを結びつける技術。

©JD Hancock / Berry Hard Work

「やるべきこと」は事業としての問題解決。 技術的に学びになるか、ではない。

お客さんが契約してくれそうなんだけど、 急ぎでお客さんが欲してるデータを DBから抽出して。今日中でお願いします。

ビジネス エンジニア

また面倒なだけの急ぐ仕事だ・・・

作ってもらったデータなんだけど、伝えてなかった条件があって、もう一度やり直してくれないかな、ナルハヤで。

ビジネス エンジニア

今日はリリース作業があって難しいです。。

問題解決への近道は、 欲しい人自身で対応できること

つまり、チームのIT化をすすめることが、 問題解決への近道

技術側で 分析用DB環境を用意し 教材を作成し、 勉強会などでフォロー

CASE STUDY

環境整備と技術の伝達

CASE STUDY

チームとして扱える技術が増えることで、 学びになることに注力できるようになる。

営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント http://www.slideshare.net/livesense/150225-sql-foreveryone-45695818

エンジニア以外にも技術を伝えること ||

専門家としての優位性の喪失

CASE STUDY

エンジニア以外にも技術を伝えること ||

専門家としての優位性の喪失

CASE STUDY

http://www.ideo.com/about/  を元に作成

INNOVATION

人 (デザイン)

技術

事業

技術と事業と人(デザイン)の交わる、 融合領域に技術革新が生まれると言われている。 (IDEO/DESIGN THINKING)

技術革新は融合領域に生まれる

“ ー “イノベーションのDNA” 53ページ

イノベーティブなアイデアは、さまざまな人たちの多様な経験が交わる場所で花開く。歴史を通じて、偉大なアイデアは文化や 経験の交わるところで生まれている。

純粋な技術領域から「越境」した 融合領域に取り組むことこそが学びになり、 10年先の不確実な未来を楽しむことにも繋がる。

次に読むべき資料は大規模Perl初心者研修を支える技術 http://www.slideshare.net/DaisukeTamada/perl-26371335

・DeNA社で実施されている新卒研修の事例 ・参考になった技術書ランキング ・「不確実なWebの情報に惑わされるな」

わたしのキャリアチェンジ (仮) https://speakerdeck.com/naoya/watasifalsekiyariatienzi-jia

・エンジニアから技術顧問への転身事例 ・「好きなことより得意なこと、周りの人が喜んでくれることを」 ・マネジメントの重要性、キャリアの積み方の参考に。

次に読むべき資料は (社員事例紹介)2014年も終わり!?いや…俺たちの戦いは...始まったばかりだッ! http://www.slideshare.net/takahirouchiyama2/20141220-lt-up

・Rubyを学習してSIerからエンジニアに転身した内山氏の事例。 ・「モチベーション高い時にやるべきことは、モチベーション維持できる環境に身を置くこと」

「人は一ヶ月でエンジニアになれるのか - 詳細解説」 http://www.slideshare.net/livesense/ss-46078743

・ウェブディレクターが一ヶ月でプログラミングを習得 ・基礎を学ぶ時間がない時の効果的な学習法として、 「何を学んでいないのかを知る」遅延学習法が紹介

http://www.slideshare.net/KurosawaChihiro/2-42758053

賃貸情報サイト"カリル"での 仮説検証型システム開発 http://www.slideshare.net/livesense/ss-48557442

営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイントhttp://www.slideshare.net/livesense/150225-sql-foreveryone-45695818

・社員全員SQL ・技術面だけではなく、組織面からの取り組み ・組織を理解した道筋の整備が技術の伝播を促す

・事業理解を深めることで不要な開発を「捨てる」 ・検証サイクルを早め、チームとして学習 ・近年話題のリーン/アジャイル開発の実践例。

次に読むべき資料は (自社事例紹介)

あたりまえを、発明しよう。