Tech Do | メディアドゥの技術ブログ 

株式会社メディアドゥのエンジニアによるブログです。

メディアドゥ新卒3年目がこれまでに読んでよかった技術書

はじめに

こんにちは。メディアドゥ新卒3年目でジュニアエンジニアをしている大森です。
メディアドゥでは、福利厚生として書籍購入の補助制度があったり、定期的に輪読会を開催していたりと、エンジニアが技術書を使って学習しやすい環境が整備されています。
今回は新卒3年目がこれまでに読んだ技術書の中でも特におすすめの本について、タメになった点や業務に役立ったエピソードを交えつつ紹介していきたいと思います。

今回の紹介メンバー

大森
新卒3年目。 これまで電子書籍流通システムの新規機能開発でフロントエンド・バックエンド開発、インフラ構築を担当し、その後同システムの保守も担当。 現在は電子書籍流通システムの刷新プロジェクトでフロントエンドチームに所属しています。

菅野
大森の同期で新卒3年目。出版者向けERPサービスのβ版開発フェーズから、フロントエンド・バックエンド・インフラなどフルスタックに参画。 現在は旧電子書籍流通システムの改善を行う新チームで、チーム立ち上げや開発タスクの選定、要件定義から実際の開発までを行なっています。

技術書紹介

リーダブルコード
著作:Dustin Boswell,Trevor Foucher 解説:須藤 功平 翻訳:角 征典
発行:オライリー・ジャパン : オーム社

大森: 「読みやすいコード」をテーマに、どう書けば他の開発者が理解しやすいコードになるのかを解説している定番の書籍。 変数名・関数名の工夫といった簡単なヒントから、ループとロジックの改善方法、巨大な関数の分割の作法など、いくつかのテーマでコードを理解しやすくする方法をサンプルコードと共に取り上げています。

大学時代に一人で開発していた時期に読んだ時はピンとこないことが多かったのですが、入社してチーム開発をするようになってから(特に保守業務で他の人のコードを読むようになってから)本書に書かれている内容のありがたみが理解できました。

本書から学んだこと ・コードを書く際、「初めて見る相手にパッと理解してもらえるか?」と考えることができるようになった
・変数名・関数名はプロジェクト内の他のコードとも合わせて考えることができるようになった
・コード内にコメントを残すようになった

ページ数も少なく何度読んでも学びがある内容なので、おすすめの一冊です。

プロになるためのWeb技術入門
著作:小森 裕介 
発行:技術評論社

菅野: 就活中〜入社前のタイミングで読んだ本です。 決して最新技術に触れるような内容ではなく、インターネットが登場してからWEBアプリケーションが生まれるまでの経緯など基本的な知識を学べる内容となっています。 ビジネスの流れが早い現代において、Webアプリケーションフレームワークは高速な開発を行うためにもはや欠かせないものとなっています。

しかし、Webアプリケーション開発に最初に触れるタイミングでフレームワークを使用すると、フレームワークのAPIを機械的に使うことに慣れてしまい、なぜそのような機能がフレームワークに備わっているのかまで考えが回らないこともあるかと思います。 本書でインターネット黎明期のCGIを用いたWebアプリケーションから近年のWebアプリケーションフレームワークを用いた開発に至るまでの経緯を学ぶことで、そういった「何をやっているか分からないけどとりあえず動く」状態を脱することができたと感じています。

また、近年の基本的なWebアーキテクチャや最低限押さえておきたいセキュリティ要件もカバーしているので新卒入社後も役に立っている一冊です。まさに「プロになるため」の第一歩を押さえられる良本でした。

本書から学んだこと ・Webの基本(WWW、HTTP、HTMLなど)
・Webアプリケーションアーキテクチャ
・Webアプリケーションに求められる最低限のセキュリティ要件

キタミ式イラストIT塾 基本情報技術者
著作:きたみりゅうじ
発行:技術評論社

