アウトプットを前提としたインプットをすると質が向上するという説は本当 ~勉強会で初めてLT発表して分かったこと~

## はじめに
この記事は 日本システム技研(JSL) Advent Calendar 2024 - Qiita 24日目の記事です:santa:
先日、「みんなのPython勉強会#111」に参加し、LT（ライトニングトーク）で発表する機会をいただきました。

## みんなのPython勉強会#111
勉強会の概要です。イベントページから引用しています。
> 「みんなのPython勉強会」では、Pythonを中心としてプログラミングを仕事、研究、趣味など様々なシーンに生かす方法を一緒に学びます。プログラマ、WEBエンジニアに限らず、初心者からマスターまで様々なレベルの、いろいろな分野の人が集まるので、「みんな」の勉強会です。お気軽にご参加ください。

みんなのPython勉強会 さんは、毎月開催している勉強会です。

それにしても、111回も開催しているのはすごいですね。歴史を感じます。

今回は、5分間のLTが7本行われるLT会形式で進行しました。

https://startpython.connpass.com/event/337216/

## 自己紹介
私は他業界からIT業界に転職してきました。現在、エンジニア歴は4年目です。

主にはWebアプリ開発のエンジニアとして活動しております。

特にフロントエンドの業務に多く携わってきましたが、今年の秋からはご縁がありデータエンジニアリングの新しい仕事に携わっています。

## どうして参加したのか

会社の上司からSlackで声をかけてもらったことがきっかけです。

2ヶ月前に「勉強会でLT発表、興味ある人居る?」というお誘いを受けました。

![J35bL9y3PaknRql1734988135_1734988256.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680905/cdab5e7e-cd1b-3a49-bb92-4dffe7144fd5.png)

エイヤ! で、手を挙げました:raised_hand:

手を挙げた理由としては、新しい仕事であるデータエンジニアリングに関する知識を整理したいという思いがあったからです。 LTとして発表することでそれらの知識を整理することができるかもしれないという期待を抱きました。

また、私は外部イベントで発表する経験がなかった為、一回やってみたいという気持ちもありました。それは、過去に会社の先輩方が発表しているのを見て、憧れを抱いていたからです。

## 発表内容
「初心者データエンジニアのAWSを用いたETL開発」というテーマで発表させていただきました。

気になる方は、以下をご参照ください。

https://speakerdeck.com/maki03/chu-xin-zhe-tetaensinianoawswoyong-itaetlkai-fa

## 得られた3つの効果

振り返ると、事前準備等は大変でしたが、LT発表をしてみて良かったと感じています。

具体的には、以下3つの効果があったからです。
* アウトプットを前提としたインプットの効果
* 締切が存在するという効果
* LT会のために成果物を作るという効果

それぞれ説明していきます。

### アウトプットを前提としたインプットの効果

発表を準備する過程で、以下を主に整理しました。
* データエンジニアリングとは何か?
* ETL開発とは何か?
* `AWS Glue` と `AWS Lambda` の違い どちらを使った方がいいのか?
* `AWS Glue` のジョブタイプのそれぞれの違い ユースケースは?
* `AWS CDK` について `AWS CLI` と比べて何が良いのか?

いつもの学習では表面的な理解で終わってしまいがちな部分も、「人に説明する」という目的があることで、より深い理解を目指すことができました。

また、「たかが5分で終わる発表だからといって、薄っぺらい内容 にしたくない」という気持ちもありました。[^1]

**アウトプットを前提としたインプットをすると質が向上する説**

「学び効率が最大化するインプット大全」 からの引用です。

> なぜ、「アウトプット前提」にすると、記憶に残りやすくなるのでしょう? それは、心理的プレッシャーがかかり緊張状態に陥ると、脳内物質ノルアドレナリンが分泌されるからです。ノルアドレナリンが分泌されると、集中力が高まり、記憶力、思考力、判断力が高まります。

この定説を実際に体感することができました。

LT会で話して数日が経ちますが、"LTに向けて調べた内容"や"成果物を作って得た学び"は、今でも覚えています。

それは準備や発表の時に、適度な心理的プレッシャーがかかり緊張状態に陥り、ノルアドレナリンが分泌されていたのだと解釈しています。

特に印象に残っているのは、`AWS Glue` のジョブタイプの違いです。

通常の学習であれば「`Python shell`, `Spark`, `Ray`の3種類がある」という事実だけを覚えて満足していたかもしれません。

しかし、LTで説明するために、それぞれのユースケースや具体的なメリット・デメリットまで深く調べたことで、実務での選択基準まで理解することができました。


### 締切が存在するという効果
LT会の発表という明確な締切があったことで、集中して準備に取り組むことができました。

そもそも私は締切がないと動き出せない性格で、学生時代も夏休み宿題は最終日に焦って仕上げるようなタイプでした。

そんな私が限られた時間の中で、仕事や家事育児の合間を縫って、成果物の作成とLT発表の準備ができたのは、締切という制約があったからこそだと思っています。

### LTのために成果物を作るという効果
LTで成果物を発表すると3つの達成感が味わえます。
1. 成果物を完成させることで味わえる達成感
2. スライドを完成させることで味わえる達成感
3. 発表を終えたことで味わえる達成感

つまり、美味しいビールが3回飲めるということです:beer:

ここで注意ですが、あくまでゴールはLT発表をすることです。

「手段を目的化してはいけない」成果物を作っている最中は、この言葉を呪文のように唱えていました。

これを忘れてしまうと、「関数のスコープはこれで良いか?」 「関数の再利用性は?」 「自動テストはどうする?」 などと、LT発表には関係ない部分も手を入れ出してしまうので、注意が必要です。

成果物は以下ですので、ご興味のある方はご参照ください。

https://github.com/takumi-maki/qiita-etl-project

## 発表を終えてひとり反省会
* 発表時間を5分以内で抑えることに必死で、後半パートは焦ってしまった
* どうやって実装したかというミクロ視点の説明が多くなってしまった
* 何を学んだかという話が薄くなってしまった (本当は沢山あったのに)

## おわりに
このLT発表の経験を通じて、アウトプットを前提としたインプットをすると質が向上する説は本当だったと実感しました。

単に知識を得るだけでなく、「人に説明する」という目的があることで、より深い理解に繋がったと思います。

今後も積極的にLT会などに参加して、アウトプットの機会を能動的に狙っていきたいと思います。


## エンジニア募集
私の所属する日本システム技研では、アウトプットに積極的なエンジニアを募集しています。

興味のある方は、ぜひ求人情報をご覧ください:pray:

https://job.mynavi.jp/26/pc/search/corp201129/outline.html


## 参考文献

この記事は以下の情報を参考にして執筆しました。

* 学び効率が最大化するインプット大全

https://www.sanctuarybooks.jp/book/detail/1094

[^1]: 人によって薄っぺらい説明に聞こえたかもしれません。ですが、私が意識したのは血の通った言葉で説明するということです。具体的には、「他web記事や生成AIが作成した文章をそのまま読み上げるようなことはしたくない」と思っていました。