Edited at

仮説・検証(139)新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的

仕事では、教育、試験、標準化を主に担当している。

転職したいために、工学系の大学を出なおした。

経緯は下記。

転職(1) なぜ経済学徒を辞め、計算機屋になったか(経済学部入学前・入学後・卒業後対応)

https://qiita.com/kaizen_nagoya/items/06335a1d24c099733f64

工学部では電気科だったこともあり計算幾科学の単位は一つも取らなかった。

プログラミングも大学では習わず。自分でプログラムを書いていた。


試験

単体試験は商用ソフトのC++TESTと、オープンソースのCunitなどを使った単体試験の計画、実施、対応。

ネットワーク試験のWiresharkによる測定。


標準化

ISO/IEC 15504(ISO/IEC 33001)process Assessment。

コーディング標準に基づいたソフトウェアの品質の向上のための逸脱の手続きの普及。


教育

学生、企業の新人教育。プログラミング言語、OS、ネットワークプロトコル。数学、物理、確率・統計、経済計算など。

IT業界の新人教育でおかしなことによく出会う。

新人を指導するよりも新人に指導してもらった方が効率的なことがしょっちゅうある。

教える側が気がついていないだけだったりする。

新人から指導を受けた件をいくつか記録する。

大学の卒業研究の指導を二十数年、大学院の特別講義の非常勤講師を10年してきた。

新人だけでなく、大学生でも学生を指導するよりも学生に指導してもらった方が効率的同じであることを経験してきた。


はじめる前に

いくつかの大学と共同研究をしていて、優秀な学生と出会って、プログラムを拝見していると、その学内の先輩や先生が、不必要な助言、不必要な方向転換や、不必要な修正をしているのを目撃して本当に嫌な思いをした。有能なプログラマが企業に入って潰されていくのではなく、大学ですでに潰されることがあるんだと。

学生が学生を潰さないように、岐阜大学での非常勤講師の10年間のうちの最初に、作成した資料。

「始める前に kaizen 岐阜大学」検索。

https://www.slideshare.net/kaizenjapan/gifu-university-before-study-2015

自分の得意なところを伸ばしつづければ、10歳からプログラムしていれば、10年後の20歳には十分な専門家になっているのを何度も目撃している。


例1:M.O.さん

一つの例が、M.O.さん。

M.O.さんが大学院生の頃、大阪で開催されたUnixユーザ会で、マウスのドライバの実演(demonstration)をされていた。UNIXユーザ会って、お高くとまった人が多く、偉そうなアプリ書いてという印象を持っていた。地味だけど、技術力のいる展示をしていたのに好感を持てた。

その後、学生のM.O.さんは、VZエディタのMifes互換マクロを書いた。

ライセンス関係は、ビレッジセンタ(VZエディタの発売元)の社長と、メガソフト(Mifesの発売元)との間で相談があったか、相互尊重の合意があったかだと記憶している。

Mifes互換マクロは慣れた操作で使え、本当に助かった。自分では、キーボードマクロを少し編集して使う以上のマクロを利用したことがなかった。

どちらのソフトも、自分なら30年かかっても書けない。学生に指導してもらい、学生の作ったソフトを利用して、自分のやりたいことをやらせてもらった。

VZエディタでは、当時使っていたN5200という機種への移植を行った。すべてのアセンブラのソースコードをコメントにして試験をしていたら、たまたま、画面の高速化に成功した。すごく多くの人に喜んでもらえた。

N5200のSDKの契約を結んでいる人は、ソースコードの差分を公開することができないかもしれないし、高速化をたまたま見つけても契約の範囲内かどうかの判定に困っただろう。契約を結んでいないことと、N5200ユーザネットのシスオペ(ネットのユーザ会の代表)をしていたこともあり、こちらもライセンス上の問題は生じなかった。


例2:

大同工業大学(現在の大同大学)の卒業研究の指導をしていた。

一人の学生は、MS-DOSで流行っていたファイルを操作するソフトウェアをUnix上のC言語で作っていた。

画面はcursesを浸かっていた。

https://netbsd.gw.com/cgi-bin/man-cgi?curses+3+NetBSD-current