菅野: こちらも就活中〜入社前のタイミングで読んだ本です。 私は非情報系の大学院出身で独学でWeb開発を学んでエンジニアになったため、学部で学ぶような基礎知識が周りの同期に比べて足りておらず、そこを補うために読んだ本でした。資格を取る取らないに関係なく、資格本は最短で資格取得できるように情報がうまく整理されているため、短期間で基礎知識を補わないといけない私にとっては非常に有用な内容だったと感じています。 また、学術的な内容だけでなくシステム開発の基本的な流れや用語など、実際の開発現場で日常会話として出てくる単語を予習できたことも良い点でした。

本書から学んだこと ・基本情報技術者レベルの情報工学の基礎知識
・システム開発の基本的な流れ
・用語

りあクト! TypeScriptで始める つらくないReact開発シリーズ booth.pm

大森: 入社してから、業務で使用するTypeScriptとReactのキャッチアップのために読んだ本です。 全3冊のシリーズで、第1巻の言語・環境編ではJavaScriptとTypeScriptの基本的な内容から、推奨される書き方まで網羅した内容になっています。 また、言語が登場した背景や歴史を元に、なぜJavaScriptが現在のような仕様になっているのか納得しながら学習を進められます。

第2巻と第3巻の内容はReactの解説で、こちらも基本的な使い方だけではなく、各種設計手法を取り入れた実践的なコードをみながらReactの使い方を学べる内容になっています。

本書から学んだこと ・JavaScriptとTypeScriptの歴史や今の仕様に至った経緯
・TypeScriptとReactのベターな書き方

プログラミング言語Go
著作:Alan A.A. Donovan, Brian W. Kernighan 翻訳:柴田 芳樹
発行:丸善出版

大森: 入社してから業務で使っているGo言語のキャッチアップのために読んだ本です。
本書はGo言語の言語仕様についての教科書のような内容になっていて、前半ではプログラムの構造的要素、基本となるデータ型などの基本事項が解説されており、後半はメソッド、インタフェース、ゴルーチンなど、他の言語と異なるGo言語の特徴について焦点を当てて解説しています。

Go言語の根本の言語仕様だけを取り上げており、何年経っても廃れない内容になっているので、いつでも教科書的に使える本になっています。

難易度は結構高めなので、他の参考書などで基礎を抑えてから読むのがおすすめです。 私もGo言語の公式チュートリアルであるA Tour of Goをやった後に読みました。

本書から学んだこと ・Go言語の言語仕様
・他の言語と比べた時のGo言語の特徴

オブジェクト指向UIデザイン
著作:ソシオメディア株式会社,上野 学,藤井 幸多
発行:技術評論社

大森: オブジェクト指向ユーザーインターフェース(OOUI)と呼ばれるオブジェクトを起点としてUIを設計する方法やその利点を解説した書籍です。

OOUIは対の概念となるタスク指向UIと比べて画面数を減らせたり、開発効率や拡張性も向上するといったメリットがあるのですが、どうすればタスク指向のUIをOOUIに改善できるのかといった方法や知見を前半解説・後半演習問題の形式で学習することができます。

弊社の電子書籍流通システムのような業務系システムだと、要件を実現するためにどうしても使いずらいタスク指向UIになりがちなので、業務要件を満たしながらどう画面を改善するかを考える際には本書の内容が非常に役に立ちました。

特に旧電子書籍流通システムを刷新する案件では、UIを改善するタスクも多く、読んですぐに役に立つ内容でした。

本書から学んだこと ・要件から画面を作る際のノウハウ
・タスク指向UIの特徴と使いにくくなりがちな理由
・画面の改善点を言語化して改善するヒント

漫画でわかるDockerシリーズ
booth.pm

菅野: 入社後にコンテナについて学ぶために読んだ本です。 私は入社するまでDockerを使用したことがなく、入社後配属されたプロダクトはAWS Lambdaによるサーバーレスアプリケーションであったため、Dockerに触れる機会が少なく敷居が高く感じていました。 こちらの本ではDockerについてのミクロな解説まではないものの、逆に漫画でざっくり解説してくれているおかげで入門の敷居を下げてくれる本でした。 現在は4巻まで発売されており、最新刊ではDockerによる環境構築をさらに容易にするDocker Composeまで触れられているため、Docker入門としては十分な内容かと思います。 まだDockerに触れたことがないという方の入門書としておすすめのシリーズです。

