初級→中級者向けのプログラミング教室を運営してみて

# はじめに
[UdonTech Advent Calendar 2023](https://qiita.com/advent-calendar/2023/udontech) の1日目です。

[Setouchi-i-Base](https://setouchiibase.jp/) というオープンイノベーション拠点にて、プログラミング初級者の方が中級者になるための講座を運営してみたので、その所感をメモしておこうと思います。

# 「エンジニアリング入門」
Setouchi-i-Baseにて2週間に1度開催している初級技術者のためのオンライン講座です。

【形式】座学（オンライン）
【料金】無料
【範囲】システム開発に関する技術やマネジメント（プログラミング以外も扱う）
【期間】2023年5月〜2024年3月（全24回）

基本的には名著と呼ばれる技術書を教科書として、解説や演習を行います。
オンラインですので全国どこからでも参加できます。

# 開催しようと思った理由
書籍やスクールなどでプログラミングを学ぶと「なんとなく動くコード」を「独りで」書けるようになります。

しかし、仕事で必要なのは「変化する要求に沿って改修し続けられる保守性の高いコード」であり、「チーム全体の生産性を高める開発手法」です。

前者と後者の間には大きな溝がありますが、その溝を埋めるための教育コンテンツはあまりありません。

エンジニアリング入門ではこの溝を埋めるために必要な知識やスキルの習得を目指します。

# これまでに扱ったテーマと振り返り

### 良いコード/悪いコード①〜③
https://setouchiibase.jp/pub/event/detail/9xcs1euqfwkiy03zvo
https://setouchiibase.jp/pub/event/detail/pjkglnx3dh7y916o8u
https://setouchiibase.jp/pub/event/detail/yvmb9w1lduscpj6hef
3回にわたり良いコード/悪いコードの書き方を解説しました。
教科書はもちろん「リーダブルコード」です。
名著中の名著でありますが、意外と読んだことない方も多いのでは！？よいうことで初回のテーマに選んでみました。
簡単な表面上の改良から少し難しい内部的な改良まで取り扱いました。
①②は座学、③は演習を中心に扱いました。

### アジャイルとスクラム
https://setouchiibase.jp/pub/event/detail/royingpbucxe573kmj
https://setouchiibase.jp/pub/event/detail/0yx53gu9qmnf2p87kr
「アジャイルサムライ」と「スクラムガイド」を使って、アジャイルとスクラムの基本を解説しました。
アジャイル編では、「アジャイル」と「スクラム」って何が違うの？や「ウォーターフォール vs アジャイル」の二元論で語られることがあることが多いけど、開発アプローチにはその他に漸進型や反復型がある等の話を皮切りに、インセプションデッキやストーリーポイント、ベロシティ等の概念を解説しました。
スクラム編では、3つの役割、5つのイベント、3つの成果物を解説しました。スクラムを学ぶ際の障壁となるスクラム用語と概念整理を行うことで、受講者の方の今後の情報インプットに大きく寄与できたのではないかと思います。

### デザイン入門
https://setouchiibase.jp/pub/event/detail/oqn8hysz7641d0pwar
「ノンデザイナーズ・デザインブック」を教科書に「近接」「整列」「反復」「対比」について、今どきのWebの画面デザインをサンプルにしながら学びました。

### バージョン管理とGit
https://setouchiibase.jp/pub/event/detail/m25h6st0qyrpdzbvjn
今どきどの現場でもかならず使うのに、意外と独学しにくいGit。
そう、実はGit使えなくて困っているレガシー環境のエンジニアの方は意外と多いのです。
エンジニアリング入門では初心者の方もターゲットにしていますが、レガシーな開発環境からモダンな開発環境にシフトしたい方もターゲットにしております。
本編では大量の図解を用い、独習しにくいGitの概念について総ざらいしました。

### 良い設計/悪い設計
https://setouchiibase.jp/pub/event/detail/eqa04mwsrjilk9gy7b
https://setouchiibase.jp/pub/event/detail/2kvm1s5zhaefq7ryi4
昨年話題になった「良いコード/悪いコードで学ぶ設計入門」を教科書に、リーダブルコードより少し高次元のコードの設計について学びました。

### CI/CDとテストコード
https://setouchiibase.jp/pub/event/detail/8noyb0jwgz7sakq569
https://setouchiibase.jp/pub/event/detail/u864wjz50xbs3mrnhq
アジャイルにおけるCI/CDやTDDの重要性と簡単なサンプル、そしてそれらを支える各種ツールの紹介を行いました。

### データベースとSQL
https://setouchiibase.jp/pub/event/detail/s0xoht3auq6f5d4g71
https://setouchiibase.jp/pub/event/detail/21e9cfdag6w4khnox3
https://setouchiibase.jp/pub/event/detail/avtkymj9u85b3ezfnl
Web系の方が結構苦手としているが、業務系では超必須の知識「データベースとSQL」について3回に渡って解説しました。
データベールの基礎知識とSQLの基礎知識、そして一歩上に進むためのTipsやアンチパターンの紹介。
それぞれの特性に一長一短があり「これをやれば万事OK」ということがあまりないRDBの世界。
それぞれの特性を知り、根拠を持って「なぜこの方法を採用するのか」を使いこなしていただければと思います。

### プロジェクトマネジメント
https://setouchiibase.jp/pub/event/detail/8p06reh3s59jazofqk
（第6版）PMBOKを教科書に10個の知識エリアと5つのプロセス群について解説しました。また終盤では第7版の変更点にも触れ、プロジェクトマネジメントの潮流についても解説しました。

### プロダクトマネジメンㇳ
https://setouchiibase.jp/pub/event/detail/1eimdorvn29l8p0zb5
地方ではほとんど馴染みのないプロダクトマネジメントについて「プロダクトマネジメントのすべて」を教科書にして解説しました。PdMの仕事内容やどういったことに責任を持たなくてはいけないのか、また製品フェーズやドメインによる期にすることの違いについて触れました。

### AWS
ちょうど現在開催中のコンテンツになります。
クラウドコンピューティングの波は都市部ではよく普及しましたが、地方ではこれからといったタイミングです。
クラウドが指示されている原因と、その主要サービスであるAWSについて学びます。
https://setouchiibase.jp/pub/event/detail/4xj0mhp6doatbnsgk5

※第18回〜24回は終わり次第追記していきますね。