自分では一度もcursesを浸かったことがなかったので、学生がUnixで設計しているソフトウェアをMS-DOSに移植する作業を行いながら勉強した。Unixはマルチユーザ対応の機能がいるが、MS-DOSではいらないため、拡張はなく、縮小作業だった。

連名でUNIXユーザ会で発表した。

ディスクユーティリティon UNIX and MS-DOS, UNIXユーザ会東海研究会, 1992年3月


例3:

同じく大同工業大学(現在の大同大学)の卒業研究の指導を学生に、BSDのカーネルソースのコンパイルの仕方を教えてもらった話。

UNIXマシンのX-Windowのソフトウェアのコンパイルで、OSの一部をコンパイルし直す事はしていたことがある。OS全体をコンパイルしなおしたことがなかった。

BSDのportの仕組みを利用すれば、カーネルのコンパイルもエラーがでずにコンパイルできることを学んだ。

その後、同僚にLinuxでもDebianのaptでカーネルソースを導入すると、カーネルのコンパイルがエラーがでずにコンパイルできることを経験した。

そのおかげで、自分の博論の実験のために、Mobile IPのコンパイルのため、Linuxカーネルのコンパイルしなおしが無事にできた。

対向試験としてBSDを使い、Linuxとの間の通信で動作を確認することができた。

博論には、基礎技術の確認作業であり、詳しくは掲載していない。作業としては一番かかった。

GPSを利用した通信遅延の測定プログラムも博論の発表日の前日、徹夜で書いたため、博論には掲載されていない。

博論にはPHSでの実験結果しか掲載してなかった。質問が出た時の回答用の追試実験である。

これも、日頃、学生が次々新しいソフト、新しい開発環境、新しい道具を導入して実験しているのから教えてもらった成果だと感謝している。


本文

仮説・検証(51)公開算譜は機敏だ(open source is agile)GitHub and docker

https://qiita.com/kaizen_nagoya/items/5dd49a046b5991af3a5e

詳しくは書いてない。python, C++でのゲームの作り方の指導を受けた。

「DockerでPHP7.0×Apacheの環境を構築する@kurkuru」IT業界新人利用時の16の壁(mac mini編)

https://qiita.com/kaizen_nagoya/items/315e8d05a6eef00b56d1

javascript, PHPを使ったサーバ構築の指導を受けた。

docker(19) 言語処理100本ノックをdockerで。python覚えるのに最適。

https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

gitでpythonのプログラムの上げ方などの指導を受けた。

仮説・検証(67)「プロセス改善」が改悪へと突き進む

https://qiita.com/kaizen_nagoya/items/0f3a1174f81935bb6d85

あるセミナで、入って2年目のやや新人が、10年以上IT業界に居る人に指摘をしていた。

ああ、そうやって率直に言わないといけないんだという指摘を受けて書いた文章。


経験則

10歳くらいから取り組んでいれば、20歳になれば、専門家として通用するのが経験則。

その専門家を新人と称して、教わろうとしない人はいつまでも新人以下のままかも。


参考資料(reference)

アカデミアの囚人

https://qiita.com/bluepost59/items/a08c0eb0a57f8b28abdf


自己参考資料(self reference)

プログラミング言語教育のXYZ

https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

ぼくの先生 プログラマになるまで

https://qiita.com/kaizen_nagoya/items/53e4bded9fe5f724b3c4

「未経験者が認識してなさそうなTIPS」で同意できること

https://qiita.com/kaizen_nagoya/items/9759de698df880eb1f77

Fラン文系によるFラン文系のためのFラン文系プログラマ /「Fラン文系」でも就職(プログラマ)できる5つの道

https://qiita.com/kaizen_nagoya/items/c72fa39e3191ea0290df

プログラマで「飛び抜けた人が少ない」という仮説

https://qiita.com/kaizen_nagoya/items/f0d22e20f6d2c58f2c1b

「プログラマを目指す」ことの間違い?

https://qiita.com/kaizen_nagoya/items/513f39bcf01a3db36d09

岐阜大学 大学院 応用情報特講 記録

https://qiita.com/kaizen_nagoya/items/a24d988501fc85da1f55


文書履歴(document history)

ver. 0.01 初稿 20190813

ver. 0.02 加筆 20190817

ver. 0.03 参考資料追記 20190818

ver. 0.04 参考資料追記 20190829



https://b.hatena.ne.jp/guide/bbutton