2024年度公開講座受講体験記(社会人・エンジニア)
- shibano

- 2025年2月26日
- 読了時間: 6分
1. 自己紹介
私は普段はソフトウェア開発におけるエンジニアリングマネージャーとして働いています。
そのためいくつかのプログラミング言語やWeb2と呼ばれるようなアプリケーションについては、それなりの知識や技能を持っており、また開発してきた年数もそれなりに重ねています。しかしながら去年講義を受ける前の段階では、BitcoinやEthereumについての概要は知っていたものの、スマートコントラクトに関することについては何も知らないという状態でした。
2. 受講動機と期待
受講に至った理由としては特定の課題の解決や、また業務でそれが必要になったというより、純粋な好奇心からでした。開発者でもありマネージャーでもあるという普段の仕事から、コーディングする以外の部分も含めた開発全体についてWeb3と呼ばれるアプリケーションがどのようなサイクルで開発、運用されるのか、どのような観点を気にして設計を行うのかという点を学びたいと考えたからです。
受講にあたってあまりに何も知らないままであるのも不安であったので、予習としてCrypto Zombiesというスマートコントラクトの有名な学習サイトをつかい、思ったものを自在に書くというところまではいかないまでも、基本的な文法や機能といったことを覚えました。
3. 講座内容と体験
講義が始まってみると、予想していたよりも座学の量が多く、また扱う内容の幅が非常に広いにも関わらず、一つ一つのトピックも浅いとは言えないレベルまで掘り下げられるため、ついていくのは大変でした。
全ての講義を終えてなお、未だに言っていることは分かるけど具体的なメカニズムがわからない内容もあります。とはいえ、どのような技術がこの領域に存在しているかや、それがどんな問題を解決しようとしているかということを知るだけでも、この領域の広がりやどのような課題が注目されているのかということの理解につながりました。
全ての講義を終えた後、受講生がどのような状態になることを目指しているのかというゴール設定と、都度都度の講義がそのゴールにどのように関連するのかというのを簡単に確認できるようになっていると、自分の今の状態を反省しながら受講できたように思います。
またソフトウェアエンジニア以外の参加者のなかには、基本的な用語でつまずいている方も多かったように思います。受講生同士で助け合う風土はあったと思うのですが、専門家にとって普段使うような用語ほど、わからない人がいるということに思い至れないため、どんなに基本的な用語であってもカジュアルに質問できるような仕掛けがあると、多くの受講者の助けになったように思います。
わからない部分もありながらも予習の甲斐もあり、また出された課題を愚直に手を動かして解くことで完璧とは言えないまでも感覚的な理解は出来たように思います。おかげで夏ぐらいには何とか初心者程度には開発できるようになり、簡単なものであれば作りたいものを作れるというレベルには到達できました。
これにより後半行われたグループワークでも、初心者ながらSolidityを書けるということでグループへの貢献ができました。
グループワークを通して実際にDAOアプリを開発することは非常に大きな経験であり、これを通して当初期待していたWeb3の開発サイクルについて考えを深めることができました。現時点での理解としては、Web3といってもソフトウェアシステムである以上、典型的なソフトウェア開発サイクルの考え方はそのまま応用できること、またそのためのエコシステムもかなり整備されていると考えています。
一方でWeb3の部分とWeb2の部分をどのように切り分けるか、システムのどの部分をユーザーに信用してもらうのかという基本設計については、そのアプリケーションの性質や求められる性能といった検討を行う必要があり、講義前半の座学部分はこの点で大きな助けになりました。
またそのアプリケーションがブロックチェーンを使う必然性についても座学で学んだことが助けにはなりましたが、この点こそがもっとも難しくグループでも何度も検討した点でした。
幸い、ランダムに集められたグループとは思えないほどチームワークがよく、遠方から参加されていた方も含まれていたため、Discordで成果を共有しつつ日曜夜にリモートで集まるという体制ではありましたが、充実した議論と開発ができ、だいぶ生成AIに頼ったとはいえ、無事デモアプリの完成にこぎつけることができました。
開発期間が二ヶ月しかなく、また作業できるのが平日夜と土日のみという制約の中でそれが達成できたというのは、そこまでの講義の内容の良さの証左でもあると思います。
4. 受講を終えて
講義プログラムを全て終えてみて、受講する前に期待していた開発サイクルや設計について知るという目的は達成できましたが、次はDAOのエコシステムをどのように設計するのかという点についてより詳しく知りたいと考えています。同じグループとのメンバーとも引き続き議論を続けており、その中で探求を深めたいと考えています。
さて受講にあたってやってよかったことも伝えたいと思います。
まず一番の基本ですがとりあえず全部の講義に出て、受講のリズムを作るというのは社会人が長期間講義を受け続ける上で重要でした。
次に、全ての課題を自力で解いたことはWeb3の気持ちを自分の頭の中に構築するうえでの助けになりました。聞いただけ、見ただけでは「作れる」というところまで到達できなかったと思います。特にプログラミング系の課題では適当に改造したり、壊したりして、理解を深めました。
予習としてやったCryptoZombiesも役に立ちましたが、これはSolidity初心者向けの教材ではあっても、プログラミング初心者向けの教材ではなく、また使われているSolidityのバージョンが古く、現在のものに適用するにはSolidity公式サイトのドキュメントを読む必要もあり、普段の仕事がソフトウェア開発の人にはおすすめですが、そうでない人は無理にやらなくてもいいかなと思います。
その他、自身の学習のためというわけではないですが、それぞれがわかる範囲で他の受講者の方への手助けを行うというのは、講義全体を成功させるために重要なことだったと思います。ソフトウェア開発を仕事にしていない方も多く参加されており、私はエディタの使い方やコンパイルエラーの読み方という点を教えましたが、一方でほかの業界の方からはその業界におけるブロックチェーンの応用可能性や、その逆に応用が難しい点をお聞きすることができました。多様な背景を持つ受講者が多く、講義外で受講者同士深い知識共有ができるところは公開講座ならではだったと思います。
この体験記が受講を考えるみなさんの参考になれば幸いです。


