4月も後半にさしかかり、そろそろ新人研修を終え配属となった人もいるのではないでしょうか?
エンジニアとして配属された方の中には、これまでプログラミング等に触れてこなかった初学者の方もいらっしゃると思います。
技術系の学習に役立つものとしては技術書や情報共有サイト、勉強会などなどたくさんありますが、新人としてはどれを使って学ぶべきか困ってしまうこともあるかと思います。
そこで、数年前まで新人だったDAC入社2〜4年目の若手エンジニアにこんなお題でアンケートを取ってみました。
「新人の頃に知っておきたかったと思う教材教えてください」
各エンジニアごとに、役立つと思う良教材とその教材に対するコメントを添えてまとめてみました!
新人の皆さんに限らずぜひご参考にしてください!
4年目 フロントエンドエンジニア
1. ドットインストール
動画でわかりやすく、解説者のテンポが良い。 何か新しい言語を覚えようとしているなら一番最初に見るべき。
2. 小悪魔女子大生のサーバエンジニア日記
インターネット会社にアルバイトで入った文系女子大生がまとめた本。 インフラ系の基礎知識がわかりやすく絵にされてる。
3. 〜の絵本
HTMLの絵本、perlの絵本、など各プログラミングの絵本を株式会社アンクという会社が出していて、絵が豊富なのでイメージが湧きやすい。
4. セミナー参加
東京であればweb系の何かしらのセミナーがほぼ毎日のように無料で開催されている。
行ってみると他の企業のエンジニアとも交流ができ、自分がこの業界でどのくらいのレベルなのか、ざっくりわかる。
また、エンジニアと言っても色々あるので、例えば自分がフロントエンドならバックエンド、インフラ、ゲーム系エンジニア向けのセミナーに敢えて参加することで、視野を広げるのも良い。
セミナーはdots、ATEND、connpassなどから探せます。
3年目 システムエンジニア
5. マンガでわかるJAVA入門
キャラクターの会話ベースで進んでいくので、文字だけの入門サイトをみるよりかはとっつきやすい。 オススメしてる本人もこれで今勉強中。
6. ITproのLinuxコマンド集
オプションやど忘れした時、自分の知らないコマンドを勉強したい時などにつかってます。
オプションの確認とか--helpで見れればいいんだろうけど、英語でとっつきにくいなぁと思う人にとっては日本語での解説はとてもありがたい。(ものによっては使用例があるのでわかりやすい)
7. Qiita
ピンポイントで欲しい知識が結構転がっている印象。 アカウントを作成すれば気になった記事はすぐにブックマークできるので便利
【毎日自動更新】Qiitaのデイリーストックランキング!ウィークリーもあるよ
3年目 セールスエンジニア
8. シス管系女子
漫画でわかりやすくコマンドやシェルスクリプトを学べるので、Linuxや黒い画面が初めてという人にオススメ。 あとみんとちゃんが可愛い。
9. Scratch
MITメディアラボが開発した初心者向けプログラミング言語。 プログラミング自体に抵抗がある方向けですが、意外と面白い。
社内で3x3マスの正方形を最短何ステップで書けるか競ったりしました。 僕は5stepまで減らせましたが、5step以下にできた方がいれば教えてください!
10. mixi 研修資料
株式会社mixiさんが公開している新卒向けの研修資料。
JavaScript, Git, スマホアプリ開発の資料を公開されているようです。 非常に充実しており、分かりやすいので一通りやってみることをお勧めします。
11. 実践Vim
サーバにつないで作業する際はviやvimを使うことになると思うのですが、そんな時にお勧めな本。シス管系女子とセットでどうぞ。
思考のスピードで編集しよう!っていいですよねw あと、ちょいちょい出てくる表現が絶妙。
https://twitter.com/kotatsu_mi/status/477102540140470273
3年目 インフラエンジニア
12. アカマイ 知られざるインターネットの巨人
題名からとっつきにくそうだけど、インフラ初心者にとっては分かりずらいNWのことが分かりやすく書いてある。
インターネット全般の仕組みが書いてあるから、インフラエンジニア以外も知っておいて損はない知識が身に付く。
13. 1週間でLPICの基礎が学べる本
bashを使ったことがなかった私が一番初めに読んだ本。自分のPCに仮想環境を立てる手順から、サーバへのログイン方法まで丁寧に書いてある。
先輩に何度もきけない基礎の基礎はこの本から学ぶべし。
14. AWSセミナー
今の時代はなんといってもクラウドが分かると強い。 仕事で触る前にAWSのセミナーに行って勉強しておけばよかったって何度も思いました・・・
2年目 これからエンジニア
15. 絶対に挫折しない iPhoneアプリ開発「超」入門
プログラミングをやったことのない初心者向けで、基礎的なことが書いてあるし、分かりやすい。カラーでとても見やすい。
2年目 WEBエンジニア
16. Git 入門関係
未経験だった私が新卒1年間の間にすぐに理解できなかった概念として、Gitによるバージョン管理があります。
読んで、触って、何が起こるかを見ながら少しずつ理解できている範囲を広げていきました。 しかも1回では身体に馴染むほど憶えられないので、複数のGit関連初学者向け資料を、時間をおいてなぞりました。
Code School : Git シリーズ サルでもわかるGit入門 Atlassian の Git Tutorial Git 本家ドキュメント
17. リーダブルコード
チームメンバーにも、新しく参加するメンバーにも、未来の自分にとっても読みながら何をしているかが理解しやすいコードを書くための心得とテクニックが書かれています。
ただし、読んだだけではすぐに美しいコードが書けるようになるわけではありません。 私の場合は同じチームメンバーによる丁寧なコードレビューが、理解しやすいコードを書く力を鍛えてくれていると思います。
18. ネットワークはなぜつながるのか 第2版
ブラウザ、LAN、ルーター、プロバイダー、サーバーなど単語がなんなのか正確に理解していない、まずい。と感じたタイミングで読みました。
ブラウザであるURLにアクセスしてから、そのページが表示されるまでに関わっているネットワークの基本技術を解説してくれています。
4年目 アプリケーションエンジニア
19. キタミ式イラストIT塾 基本情報技術者
資格が大切という訳ではないのですが、システム開発プロセスにおいて必要な知識がわかりやすく体系的にまとめられており、知識ゼロで業界に入ってしまった僕にとっては役に立ちました。
もはや何を勉強していいかすらわからない方に。
20. 世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~
大分意識の高い邦題ですが、タイトルから想像されうる、マニアックなアルゴリズムを書かせるようなパズル本ではなく、配列・リストやスタック・キューなどプリミティブなデータ構造に対する省メモリ、少ステップなコードの書き方が学べます。
21. 『理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL 』
MySQL界の偉い人が書いた本ですが、集合論・述語論理とクエリの関係や正規化について、つまりリレーショナルモデルそのものを説明しているため、どのRDBMSでも共通です。
読み終わったら http://nippondanji.blogspot.jp/ の人気エントリを上から読んで各RDBMSの実装(B-Tree indexやNested LoopなどJoinの仕組み等)について理解しましょう。
22. 暗号技術入門
「SSL/TLS = HTTPを暗号化するためのプロトコル」程度の曖昧な理解から、認証局による公開鍵証明、鍵交換の仕組みまで、一般的なアプリケーションエンジニアとして必要な暗号アルゴリズムの知識が学べます。
23. 公式ドキュメント(できれば英語)
qiita.comやstackoverflowも良いコンテンツですが、やはり公式ドキュメントが一番正確かつ情報量が多いです。
OSSはドキュメントの充実具合がマチマチなのでなんとも言えませんが、特にAWSやGCPなどクラウドサービスを扱うのであれば、日本語版はドキュメントの更新が遅い場合が多々あるので、可能な限り英語で読んだほうが良いと思います。
3年目 システムエンジニア
24. WEB+DB PRESS
Web界隈での最近のトレンドが分かりやすくまとまっている
25. 開発者ブログ
クックパッドに限らず、エンジニア系のブログで技術はもちろんエンジニアという職業について書いてるものがあるので面白い。
まとめ
今回はDACの2〜4年目の若手エンジニアに
「今となれば新人の頃に知っておきたかったと思う教材教えてください」
と聞いてみたところ、「そういうのあるある」という声が多く聞かれました。
DACの新卒は入社後に初めてプログラミングを学んだ人も多いので、新人エンジニアの方には役に立つものが多いのではないでしょうか。僕もいくつか参考にしようと思っています。
これらの教材を参考に学んで、エンジニアの一歩を踏み出しましょう!