Rustエンジニアになるにはどれくらいかかりますか?
Rustが最初の言語なら、1日1時間ほどのペースでジュニア職の面接に臨めるところまで9〜15か月が現実的な目安で、増える時間の大半は所有権に慣れるために使われます。C++など型のある言語をすでに知っている開発者なら、数か月で済むことも少なくありません。このロードマップでは、Rustコースのレッスンは6〜8週間分ですが、所有権が自然に感じられるまでには、たいていそれより長くかかります。コマンドライン、Git、SQLを合わせて約1か月、データ構造とソートのステップでさらに2〜3か月です。
Rustはソフトウェアエンジニアの最初の言語として適していますか?
辛抱強く取り組めて、システム系の仕事を目指しているなら、適していると言えます。Rustでは最初の週からメモリ、型、エラーについて考えることになり、それは価値がある一方で時間もかかります。多くの人にとっては、まずPythonかGo言語、その次にRustという順番のほうが合っていて、このロードマップはその両方でも用意されています。Rustの仕事が望みなら、ここから始めるのは妥当です。Rustのコンパイラエラーは、驚くほど優れた教師だからです。
RustエンジニアはRust以外に何を知っておく必要がありますか?
このロードマップで扱うコマンドライン、Git、SQL、そしてCargoとクレートのエコシステム、ネットワークサービスのためのTokioによる非同期Rust、さらに目指す分野です:バックエンドならAxumのようなWebフレームワーク、組み込みハードウェア、あるいはブラウザでのWebAssembly。C言語が読めることも役立ちます。Rustの仕事の多くは、既存のC言語やC++のコードと隣り合っているからです。
Rustの前にC++を学ぶべきですか?
いいえ。ただし、役には立ちます。Rustは直接学べるように設計されていて、C++では規律に任されているメモリのルールを、Rustではコンパイラが教えてくれます。C++を知っているなら、所有権は、すでに守ろうとしているルールが必須になったものに感じられるでしょう。知らないなら、Rustから始めて、仕事で求められたときにC++を身につければ十分です。このロードマップはC++でも用意されています。
このロードマップで、Rustで教えていないコースはどれですか?
1つです。クリーンコードは今のところPythonでしか教えていないため、ステップ7の中ではなく、ステップのあとに載せています。その原則はRustにもそのまま当てはまり、機械的な部分はRustのツールが引き受けてくれます:レイアウトはrustfmt、よくあるミスやRustらしくないコードはclippy。オブジェクト指向のプロジェクトとコーディング問題を含め、すべてのステップがRustです。
このRustロードマップは無料ですか?
はい。このロードマップのコースはすべて無料です:レッスン、ブラウザで使えるRustエディタとLinuxターミナル、テストで採点されるチャレンジ、Bugsyのヒント、そして修了証まで。Proは1日のエネルギー上限をなくし、AIの利用を無制限にしますが、このロードマップに、Proがなければ進めないものはありません。