見出し画像

知ってる?プログラミングって楽しいんだぜ

当然ですね。はい。

2021年9月末日、コードを書かない僕からの「エクストリームプログラミング(以降XP)を学びたいんですが教えて下さい!!」と意味不明の要求に対して、さとりゅー師匠が真摯に対応してくれて、続いているメンタリングセッションなんですが、一旦やってきたことを棚卸しして整理してみようかと思ったので書いてみます。皆さんにとっても何かの気付きになれば幸いです。

MVPリリースまで(2021年10~11月)

 まず、アジャイルコーチとして現場のメンバと対話するためには開発を知らないと話にならない。そして、対話を重視している開発技法といえばXPだ!という簡単な考えから、さとりゅー師匠に凸りました。

 この時点で、何もアイディアがなかったのですが、師匠からの「紺野さんが使いたいアプリってどんなものが思い浮かびますか?」との問いかけからWordCloudで発送を促してくれるアプリが欲しい!となって、そこからMVPを作るためにすべきことや要件を整理していきました。後で聞くと、ここで僕に欲しいアプリを聞いたのは、目的意識を持ってもらってモチベーションを持ってもらうため、とのことで、にくい演出でした!

紆余曲折会ってMVPリリース。
この辺の話は、別のNoteにも書いています。

MVPからの拡張(2021年11月〜2022年1月)

 一旦動くものができたので部分的に、拡張していこうぜ、という話になって(当初の目的を忘れてプログラミングにのめり込んでました)、DBはマストですねとか、DBつかうならORMも使ってみたいです、とかUI側もかっこよくしたいです。とかいろいろと新しい技術に挑戦していきました。

このあたりから、新しい技術を獲得するための方法を学んでいくことになります。最初はタスクを羅列して記録したこともありました、がこれはだめでした。。。

 次に試したのは、ScrapBox。ここに僕がやったことを記録しながら、師匠にコメントを貰うスタイルにしたら、いい感じに知見を積み上げることができるようになってきました。今は、ScrapBoxの更新をSlackに連動させて、更新概要をSlackで共有、セッションで気になる詳細を詰める、みたいな感じで進めています。

このあたりの時期から、自分にもソフトウェアエンジニアリングの基礎知識が身についてきて、師匠の所作を観察できる余裕が出てきました。同時に、凄さもわかってきて、底が見えない技の深淵と技術の広大な領域のなかを切り開いていく師匠の凄さも感じられるようになってきました。
そのへんの記録は別のNoteに

基礎体力向上(2022年1月〜今)

 そして、今なんですが、諸事情により開発は一旦ストップ。アーキテクチャの知識を学びなおしたい、使えるようになりたい、とのことで、事情を説明したら、師匠から「AWS面白そうですね」と予想外の快諾(もはや何でも受け入れてくれるんじゃないか、この人は)。そして、伊藤師匠が半年でSolutionArchitectProfessionalを取ったというやり方に倣って手を動かしながら学び中。いい感じに結果もついてきています!

同じワークショップをやってみても、開発経験の違いから解釈の深さ、理解の深さ、設計思想を選択した背景等々、補足してくれるので、めちゃんこ理解が進みます。加えて、自分がうまくできなかったことを説明すると、想定の3倍位の情報量で返してくれるので、最高に勉強になっています。おそらくは資格の勉強以上に現場で使える知識がついているはず。

いままでのセッションから得たもの

 メンタリングセッションにおいて一番ありがたいと感じているのは、一線で活躍するエンジニアを観察させてもらう機会をもらっていることです。本当にこれに尽きます。観察を通じて、自分に不足していたもの、勘違いしていたこと、未知の技術に出会ったときの対応方法を学ぶことができています。メンタリングセッションの開始時点と比較すると、一人で学びを進められる範囲がものすごく増えている!!これは自分でもびっくり

  • 新しい技術を獲得したいときには、素直にチュートリアルをやってみる
    (expresss, sequalize, heroku, postgersql, fargate, aws-modarn-app, 等々、迷ったらチュートリアルをやる癖が付きました)

  • うまくいっても、行かなくても、作業の記録は取る(一歩一歩積上げる)
    (現在は、ポモドールに沿って25分のワークの後5分のふりかえりの周期でScrapBoxに記録していく形に落ち着きました。下記のイメージ)

  • 回り道、寄り道を歓迎する
    (当初はXPから入って、WEBシステム開発、いろんな技術の習得を行いながら、今はインフラを学ぶためにAWS、どんどん広がっていますが、XPの本質である「楽しむ!」は外していないです。楽しむために寄り道を歓迎する!!)

さいごに補足

 つらつらと書いてきて、締めるわけでもなく補足させて下さい。前回のセッションでも師匠と話していたんですが、ビジュアライズが本当に楽しいし学びにつながっているなぁと感じています。きれいな図じゃなくてもいいので、何かモデルのようなものを一緒に触りながら、学習を進めていくのは、双方に取って思わぬ気づきがある、ということがわかった感じです。

シーケンスとコードの対比(初学者は変換不可が高くてコードをイメージできない)
htmlとcssの対比(Pugとか入られると認知不可が高すぎて頭が爆発する)
リファクタリング結果のビジュアライズ(意図と一緒に明確化することで理解が深まる)
RESTとかマイクロサービスとか混同しそうな各概念と関係性の整理


この記事が気に入ったらサポートをしてみませんか?