こんにちは!オルターブース エンジニア花岡です。
この記事はオルターブース Advent Calendar 2021の22日目の記事です。 adventar.org
洋書を読む
エンジニアのみなさん、冬休みのご予定はお決まりでしょうか? 実家に帰る方も多いかと思いますが、まとまった休みになるので何か新しいことにチャレンジしたい方がいるかもしれません。
そんな方にお勧めなのが、技術洋書の読書にチャレンジすることです。
日本語の技術書でも優れたものは多くありますが、洋書であれば日本語ではなかなか知ることのできない技術や最先端の技術を体系的に学ぶことができます。
ただ、洋書というものはあまり触れていない人にとって、中々ハードルが高いものだと思います。(値段が高い、英語を読むのが苦手など)
しかし、オライリー社の読み放題サブスクリプションのO'Reilly Online LearningとDeepLを活用すれば、英語が苦手でも技術力の飛躍的向上に役立てることができます。
それでは、活用方法などを紹介していきます。
Safari book Onlineのススメ
O'Reilly Online Learningはオライリー社が提供するエンジニアやデザイナー、マネージャーなどの専門家向けの本や動画が読み放題見放題のサービスです。
通常の方法で登録すると月/$99,年/$499とほかの他のサブスクと比べるとお高いですが、ACMというコンピューターサイエンス系の国際学会の会員になれば年$99で利用できるようになります。技術書は大体3000~4000円くらいするので、年3~4冊以上技術書を買う人にとっては大分お得になるかと思います。
登録方法は割愛しますが、下記のブログを見ながらやっていけば登録自体はすぐに終わると思います。
DeepLを活用して読む
前述でも述べましたが、洋書は英語が苦手な人にはとてもハードルが高いです。私もあまり得意ではありません。
しかし、英語が苦手な人にとって救世主ともいえるDeepLを使えば、ある程度自然な日本語で技術書を読むことができます。
例として Robert C.Martin の Clean Architecture の一文を引用してGoogle翻訳と比較してみます。
The architecture of a software system is the shape given to that system by those who build it. The form of that shape is in the division of that system into components, the arrangement of those components, and the ways in which those components communicate with each other.
Google翻訳はこちら
ソフトウェアシステムのアーキテクチャは、それを構築する人によってそのシステムに与えられる形です。その形状の形は、そのシステムをコンポーネントに分割し、それらのコンポーネントを配置し、それらのコンポーネントが相互に通信する方法にあります。
DeepL翻訳はこちら
ソフトウェアシステムのアーキテクチャとは、そのシステムを構築する人がシステムに与える形のことです。その形とは、システムを構成要素に分割し、それらの構成要素をどのように配置し、それらの構成要素がどのように相互に通信するかということです。
Google翻訳は意味は通じるといえば通じますが、読みにくい翻訳です。DeepLは日本語として自然で読みやすいですね。
また、DeepLはデスクトップアプリがあり、ショートカットのコピペですぐに翻訳を読むことができます。O'Reilly Online Learningの本はコピペ制限がないので、私は読みたい部分をコピペしながら読んでいます。
注意点
DeepLは無料版だと一度に翻訳できる文字数が2000文字までです。余裕がある人は有料プランにすると、無制限に翻訳ができ、pdfやdocなどのファイルを直接翻訳にかけることができます。
本の紹介
せっかくなので、Safari book Onlineにある未翻訳のもので、いくつかのお勧めの本をジャンルに分けて紹介します。
Software Engineering
継続的デリバリーのパイオニア的な人がソフトウェアエンジニアリングについて書いた本です。教科書的なソフトウェアエンジニアリングではなく、より良いソフトウェアを作るためのプロセスや原則、実践的なアプローチを学べます。
Software Architecture
ソフトウェアアーキテクチャにまつわる基礎的な知識をまとめた本です。ソフトウェアアーキテクチャや、アーキテクトに必要なスキルなどが学べます。こういった本は日本語の技術書には中々ないので、ぜひとも翻訳が出てほしい本です。
テスト
タイトルにはユニットテストと書いてありますが、統合テスト、e2eテストなども網羅されいます。ユニットテストについてを学ぶならこれという感じの本なのでおすすめです。
Kubernetes
プロダクション環境におけるkubernetesのベストプラクティスを学べる本です。私はこの本でkubernetesの復習をして、実案件にも役に立ちました。
終わりに
IT系は英語のほうが情報量が多く、日本語の文献だけをあたるには、限界があります。ただ、DeepLの登場により格段と英語の文献を読むハードルが下がり、英語が苦手なエンジニアにとってチャレンジできる技術分野が広がったと思います。私は技術洋書を読むようになって、世界が広がったように感じました。
みなさんもぜひ技術洋書にチャレンジしてみてください!