74
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? Qiitaの投稿データから読み解く、2016年の技術トレンド〜 Increments株式会社 プロダクトマネージャー 及川 卓也

クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜

Embed Size (px)

Citation preview

クリスマスもコードを書きたいアナタに送る!次世代エンジニアの技術の学び方とは?〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜

Increments株式会社

プロダクトマネージャー 及川 卓也

知見を共有しスキルを高めることができるプログラミングに特化したオープンな情報共有コミュニティ

かんたんにわかりやすく書ける

タグやストックで見たい記事がみつかる

編集リクエストで知恵を分けあえる

シンプルで使いやすい専用エディタ

Agenda

- コミュニティとして見たQiita- Qiitaの投稿データから読

み取る技術トレンド

- Incrementsのエンジニア

が注目する技術

- Qiitaの作られ方

コミュニティとして見たQiita

数字で見るQiita

● サービス開始:2011年9月16日

● UU/月:約200万人

● 投稿数/日:約200件

● 累計投稿数:10万件

● Organizaion数:約200

アクセス

98%が日本国内。

東京都港区、新宿区、横浜、大阪、渋谷からのアク

セスが多い。

Chromeを使うユーザーが半数以上。Firefox、

Safari、Internet Explorerが続く。

ユーザー

20代後半から30代前半の男性が中心。

ユーザーは(ざっくり分けると)2種類

● あることを知るために検索から来るユーザー

● Qiita上で投稿を読むことを目的とするユーザー

Qiitaの投稿データから読み取る技術トレンド

検索経由で良く読まれた記事

検索経由で良く読まれた記事

Google Search Consoleが90日間しかデータを保

持していなかった (;O;) ので、過去90日間のランキ

ング

検索経由で良く読まれた記事(過去90日)

1.2. scp コマンド

3. ssh4. electron5. viewport

6. selenium7. node.js8. vim コマンド

9. git add 取り消し

10.

Top10

検索経由で良く読まれた記事(過去90日)

1.2. scp コマンド

3. ssh4. electron5. viewport

6. selenium7. node.js8. vim コマンド

9. git add 取り消し

10.

Top10 1位と10位は何でしょう?

過去90日の検索経由のトラフィック

10位の技術は…11/9

検索経由で良く読まれた記事(過去90日)

1.2. scp コマンド

3. ssh4. electron5. viewport

6. selenium7. node.js8. vim コマンド

9. git add 取り消し

10. tensorflow

Top10 10位は「TensorFlow」

※ ちなみに、11位は「機械学習」

検索経由で良く読まれた記事(過去90日)

1.2. scp コマンド

3. ssh4. electron5. viewport

6. selenium7. node.js8. vim コマンド

9. git add 取り消し

10. tensorflow

Top10 1位は何でしょう?

検索経由で良く読まれた記事(過去90日)

1. 標準偏差

2. scp コマンド

3. ssh4. electron5. viewport

6. selenium7. node.js8. vim コマンド

9. git add 取り消し

10. tensorflow

Top10 1位は「標準偏差」

「標準偏差」の記事

【統計学】初めての「標準偏差」(統計学

に挫折しないために)

番外編(検索経由で読まれた記事)

12位は?

季節的な要因?

9月初旬に検索経由で良く読まれた。

番外編(検索経由で読まれた記事)

12位は

「SSL サーバーが古い可能性が

あります」

番外編(検索経由で読まれた記事)

12位「SSL サーバーが古

い可能性があります」

* ChromeでTLSフォー

ルバックが無くなったタイ

ミングでの記事

ちなみに…

2016年にはSHA-1証明書の非サポートが始まる

もしかしたら、またQiitaの

記事にアクセスが集まる

かも?

はてなブックマーク経由で良く読まれた記事(2015年)

はてなブックマーク経由で良く読まれた記事(2015年)

はてブで話題になる記事も多い。

注意:はてブ数のランキングではなく、はてブ経由で

読まれた記事のランキング

