猫も杓子も記事を書く

140文字ではかけないことをかこうと思います。

プログラミングの上司

某氏と昼ごはんを食べに行ったときに、「プログラミング初学者や未学者がどのようにスキルを伸ばしていくか」という話をした。

曰く、本やネットで得られる情報を集めて自身のスキルを構築していく段階と連続的にして、わからないところをわかるようにする段階が生じる。その転換に入るのは、往々にして学習による実装*1を脱し、実際の開発案件に着手したあとで、その段階に入ると、「わからないところがどこなのか明らかにする」のと、「明らかにしたわからないところをわかるようにする」必要があり、とりわけ独学者やフリーの学習者がその段階を乗り越えるには厳しい。なぜなら「プログラミングの上司」に当たる人がいない(場合が多い)からだ。(そうでない会社もたくさんあるということを承知の上で書くが)エンジニアとして企業に入ることができれば、そういったヒューマンリソースも、開発リソースも用意されている。年齢、経歴の浅いうちはIT会社員としてそれらを活用しながらその恩恵に浴するのが良いと。

 

しかし、それがかなわない場合もある。例えば、未経験として業界に飛び込んできた場合や、年齢を経た上での他業種からの移籍の場合、「(エンジニアとして)会社に入る」という択自体が困難になる恐れがある。また、入ったとしても、会社のしごとをなぞるだけではスキルアップにつながらない場合もある。

 

「プログラミングの上司」が持つ役割として、主なところでは以下があると思う。

  • コーディングノウハウの共有
  • コードレビューや改善のアドバイス
  • 不明領域の解消

 

これらを充足する存在を欲しているプログラマの要望を叶えるために、なにかビジネス的に上手く回るような仕組みを作れたらなあと思っている、というのがその氏の言葉だった。

この仕組みで実践されているのがプログラミングスクールやpaiza,ドットインストールなどのeラーニングサービスにあたる。一方でqiitaかどっかでフリーのコードレビューが受けられるサービスもあり、理想郷ではあるのだが、そのままだと無報酬であるレビュワーの利益として何を還元するのかという問題が生じる。

なんとなくありそうなのは、転職サービスや学習サービスと技術力に定評のある企業手を組んでフォローするという形式。例えばRubyであればrubyrails系のtech confでスポンサードしているような企業。ある程度特定の言語や技術に尖った会社は少なからずある。そこと組むことで学習者にとってはスキルアップにもなるし、企業側はコードレビューという形でテクニカルな採用フローをクリアすることもできる、ある程度技術的力量がわかった上で入社するのでその後の教育もしやすくなるかもしれない。

その見返りとして、求人の出稿料や就職が決まった際に払う手数料をディスカウントしてもらうとか。ただそこに従事する従業員の工数や財源の確保は大変だろうなあと思うし、レビュワーのプレッシャーは尋常じゃないだろうなとも思う。

*1:所謂「写経」のことを指す