序文
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
プログラマ、コーダー、開発者——ソフトウェアを作成する人を指す呼称は数多いが、ソフトウェアエンジニアであるとはどういうことか? ソフトウェア教育のあり方とは裏腹に、ソフトウェアエンジニアの本質は単に文法的に正しいプログラムをプロデューサすること以上に深い。
ブートキャンプや大学は通常、コードを書くという機械的な側面に焦点を当て、プログラミングに精通した人材を作成する。今日の成功するソフトウェアエンジニアに必要な知識体系は、プログラミング言語を学ぶことを超えている。ソフトウェア製品の全ライフサイクルに精通していなければならない。プログラミング言語の構文や文法だけでなく、テスト、アーキテクチャ、モデルなど、より包括的な理解が求められる。レガシーコードを効果的に扱う方法や、本番環境にコードを確実に繰り返しデプロイする方法を知らなければならない。卓越し、昇進し、最も興味深いプロジェクトに携わるためには、単にコードを書くことを超え、開発プロセス全体にエンジニアリングの原則を適用しなければならない。人工知能(AI)やエージェントコーディングツールの時代であっても、AIツールを適切に扱うためには基礎を固く理解している必要がある。
ソフトウェアエンジニアになるパスは多様だ。コンピュータサイエンスの短期大学・学部課程から、集中ブートキャンプ、独学まで様々である(図P-1)。キャリア初期は、広大な世界に足を踏み入れたばかりのように感じられる。圧倒されることもあるだろう。我々も経験済みだ!どんな経歴であれ、新米の実務家ならすぐに気づくだろう。標準的なカリキュラムでは教えられなかった重要なトピックが山ほどあり、不足しているスキルがあるため、上級職への昇進が阻まれるのだ。
図P-1. キャリア初期のソフトウェアエンジニアが教わる内容と、キャリアで成功し成長する順序のために必要なものとの間には隔たりがある
ブートキャンプやコンピュータサイエンスの学位で学ぶことと、成功するソフトウェアエンジニアになるために必要な知識との間には隔たりがある。1(Thoughtworksのような技術系企業は採用基準が厳しいが、それでも新入社員をブートキャンプに通す。こうした企業は決して珍しい存在ではない。)本書は、キャリアパスを描くために必要なコンテキストと基礎を提供し、個人とプロフェッショナルとしての成長機会を見極める手助けをすることで、このギャップを埋めることを目指している。新米ソフトウェアエンジニアのためのオンボーディングガイドと考えてほしい。
本書は、その旅路におけるガイドとなることを目指している。あなたが知らないことを、知らないままにしておかないための手引きだ。
本書の対象読者
本書は特に新米ソフトウェアエンジニア向けに設計されている。「単にコードを書く」ことを超えた、真のソフトウェアエンジニアになるために必要な要素や、キャリアを前進させるための要素という大きな枠組みを示すことが目的だ。
しかし本書で扱う基礎知識は初心者だけのものではない。経験豊富なエンジニアも、特に上級職への昇進を目指す場合、これらの必須スキルを習得することで利点を受けられる。強固なスキルセットを構築することが、より多くの責任と昇進の機会を開く鍵となるのだ。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access