はてブ経由で読まれた記事トップ101. IT業界で横行する恥ずかしい英語発音 - Qiita2. メモ - 炎上案件に突如ディレクターとして投入されたときにやってみたこと - Qiita3. ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ - Qiita4. BigQueryで150万円溶かした人の顔 - Qiita5. なぜ iPhone の画像は Android の画像よりもずっと高品質なのか - Qiita6. プレゼンテーションに使う画像の探し方 - Qiita7. [ポエム]社員が経営者目線を持つと迷走する - Qiita8. 関数型言語のウソとホント - Qiita9. 最強のSSH踏み台設定 - Qiita

10. Linux - 社内プロキシに虐げられてる人たちはVPSとか借りて社外にプロキシ立て

てsshトンネルで繋ぐとウハウハですよってお話 - Qiita

もっともストックされた記事

2015年もっともストックされた記事

11位〜20位

11. プレゼンテーションに使う画像の探し方12. WebAPIでエラーをどう表現すべき?15のサービスを調査してみた13. Markdown記法 チートシート14. Swiftで作られたイケてるUIライブラリたち15. 30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまで16. 中上級者になるためのJavaScript【知識編】17. ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習18. Naming -名前付け-19. ターミナルの作業が捗るかもな小技5つ20. [新卒向け] Linux開発環境の基礎知識 JavaScriptを読んでて「なにこれ!?」と思

うけれど調べられない記法8選。

2015年もっともストックされた記事

1位〜10位

1. Gitでやらかした時に使える19個の奥義2. 数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路3. うまくメソッド名を付けるための参考情報4. ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ5. 初心者向け、「上手い」シェルスクリプトの書き方メモ6. 非デザイナーエンジニアが一人でWebサービスを作るときに便利なツール32選7. 最強のSSH踏み台設定8. インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識9. Markdownテキストでシーケンス図とフローチャートを描く

10. ここ数年前から2015/5までのモダンフロントエンドを総まとめしてみた

Qiita投稿から見る技術トレンドプログラミング言語、クラウドプラットフォーム、注目のあの技術

プログラミング言語

タグをフォローしてい

る率の変化

プログラミング言語

順位の変動

JavaScriptCSSPHPRubyJavaPythonObjective-CC++CSS3ShellScriptCCoffeeScriptC#PerlSwiftScalaZshSchemeGoRgolangTypeScriptBashElixir

クラウドプラットフォーム

フォロー率 フォロー率順位

Heroku

AWS

GCP

Azure

Bluemix

Big Query

Lambda

Amazon EC2

GAE

Amazon S3

GCE

さくらVPS

SoftLayer

Windows Azure

さくらのクラウド

注目の技術

2014年から2015年にかけてフォローされた率がもっ

とも高くなったタグ

720%増加。ちなみに、 react.jsは420%増加で、IoTは380%増加。

注目の技術

2012年から2015年にかけてフォローされた率がもっ

とも高くなったタグ

6500%増加。ちなみに、2014年から2015年は90%(若干の減少)。

Incrementsのエンジニアが注目する技術

フロントエンド技術(@mizchi)

● FlashからHTML5へと引き継がれなかったノウハウの再発見

○ WebAnimation上でのタイムラインアニメーション

○ Flashのようなオーサリング環境

● ビジュアルプログラミング環境

○ 複雑化したフロントエンドに対する揺り戻しが来ると思う

○ FRP (Functional Reactive Programming) は注目されているが、コード的に

FRPを表現するのは困難(UnrealEngineのBlueprintのような配線図UIで表

現するのはアリなのでは)

フロントエンド技術(@mizchi)● Serverless Architecture

○ Single Page Application の発展系として外部ストレージ+認証系

○ Firebase等のBaaSというか Storage as a Service

● JavaScriptと型

○ TC39で何らかの型表現が採用されそうな気がする

○ オプショナルな型表現の採択 => オプショナルな型チェックの実装(TS/Flow) => ブラウザがメタデータを読む事による最適化 => デファクトなValidatorの決

定、という流れになるのでは?

フロントエンド技術(@mizchi)● Web Assembly (wasm)

○ 将来的にLLVM言語が現実的なデコード速度でブラウザで動くようになる

■ C++(clang)■ C#■ Rust■ Swift

○ 既存のJSをまるっと置き換えるものではない

■ DOMアクセスはJSの仕事

■ まだサイズは膨らむしSPA向け

プログラミング言語(@yujinakayama)

