Step1: バックエンド1
このStepでは、バックエンド言語(Python または Go)の前半を学び、あわせて本コース全体で作る自作アプリケーションのテーマを決めます。テーマは次のStep以降の要件定義・設計・実装のすべての判断軸になるため、丁寧に決めることが目標です。
1. 講座の履修
以下のいずれかのバックエンド言語を選び、対応する講座を実施してください。すでに同等の知識がある場合は、講座の履修はスキップしても構いません。
1.1 言語選択の基準
以下の観点で選ぶことをおすすめします。
| 観点 | Python | Go |
|---|---|---|
| 学習コスト | 動的型付け言語で文法がわかりやすく、初学者でも習得しやすい | Python より型・記法が厳密でやや学習コストは高いが、言語仕様自体はシンプル |
| AWS のサーバレス・自動化 | Lambda・boto3 などで幅広く採用され、この用途では圧倒的に多い | 採用されることもあるが、Python が圧倒的に多い |
| Web バックエンド開発 | Django・FastAPI で本格的なバックエンドを組めるが、他言語と比べると採用は控えめ | パフォーマンス重視のバックエンドやマイクロサービスで採用が多い |
| こんな方におすすめ | クラウドエンジニアの素養としてプログラミングを学びたい人 | 本格的なバックエンドエンジニアを目指したい人 |
| 💡 ポイント |
|---|
| 言語の選定に迷ったら、遠慮なく講師にご相談ください。また、書籍などで独学して進めていただける場合は、上記2つ以外の言語(Ruby・PHP など)を選ぶことも可能です。 |
1.2 Python を選ぶ場合
Python講座 の以下の章を実施してください。
1.3 Go を選ぶ場合
Go講座 の以下の章を実施してください。
2. 課題の実施
2.1 目的・背景
本コースは自作アプリケーションを DevOps の一連の仕組みに載せる、という長丁場の取り組みです。半年間で判断に迷うことが繰り返し発生するので、その拠り所となる「何を、なぜ作るのか」を最初のStepで固めます。1つに決めきる必要はなく、メンタリングで講師と壁打ちして最終決定できるように、複数の案を出しておくことが目標です。
2.2 実施要件
作りたいアプリケーションのテーマをいくつか(2〜3個)選定してみてください。各テーマ案について、以下の観点を整理してください。
- テーマ: どんなアプリケーションを作るか
- ターゲットユーザ: 誰が使うか
- 解決したい課題: どんな課題を解決するか
- 作りたい機能のドラフト案: どんな機能を作りたいかをざっくり書き出す(講師と相談する前提のドラフト案でよい)
あわせて、採用予定のバックエンド言語(Python または Go)を決めてください。
サンプル: sns-camp をテーマとして選んだ場合のテーマ選定サンプル
2.3 テーマ選定のポイント
以下の観点で考えると案が出やすくなります。
- 今、自分が仕事や実生活で困っていることをシステムで解決できないか
- Web アプリケーションとして実現できるものが望ましい
- 現実的な落としどころはメンタリングで講師と相談できるので、まずは発想を広げて自由に考えて構わない
テーマ選定は非常に悩むポイントです。迷った場合は遠慮なく講師にご相談ください。決めきれない場合の例として、以下のようなテーマは機能スコープを絞りやすく、本コースでも扱いやすいです。
- 簡単な SNS アプリケーション(例: ラーメンに特化した SNS)
- 架空のお店の予約システム(例: 近所の喫茶店の予約システムを勝手に作ってみる)
- 自分専用の業務効率化ツール(例: 個人用タスク管理)
2.4 課題提出
下記内容を提出フォームより提出してください(提出はプレミアムプランでご利用いただけます)。
| 項目 | 内容 |
|---|---|
| テーマ案 | 選定したテーマ案(2〜3個)を、それぞれ簡潔に記載する |
| テーマ案の背景 | 各テーマ案について、想定するターゲットユーザ・解決したい課題 |
| 作りたい機能のドラフト案 | 各テーマ案について、どんな機能を作りたいかをざっくり書き出す(講師と相談する前提のドラフト案でよい) |
| 採用予定の言語 | 採用する予定のバックエンド言語(Python または Go) |