プログラミングの世界へようこそ
ストーリー
プロジェクトルームに入ると、先輩エンジニアの田中さんが画面に向かってコードを書いていた。
「おっ、来たな。今月からいよいよプログラミングを本格的に始めるぞ」
「はい!ターミナルやGit、SQLは使えるようになりました。でもプログラミング言語は...」
田中さんは画面を指差した。
「ちょうどいい。今、プロジェクトに新機能追加の依頼が来たんだ。 既存のコードを理解して、新機能を実装して、俺のコードレビューを通過させてみろ」
「コードレビュー...ですか?」
「そうだ。書いて終わりじゃない。他人が読んで理解でき、テストが通り、 レビューを通過するコードを書く。それがプロのエンジニアだ」
なぜ今プログラミング言語を学ぶのか
L0〜L1月2で身につけたこと
| 月 | 学んだスキル | できるようになったこと |
|---|---|---|
| L0 | ターミナル基礎、Git基礎、HTML/CSS | 開発の土台を理解した |
| L1月1 | シェルスクリプト、Git高度操作、Sass | 開発環境を自分で構築できる |
| L1月2 | SQL応用、ネットワーク基礎 | データとインフラを扱える |
L1月3で目指すレベル
プログラミング言語を習得し、実際にソフトウェアを作る力を身につけます。
L0〜L1月2: 道具の使い方を覚えた
↓
L1月3: 道具を使って「モノを作る」
TypeScript + Python の組み合わせ
なぜ2つの言語を学ぶのか
| 言語 | 役割 | 理由 |
|---|---|---|
| TypeScript | メイン開発言語 | 型安全性、フロント/バック両対応、業界標準 |
| Python | サブ開発言語 | データ処理、スクリプト、既存コード読解 |
TypeScriptをメインにする理由
- 型安全性: コンパイル時にバグを発見できる
- 汎用性: フロントエンド、バックエンド、CLIツール、何でも作れる
- 求人数: Web開発の求人で最も需要が高い
- エコシステム: npm に100万以上のパッケージ
Pythonをサブにする理由
- 読みやすさ: 既存コードを理解するのに最適
- データ処理: CSV・JSON・APIデータの加工に強い
- 業務ツール: 社内ツールやスクリプトでよく使われる
- AI/ML: 将来的にAI関連の仕事で必須
このミッションの全体像
6つのステップ(合計20時間)
| Step | テーマ | 時間 | 主なスキル |
|---|---|---|---|
| 1 | 言語の基礎を固めよう | 3h | TypeScript基本文法、型システム |
| 2 | 標準ライブラリをマスターしよう | 4h | 文字列・配列操作、非同期処理 |
| 3 | クリーンなコードを書こう | 2h | 命名規則、SOLID、ESLint |
| 4 | レガシーコードを解読しよう | 4h | Python基礎、コード読解、デバッグ |
| 5 | 機能追加を実装しよう | 5h | TDD、REST API、クラス設計 |
| 6 | コードレビューを乗り越えよう | 2h | 総合演習、卒業クイズ |
学習のコツ
プログラミング学習で意識すること
- 写経から始める: まずはサンプルコードを正確に打ち込む
- 動かして確認: 1行書いたら実行して結果を見る
- エラーは友達: エラーメッセージは改善のヒント
- 小さく作る: 巨大なプログラムではなく、小さな機能から始める
先輩からのアドバイス
「プログラミングは"知識"じゃなくて"技能"だ。本を読むだけじゃ泳げないのと同じで、 コードを書かないとプログラマにはなれない。手を動かすことが一番の近道だよ」 -- 田中先輩
まとめ
| ポイント | 内容 |
|---|---|
| メイン言語 | TypeScript(型安全、Web開発の標準) |
| サブ言語 | Python(読みやすい、データ処理に強い) |
| 目標 | 業務でコードを 書き、レビューを受けて修正できる |
| 期間 | 20時間(6ステップ) |
チェックリスト
- TypeScriptとPythonを学ぶ理由を理解した
- 6つのステップの全体像を把握した
- プログラミング学習のコツを理解した
次のステップへ
準備はできましたか?
次のセクションでは、TypeScriptを始めるための環境構築と最初のプログラムを書きます。 型のある世界の快適さを体験しましょう。
コードで世界を動かす第一歩を踏み出しましょう。
推定読了時間: 15分