【ポエム】ペアプロについて


# 概要
・プログラム初心者のおじさんが個人開発で瞬間的にペアプロっぽい状況に遭遇した。
・ちょうどタイムリーに以下のような記事があったのでポエム。

https://qiita.com/N700A/items/4470513322ab764d4a22

# 結論
::: note
- デザインと機能を明確にわける
- デザインはペアプロ当事者以外の第三者が一人できめる
- ペアプロするなら、プログラマは「機能」だけに集中する
:::

# デザインとは？
- **結果の出力に本質的に影響しないことのすべて**、と定義してみます。
- 出力の成型とか、変数名をどうするかとか、プルリクのタイミングとか。
- つまるところ趣味になるので答えがない。

# 機能とは
- 出力に影響するコアとなる部分。ロジックといってよい？
- どんなプログラムでも数パターンに集約できることがおおい（たぶん）。

# 記事の要約
・こんなかんじでしょうか。ずれていたらすみません。

| **デメリット**              | **詳細**                                                                                                                                          | **たとえ**                                                                                 | **疲れの要因**                              |
|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|-------------------------------------------|
| **1. 他人に気を遣い人疲れする** | 長時間の共同作業で「合わない」と感じる部分が蓄積し、感情的な疲労が増える。相手の顔色を伺いながらの作業が続く。                                          | あまり親しくない同僚と8時間のドライブをするようなもの。会話が途切れると気まずく、ずっと気を遣う状況。                         | 時間・行動の制限                   |
| **2. 相互監視のストレス**        | 常に画面を共有し発言を求められるため、自分のペースで休憩やリフレッシュができない。昼休憩やトイレの時間すら相手に合わせる必要がある。                        | 同僚が常に横に座っている中で作業し、少し休みたい時にも「今休んでもいいですか」と許可を取らないといけない状況。                           | 時間・行動の制限   
| **3. 好みの違いによる衝突と妥協** | コードのスタイルやリファクタリングのタイミングなど、価値観の違いで衝突が発生。最終的にどちらかが妥協するが、不満が残ることが多い。                          | ピザを注文する際、「トッピングはこれがいい」「いや、こっちがいい」と意見が割れ、結局どちらかが折れても完全に満足しない状況。               | デザインへの趣味・好みのエンドレス議論                 |
| **4. 自由な思考が妨げられる**     | 会話しながらの作業では自分のペースでじっくり考える時間が取れない。30秒ごとに発言しなければならないというプレッシャーが集中を妨げる。                       | 図書館でじっくり本を読もうとしているのに、毎分1回友人から話しかけられ、集中が途切れる状況。                                      | 進歩がないことにより人間本来がもつ欲求に反する |
| **5. 自己学習や試行錯誤が制限される** | 頻繁なフィードバックが得られる一方で、自分で試行錯誤する時間が減り、深い理解が得られにくい。失敗を通じた学びの機会が減少する。                           | 答えだけ教えられて問題集を解くような勉強。過程を考える時間がなく、応用力が身につかない。                                           | 進歩がないことにより人間本来がもつ欲求に反する
|
# 疲れの要因

1. 時間・行動の制限
2. デザインへの趣味・好みのエンドレス議論
3. 進歩がないことにより人間本来がもつ欲求に反する

# 3.がいちばん耐えられない人
- エンジニアやプログラマーに向いているんじゃないでしょうか？
- 進歩に興味がなければ技術以外のことに興味がわいていると思います。

# まとめ
- 機能（ロジック）の議論がペアプロの本質のようなきがする。
- **ペアプロは機能だけを議論する。一日30分以下。**
- デザインまで議論しようとするから「音楽性のちがい」みたいな衝突がおきる。
- **デザインはペアプロ当事者以外の第三者がきめる。**
- リーダーポジションの人などがさくっと決めてくれれば、ペアプロメンバーはその音楽性にあわせればいいだけ。

# メリット
::: note
- デザインを考えなくてすむので時間効率が向上する。
- メンバーは機能の議論に集中できてペアプロ自体が楽しくなる。（たぶん）
:::

# つまり
- 中途半端に「デザインは各自で決めてよい」余白があるから、疲れの原因になるのではないでしょうか。
- 「おれのデザインについてこい」みたいな人が責任をとってくれるようなチームなら、結果的にうまくまわるような。
- そしてデザイン決定者が確定したなら、まわりは意見をしないというのも組織がうまくまわるコツだと思います。
- 必要でしたら週一30分でブレストしましょう。

# ポエム
- AIの登場でコードレビューの価値が変わってきています。
- プログラムを自分で改修できる人がPMなりリーダーポジションであることが必須になってくる気がします。
- デザイン決定者が不在で「余白で遊べてしまう」状況はイエローカードだと思います。
- 年長者が雰囲気でレビュー、みたいなシーンもまだまだあるかと思いますが、[居酒屋での飲酒](https://qiita.com/minoden_works/items/5a758107233d92bb30ab)とおなじですので業務の私物化になります。
- プログラム改修できない人のレビューは究極「それってあなたの感想ですよね？」になってしまうので・・・
- 感想いってれば仕事っぽい雰囲気を出せてたのが、AIがでてきちゃったので・・・
- 昭和のヒエラルキー構造による「役職をベースとしたレビュー」という概念が消えつつあり、「じっさいなにが作れるの」みたいな世界になってきているのがここ1年の流れに思います。
- 年長者も過去に自分の得意としていたレガシー言語があるはずなので、そこの需要に対する強みはまだまだあると思います。
- そんな感じで「個」の力が再発見されていくのもAI時代のメリットかもしれませんね。