高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

プログラマはどうやってスキルアップしていけばいいのか(.NETラボ勉強会に参加しました) #dotnetlab

今日11月30日は、ちょっと久しぶりに.NETラボ勉強会に参加してきました。

f:id:TakamiChie:20191130132706j:plain

とてもひさしぶりだったので、LT発表もしてきました。

資料は以下です。動画についてはしばらくお待ちください。

speakerdeck.com

で、今回ブログに書いたのは参加レポートというより、聞いていて思ったことがあったので。

今のプログラマに必要とされていること

今回スピーチではASP.NETBOT Framework、Power Automateなど、Microsoftの最近のテクノロジーに関するスピーチが豊富にあったのですが、最近のMicrosoft関連技術って、どれもプログラミングだけでなく、データの正規化やMVCの使い分けなど、結構高いスキルが必要になるなあ という感じ。

たしかにコーディングが少なくなったり、制作が楽になったのはあるのですが、そのぶんプログラミング以外のスキルをかなり要求されているような。

もちろん他の環境を使っても複数言語に対する知識や複数モジュールの知識が必要になることは多いし、なにを今更な感じはありますが、なんというか、「プログラミング(というより、プログラマがやること)ってほんと複雑になったなあ」という感じがします。

制限された環境でどう動くか

とくにPower Automateなどは、わたしも最近ちょくちょく使っているのであらためて感じますが、本当に難しい。

プログラミングをするだけならそれほどでもないんですが、Sharepointリストを使ったフローを書いたりすると本当に難しく、プログラミングスキルだけでは太刀打ちができないなあ という感じがします。

プログラミングは確かに、最近需要も増えて、講習会や教室も増えてきたという感じがありますが、じゃあこういったデータの正規化や、Power Automateみたいな制限された環境での立ち回りはどうやって勉強するのだろう?と、話を聞いていて思いました。

Power Automateは、他と違ってコーディングができないので、他の言語ならコーディングやSQLのパワーで押し切れるところが押し切れない。その環境でもやりたいことが実現できるプログラミング力というのは、なかなか高度だと思います。

そういう感覚を、どうやって教えるか

そして、わたしも一応SBCamp.などで講座をやる身として、こういう感覚をどうやって教えるのか というのが課題だなと思いました。

プログラミングそのものを教えることはまあなんとかできるし、コーディングについての心構えを教えることも、一応できる。

ただ、どうやってプログラミングに最適なデータ配置を行うか、どうやってモジュールをきれいに分割するか などといったものは、どうやって教えればいいのだろう?

わたし自身がそんなにうまくない というところもありますが、サンプルが用意しづらい というところもあり、どうすればいいのかが今後の課題だと思いました。

ITの格差と、プログラマの格差

そして話を聞いていて思ったのは、ITリテラシーの有無による格差(いわゆるデジタルデバイド)もあるものの、プログラマの技術力格差もあるような気がします。

こういう場でスピーチができたり、最新技術を追っていけるようなハイスキルのプログラマは、もちろんいます。

ただし逆に、こういった技術をうまく飲み込めず、プログラマとしてのスタートラインにすら立てないプログラマも、たくさんいる。

そういう人同士の格差も一つの課題なのではないだろうか と思いました。

発表することが一番の勉強!とはいうけれど・・・

こういう勉強会ではよく「発表することが一番の勉強」とはいいます。

自分の考えを整理できるし、曖昧だった知識をはっきりとしたものにできるし、わたしもそのとおりだとは思うのですが、発表できるところまで知識を身につけるのも、そうかんたんな話じゃない。

「じゃあわからないことを言語化すればいいじゃない」とも言いますが、本当になにもわからないと言語化すらできないのです。

そういう人は、一体結局どこにいけばいいんだろう そういう人たちをステップアップさせるために、わたしたちはなにをすればいいんだろう と、今回のスピーチを聞いていて思いました。