本書から学んだこと ・Dockerの基礎知識
・Dockerに入門する気持ち

SQLアンチパターン
著作:Bill Karwin 監修:和田 卓人,和田 省二 翻訳:児島 修
発行:オライリー・ジャパン

大森: タイトルの通り、DB設計やSQL記述の際にアンチパターンとなる事柄を紹介する書籍です。 データベース論理設計、データベース物理設計、クエリの記述、アプリケーション開発という4つのカテゴリごとに、アンチパターンの例やそれを避けるための方法を解説しています。

この本は入社してから社内の輪読会で読んだのですが、先輩エンジニアのみなさんによるアンチパターンなDB設計のシステムの開発に携わったエピソードが印象に残っています。

また、アンチパターンには知らないとあっという間に技術負債となってしまうものも多く、テーブル設計の業務をする中で、本書を読んでおいてよかったと思うシーンも多くありました。

WEBエンジニアであれば一度読んでおくと知見が広がると思うのでおすすめです。

本書から学んだこと ・RDBMSにおけるアンチパターンのメリットデメリット
・アンチパターンの改善方法

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド
著作:Camille Fournier,及川 卓也 翻訳:武舎 るみ,武舎 広幸
発行:オライリー・ジャパン

菅野: 新卒1年目に読んだ本です。 入社前にはあまり意識していなかったのですが、(今思うと当たり前ですが)入社すると目標設定やその振り返りが求められます。目標設定するにしても、自分がエンジニアとしてどのようなキャリアを歩みたいかをエンジニア経験のない新人が考えるのは容易ではありません。

本書では新卒から入社3年目、テックリード、マネージャー、CTOまでエンジニアのキャリアの各フェーズにおいて、どんなことを考えて今の仕事に臨むべきか、また今後のキャリアのために何をすべきかを学ぶことができます。 キャリアについて知っている事前情報が少ない1年目に読むことで、今後のキャリアについて、イメージを膨らませる機会となりました。

ただし本書は訳書なので、海外におけるエンジニアのキャリアであるという前提を理解しておくことは重要です。また、「テックリード」と一言で言っても会社の規模感やフェーズ、開発組織の形によって「テックリード」が何をするポジションかは異なります。本書は参考情報として、自分の現状に当てはめる形で考えることをおすすめします。

本書から学んだこと ・エンジニアとしてのキャリアイメージ
・メンターとしての心構え

プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで
著作:及川 卓也,曽根原 春樹,小城 久美子
発行:翔泳社

菅野: 新卒2年目に読んだ本です。 開発チームの立ち上げや開発計画の立案、要件の策定などマネジメントに寄った業務を任される機会があり、こちらの本を参考にしました。 マネジメントなんてまだ先の話、と考えていたのですが、マネジメントの粒度も色々で細かなマネジメントであれば新卒数年で行う機会もあるかと思います。

本書は全21章立てとかなりボリューミーで網羅性が高いので、読破しても良いですが、急にマネジメント業務を任された際に参照する辞書的な役割も役に立ちました。 前述の基本情報で学んだシステム開発の流れは基本的にプロジェクトマネジメントの内容であるため、プロダクトマネジメントを行っている組織におけるマネジメントとは乖離があるかと思います。また資格勉強とは異なり実践的な知識やTipsも豊富なため、新卒入社後すぐより2年目のタイミングで読んだことで、実体験を元に理解できた内容が多かったように感じました。

本書から学んだこと ・ステークホルダーとの付き合い方
・チームの立ち上げとその後のリードの方法
・プロダクト開発の進め方

おわりに

今回は新卒3年目の二人が、メディアドゥで働く上でおすすめの技術書を紹介させていただきました。 メディアドゥで働くイメージを作る参考になれば幸いです!

TechDoでは、この記事以外にもメディアドゥのエンジニアの働きかたを紹介した記事や勉強会のレポート記事などがたくさんありますので、よかったら読んでみてください! ここまで読んでいただき、ありがとうございました!