例えば、Rubyでは高いパフォーマンスが要求される部分を、C言語で記述して高速化す

ることができる。しかし、Cはメモリ安全ではないため 気をつけないと segmentation faultを発生させてしまうこともある。また、普段Rubyを書いている人がCを触るのは抽象

度のギャップが大きく、学習コストなども含めてあまりメンテナブルではないという面が

あった。

最近の言語はこれらを解決できるのではないだろうか。

高い抽象度、パフォーマンス、安全性

を兼ね備えた言語の登場に期待!

注目の言語

Goすでにインフラ周りや分散システムなど、productionでも広く利用されている。

Rustシステムプログラミング言語。zero-cost abstractionsを謳っており、低級な操作

も可能でありながら、メモリ安全。

CrystalRubyっぽい構文。開発ステータスはまだalpha stage。

これらはどれも比較的高い抽象度、パフォーマンス、安全性を兼ね備えている。また、静的型付けな言語であり(Rubyなどの動的な言語と比較して)コンパイル時に静的にエラーを検出しやすい。型推論などによって記述時の冗長さも少なくなっている。

2016年に注目しているモダンな言語の使い方

どう使うか?

● 現状では、高いパフォーマンスが要求されるロジックだけこういった言語で書くと、

割と低リスクで恩恵を受けられて便利そう。

● 共有ライブラリとしてコンパイルし、他の言語から呼び出す。

○ RustとGo(1.5から)は共有ライブラリとしてコンパイル可能。

○ 例えばRubyからFFIで呼び出したりできる。

Advent Calendarランキングもやってます!

Qiitaの作られ方〜スタートアップ的仕事術〜

スタートアップ

A startup company or startup or start-up is an entrepreneurial venture or a new business in the form of a company, a partnership or temporary organization designed to search for a repeatable and scalable business model. (Wikipedia)

どんなことが日々起きているかというと…

なんでもやる(やらなきゃ誰もやらない)

勝手に人が入ってくるオフィス

変なユニーク人が多い

例えば、茶師とかドローン達人とか。

さらに…

ボドゲマスターなエンジニア

社員の懇親会でカードゲームやったら、話題になって、

ニュースになった。

ChatOpsチャットサービス上で

● 開発チームの情報を集約

● 高機能Botにより各種自動

化ツールを操作

Qiitan

c.f ) Ruby製HubotクローンのRubotyをSlackで動かす - Qiita

Qiitan 画像検索

Qiitan 天気予報

渋谷ランチ情報

rubyコード実行

Qiitan 掃除時間と当番の割り当ての通知

Qiitan GitHubへのIssue登録

Deploy & Mergeリクエスト

Qiitan#from_twitterでQiitaについてのツイートを収集

なんでも自動化&省力化

例)某勤怠管理サービスを導入 → 勤怠(出社および

退勤)を入力するWebシステムがイケてない(良くあ

る)→ ブラウザとWeb間の通信を解析 → Qiitanで

入力可能に

Incrementsのエンジニアが注目する技術

ChatBot(@r7kamura)

まさに今説明したQiitanを用いたオペレーション

情報共有

チャットを通じて、ハイコンテキストな環境を作り出す。

暗黙知を形式知として書き出す。

リンク集

紹介した記事へのリンクなどは

http://bit.ly/codeiqiita2015

においてあります。

今日は技術トレンドを見てきたわけですが…

トレンド < 想い

自分の想いを大切に。

社内で注目技術を聞いたときのエンジニア( @mizchi)のひとこと

Increments株式会社

知見を共有しスキルを高めることができるプログラミングに特化したオープンな情報共有コミュニティ

かんたんにわかりやすく書ける

タグやストックで見たい記事がみつかる

編集リクエストで知恵を分けあえる

シンプルで使いやすい専用エディタ

かんたん・気軽に書ける、チームを強くする為の社内向け情報共有サービス

導入企業一覧

WE ARE HIRING!

世界の進化を加速させるために!

みんながかんたんに始めることができ、世界にインパクトを与えられること。

私たちは、ソフトウェア開発をよくすることで、よりよい世界が実現するまでの時間を大

幅に短縮することを目指しています。私たちといっしょに未来をつくりましょう。

http://increments.co.jp/jobs

Thank You!http://qiita.com