Skip to content

Commit cd1e500

Browse files
authored
Merge pull request #8 from h-kono-it/main
kouno_記事追加
2 parents 47b63d6 + e035678 commit cd1e500

File tree

3 files changed

+242
-0
lines changed

3 files changed

+242
-0
lines changed

src/catalog.yml

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ CHAPS:
3838
# 勉強会・コミュニティ関係いろいろ
3939
- chap-fumiyasac.re
4040
- chap-oyakata-learning.re
41+
- chap-kouno2.re
4142

4243

4344
# 5部 その他
@@ -47,6 +48,7 @@ CHAPS:
4748
- chap-LTLive.re
4849
- chap-hpmp.re
4950
- chap-oyakata-connection.re
51+
- chap-kouno1.re
5052

5153
POSTDEF:
5254
- postscript.re

src/chap-kouno1.re

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
= 幅を広げる学習のススメ
2+
3+
//flushright{
4+
こうの@hk_it7
5+
//}
6+
7+
== 深く学ぶか広く学ぶか
8+
9+
学習時のテーマ選びはどうしているでしょうか?
10+
11+
* 使っている技術の深堀り
12+
* 最新技術を試す
13+
* 作りたいものを作ってみる(そして周辺技術を拾う)
14+
15+
他にも、人それぞれのテーマ選びで興味の持ったものを学んでいくことが多いかと思います。
16+
17+
一方で能動的なテーマ選びのみを続けていると、未知の技術の開拓や知識の幅を広げる機会が少なくなってしまいます。
18+
19+
この章では、知識の幅を広げるために実践していることを理由とともに解説していきます。
20+
21+
== なぜ広く学ぶのか
22+
23+
まず、なぜ広く学ぶのかについて考えていきます。
24+
25+
エンジニアリングは専門的な知識が必要とされていますが、対象は多岐にわたります。
26+
27+
プログラマであれば、言語やネットワーク関係、インフラ関係などが大きなジャンルとしてありますね。さらに言語ではC言語、Java、JavaScriptなど無数に領域が存在します。例えば、その中の1つであるJavaを極めたからといってエンジニアとして優れているとは言い難いと思います。なぜなら、多くのエンジニアはJavaを使うことが目的ではなく、ソフトウェアを開発するための1要素に過ぎないからです。
28+
29+
また、多くのエンジニアは0から発明するのではなく、既存技術の組み合わせで開発を進めていきます。
30+
31+
開発を行っているとエラーであったり調査であったりでどうしても周辺技術の知識が必要になります。一方で未知であっても人間には過去の経験や知識から推測するという能力があります(もちろん推測だけで進めてはいけませんが)。
32+
33+
未知に遭遇したときにChatGPT等の生成AI技術の台頭により、最新の技術以外はある程度、AIに聞けば良い時代に変わりつつあります。
34+
35+
「既存技術の組み合わせ」と「AIとの協業」を前提にすれば、今後のエンジニア像として「広く浅い知識を身につけて、場面(コンテキスト)に合わせた対応(技術選定/課題解決)ができること」を求められていくと私は考えています。
36+
37+
どういうことかと言うと、「既存技術の組み合わせ」であれば、「AIとの協業」のもと、ある程度の回答が得られます。しかし、これには2つの課題があります。
38+
39+
1つ目は、ちゃんと聞き出せるかという点です。2つ目はコンテキストをAIに伝えることの限界です。
40+
41+
それぞれ見ていきましょう。
42+
43+
=== AIにうまく聞き出せるか
44+
45+
既存技術を自ら再実装してしまうことを「車輪の再発明」と呼びます。意図的に実施する場合は良いですが、業務的な開発としては無駄なコストと考えられるため、避けたほうが良いとされています。
46+
47+
なぜ、車輪の再発明をしてしまうのでしょうか?これは既存技術を知らなかったこと、あるいは聞き出せなかったことによる悲劇だと考えます。
48+
49+
既存技術を知らなかったことについては人間の限界があるため、仕方がないです。しかし聞き出せなかったという部分は改善の余地があります。
50+
51+
聞き出せなかった理由は「聞くという発想に至れなかった」や「うまく質問できなかった」が考えられます。筆者はこの2つの原因を解決するのが、広い知識であると考えています。
52+
53+
少しでも似たような話を聞いたことがあれば、それを手がかりにAIにたずねることで、過去に開発された「車輪」を導き出せます。
54+
55+
=== コンテキストをAIに伝えることの限界
56+
57+
「AIにうまく聞き出せるか」とも重複しますが、AIに聞く際にはコンテキストが重要になります。課題に対して周辺技術としてどのようなものがあるかであったり、もっと大きく見ればビジネス的な制約の有無なんかもコンテキストに当たります。
58+
59+
開発には、さまざまな制約があることが多いです。その制約を常にすべてプロンプトに設定することは現実的ではなく、AIに伝える制約事項の取捨選択が必要になります。
60+
61+
その際に、この質問であればこの情報が必要かな、というのは人間が判断する必要があります。必要な情報もAIに聞いて進めていくという手法もありますので、まずはこの方法を試してみるのは良いと思います。
62+
63+
また、多少知っているものであれば、選択肢を人間が提示して、AIにメリット・デメリットを列挙して検討材料にするという使い方もできます。
64+
65+
このようにAIと協業する上でも、広い知識があるかないかで大きな差が生まれます。
66+
67+
さて、知識の幅を広げるためにはどうしたら良いでしょうか?
68+
69+
== 知識の幅を広げるきっかけづくり
70+
71+
幅を広げるためにはきっかけづくりが重要です。きっかけづくりを能動的に行い、得た情報の選択(テーマ選び)を受動的に行えば、今まで知らなかったことに対しての学習の機会を得ることができます。
72+
73+
きっかけづくりの例には次のようなものが挙げられます。
74+
75+
* 本屋に行って話題の本、新刊を買う
76+
* 技術系雑誌を定期購読する
77+
* 技術イベント(LT会、カンファレンス)に参加する
78+
79+
少し個別に深堀りしていきます。
80+
81+
=== 本屋に行って話題の本、新刊を買う
82+
83+
ここでの本屋はネットの本屋(Amazon等)ではなく、リアルな本屋を指しています。出版不況と言われて久しく、段々とリアルな本屋が減りつつありますが、新しいジャンルを開拓するには持って来いの場所です。
84+
85+
本屋に並んでいるのに、全く聞いたことのない技術というのは幅を広げるチャンスに満ちています。なぜなら、出版されるには、ある程度の期間と需要が必要であるためです。つまり、本屋で並んでいる時点で、世間に認知され、ある程度利用が進んでいる技術であると言えます。
86+
87+
にもかかわらず、全く聞いたことがないとなると、その技術ジャンルについてアンテナが張れていない可能性があります。もちろん全てに精通する必要はないので、アンテナが張れていないから問題であるというわけではありません。しかし、詳しくない部分を知っておくことは、開発業務を行う上で重要であると考えます。
88+
89+
=== 技術系雑誌を定期購読する
90+
91+
書籍としては技術系雑誌も有効だと考えています。定期購読をすることで受動的なテーマ選びを可能にします。雑誌は毎回異なる特集が組まれ、広範な話題に触れています。紙面の関係上、手を動かして試すのにちょうどよい量になることが多いことも魅力です。
92+
93+
類似するものとして、企業等が出している合同誌タイプの技術同人誌も同じような効果があります。この本もそうですね。
94+
95+
いろんな人が書いているからこそ、広い知識や考え方を得るきっかけになります。
96+
97+
=== 技術イベント(LT会、カンファレンス)に参加する
98+
99+
特にオフラインイベントだと良いと考えています。複数トラック構成でも、そうでなくても、興味の薄いトピックの時間というのはけっこう発生します。その興味の薄いトピックこそが、知識の幅を広げるきっかけになります。
100+
101+
オンラインでの視聴では、興味の薄いトピックが並んだときに、つい他のことをやってしまいがちです。「後日アーカイブで見れば良い」も、実現しないことがけっこうあるかと思います。
102+
103+
オフラインイベントであれば、とりあえず聞いておこうという判断をする可能性が高くなり、結果として、新しいことを知ることができます。
104+
105+
== 知識を広げたあとは?
106+
107+
ここまで紹介した内容は「ある程度、受動的に知識を広げる手段」でした。広げるだけ広げても実践で役立つものになるとは限りません。
108+
109+
そのため、気になったものについては、深堀りをすることをオススメします。知識の深堀りをする方法は......他の誰かがきっと書いていてくれると思います!
110+
111+
本章を読んで、知識を広げることで、さまざまな場面でベターな選択ができるようになることを願っています。

src/chap-kouno2.re

+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
= 己の学びのために地域技術コミュニティ立ち上げた話
2+
3+
//flushright{
4+
こうの@hk_it7
5+
//}
6+
7+
== 俺は別に東京に行きたいわけではない!!
8+
9+
学びを得る機会としてさまざまな勉強会があります。プログラミング言語系だと、JJUG CCCやPycon JP、PHPカンファレンスなどです。ほかにも開発手法にフィーチャーしたイベントやクラウド技術、製品を中心としたイベントもありますね。
10+
11+
現在、その多くが東京で行われています。コロナ禍に多くの勉強会が中止、オンライン開催になりましたが、2024年になり、多数が再度オフラインでの開催に戻しています。
12+
13+
そのような経緯のもと、オンラインでの開催を経験した結果、2つのことを考えるようになりました。
14+
15+
1つは、エンジニア同士で会話できずに、感想戦が難しいという点です。もう1つは東京まで行くの少し......という点です@<fn>{kouno_private}。
16+
17+
//footnote[kouno_private][あくまで筆者個人の感想であることに留意が必要です。]
18+
19+
カンファレンスの参加目的は東京に行くことではありません。もちろん地方開催のカンファレンスの醍醐味として、観光や現地での食事であることも認めます。しかし、主目的はやはり技術的な知識であったり交流であったりだと考えています。
20+
21+
毎回場所を変えて実施しているカンファレンスとしてRubyKaigiなどがありますが、家の近くで行われる可能性はかなり低いでしょう。
22+
23+
そうなると、開催されることを待つよりも自分でコミュニティを作ってしまうのが早いですよね!
24+
25+
== 立ち上げたコミュニティはどんなものか?
26+
27+
千葉県東葛地区(松戸市、野田市、柏市、流山市、我孫子市、鎌ケ谷市あたり)を拠点とするエンジニアコミュニティです。
28+
29+
目的は情報交換や学習の相互支援、単純な人付き合い、つまりエンジニア同士の交流としています。
30+
31+
エンジニアコミュニティとしては、知見の共有を中心とした学習を主目的とすることが多いと思いますが、そのようにはしませんでした。
32+
33+
地方コミュニティという特性上、強いエンジニアが集まるという形式は想像しづらく、間口を広げたいと考えたからです。
34+
35+
また実施するコンテンツも、カンファレンスではないので、ライトニングトークやOSTが中心となります。そうすると高度な内容を学ぶことは時間制約上も難しいです。
36+
37+
== 実践しているコミュニティ運営指針の紹介
38+
39+
大きな方針として、「可能な限り主催者は場の提供に留める」ということにしています。
40+
41+
個人でなんとなく始めたものなので、主催者(=私)が「やらされている感」なく続けることを目指しています。
42+
43+
具体的には次のような方針です。
44+
45+
* 企業スポンサーはつけない
46+
* ノベルティや軽食を出さない
47+
* 運営側でテーマを絞りすぎない
48+
* 振り返り等はしない
49+
* 運営(主催者)は2人以上を維持する
50+
51+
誰かが責任を感じることが少ないように運営を進めています。
52+
53+
=== オフラインイベントにあたって会場と金銭面を公共施設利用で解決する
54+
55+
会場は公共施設を利用することで金銭面のハードルを下げています。
56+
57+
現在主に使っている柏市の施設では、20人程度入る会議室を3時間借りても800円程度です。
58+
59+
プロジェクターを追加でレンタルしても、合計で1500円払えばお釣りがきます。
60+
61+
また、ノベルティや軽食を出さないので、「おもてなし」に費用はかかりません。そして、「用意したものが余ってしまった......」みたいなことも起きません。
62+
63+
人が集まらなくて800円の出費であれば、そのまま1人で会議室をコワーキングスペースとして使って、もくもく作業しても納得できるかと思っています。
64+
65+
このようにオフラインイベントでハードルになりがちな会場と金銭面については公共施設を使って解決しています。
66+
67+
==== 会場に公共施設を使う上でのハードル
68+
69+
公共施設利用にはたいていの場合、市内在住や在勤の条件が付与されています。
70+
71+
満たさない場合、借りられないところや料金が倍になるところもあるので注意が必要です。
72+
73+
例えば柏市の施設を利用するためには次のいづれかが必要です。
74+
75+
* 個人(市内在住または在勤)で利用登録を行う
76+
* 5人以上のメンバーを集め(半数以上が市内在住または在勤)、団体利用の登録を行う
77+
78+
個人利用の場合、予約が個人名義になりますので、参加者にどこの部屋かの案内をする際に本名でのやり取りが必要です。
79+
しかし、それさえ許容できればハードルは低いです。
80+
81+
団体利用の場合は市内のメンバーを集める必要があります。
82+
83+
私の場合はTwitter(現:X)で見つけた市内のエンジニアや、所属会社で同じ市に住んでいる人がいたので協力を依頼しました。
84+
85+
コミュニティがない地域であれば、声をかけると案外希望者はいるように思えます。
86+
87+
また、近隣の技術コミュニティに参加することも良い案だと思います。CoderDojoなどは全国に拠点があり、学習やコミュニティに対して前向きな人が多いです。
88+
89+
地域コミュニティを立ち上げる際は少し調べてみると良いかもしれません。
90+
91+
== 地域コミュニティでやっていること
92+
93+
前述の通りコミュニティの主目的を交流としているため、会話を通して学習が促進されるように設計しています。
94+
95+
大まかな流れとしては自己紹介、アイスブレイク、トークセッション、締めという流れです。
96+
97+
アイスブレイクとして、特定の答えのない議題について話していくOST(オープン・スペース・テクノロジー)などを行っています。
98+
99+
最初の議題は地元のオススメスポット紹介など誰でも話せる非技術的な内容にして話しやすい空気を作るようにしています。
100+
101+
次にトークセッションです。基本的にLT会を実施しています。
102+
103+
しかし、一般的なLT会とは異なり、3枠に対して60分時間を取っています。
104+
105+
話すのは110分までとしているので1枠あたり10分くらい時間が余るわけですが、感想戦タイムにしています。イメージとしてはここでもLT内容についてOSTをしているような感じです。
106+
107+
LTを聞いてもっと知りたいことや自分の考えていることを自由に発言して、発表者と参加者の相互で学びを深められればと考えています@<fn>{kouno_lt}。
108+
109+
//footnote[kouno_lt][初回に何も考えず時間を切って、後付けの理由だけど今のところ主旨にあっているなんて言えない。]
110+
111+
また、地域コミュニティは日常の交流があってこそだと思っているので、Discordサーバーを作成し、そこでも互いの作業進捗や地域グルメ等について話し合っています。
112+
113+
大きなカンファレンスとの住み分けを意識して、交流という大きな目的のもとでコミュニティ内でうまく学習のサイクルを作れるようにコミュニティ設計をしています。
114+
115+
== コミュニティの今後
116+
117+
私利私欲で作ったコミュニティですが、あくまで「地域のエンジニアコミュニティ」であり「私のコミュニティ」にすべきではないと考えています。
118+
119+
そのため、私がいなくても勝手にコミュニティがまわり、少しずつスケールしていければ良いなと考えています。
120+
121+
コミュニティの理想は井戸端会議です。なんとなく集まってなんとなく情報が交換される、そこに強いオーナーシップはなく、ゆるい所属意識となくならないといいなって気持ちで駆動していく。そんなコミュニティになっていけばと思っています。
122+
123+
最後になりますが、2つ伝えたいことがあります。
124+
125+
1つはコミュニティ作るのはそんなに難しいことではないということです。これはここまで書いている内容を見ればなんとなく伝わるかなと思います。
126+
127+
そしてもう1つは、近所にコミュニティがあれば、ぜひ参加してほしいということです。自分と異なる考えを持っている人との交流は知識の幅や視野を広げる一助となります。
128+
129+
というわけで、これを読んでいて千葉県の東葛地区近辺にお住まいの人は、東葛.devで検索して参加してください!!(笑)

0 commit comments

Comments
 (0)