はじめに
工業系の大学の卒業研究の指導を20年ほどしていた。
毎年、題材は学生が自分の好きなことか、就職に有利なことを選んでもらっていた。
好きなことをあげてもらったのは、音楽がゲームが多い。
就職に有利なことは、その企業に売り込んだり、就職した後で役立つ技術は何かを議論して題を決めた。
これらの場合は、私より学生の方が、知識が多く、ひたすら学生に教えれもらうばっかりだった。私が関与した事をしいてあげれば、関連する英語の論文を輪講する際に、英語の表現の理解の仕方か、参考文献の探し方を指導するだけだった。ほぼgive and takeで、私のtakeの方が多い学生が大勢いた。
実際にプログラムを組んだり、BSDのシステムを構築したりとかは、圧倒的に学生の方が質・量ともに凌駕していた。
新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的だというのは数十人の学生で検証済み。
音楽活動をしていて、コンピュータ音楽、カラオケなどを題材にした学生と、
ゲームを題材にした学生には、ついていくこともできない状態だった。
仮説(54)プログラムは音楽だ (A program is a music.)
https://qiita.com/kaizen_nagoya/items/33c9f33581e6886f8ad8
ゲームでは、唯一、色使いについて助言していた。
プログラマが知っているとよい色使い(JIS安全色)
https://qiita.com/kaizen_nagoya/items/cb7eb3199b0b98904a35
背景
囲碁、将棋で、10年間真剣にやっていればプロ一流になれる人は大勢いる。
音楽も同様。10代のすばらしい演奏家はごろごろ。ネット公開の人気の演奏家が日の目を見る機会も増えているか。
運動競技でも、10代が頂点の競技はいくつもある。
大学4年生までの10年間、プログラミングを真剣にやってれば、プロ一流になっている人はごろごろいる。
古い話と、お金をもらってプログラムする辛さを知らないだけかも。
大学4年生までの10年間というと、中学1年生から。
小学1年生からプログラミングしていれば、高校2年生でプロ級は何人かいる。
大学生のうちに、または卒業してすぐに起業したプログラマのうち、何人かは学生のうちからお金をもらってプログラムする辛さを知っていた。納期に追われ、学業との両立に苦心していた。
音楽、遊興競技、運動競技はプログラミングと同じように時間に敏感な若さが大事な部分もある。
大人が大学4年生に教えてもらうことはいっぱいあるはず。
私はある大学の卒業研究の指導を20年、別の大学の大学院の非常勤講師を10年していて、
10人に1人は自分よりプログラミング能力の高い学生に教えてもらってきた。
ただし、知識や経験が偏っていたり、20年前、30年前のことを知らないので、
こちらから教えられることもそれなりにあり、give and takeの量はなんとか確保できることがある。
こちらに蓄えの足りないこともあり、おしえてもらうばっかりの学生も何人かいた。
足りない機材を貸したり、買ったりして、こちらのgiveするものの不足は大人買いで補足してきた。
大学はFラン私学であっても、国立大学であるかの差は統計的にはない。
「新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的」というのが経験則です。
新人といっても、22歳で採用なら、10歳からプログラミングしてたら、12年で、もうベテランのはず。そんなベテランを新人と呼ぶIT業界の人たちはなんか変だと言う気がしていた。
新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的。仮説(139)
https://qiita.com/kaizen_nagoya/items/db993b1536055029f7c8
IT業界で新卒学生採用時に大事なこと。仮説(46)
https://qiita.com/kaizen_nagoya/items/eaa6313a2889c1af755a
新人になにか教える量と、新人から学ぶ量が等しくなるように、新人から学ぶようにしています。50歳から毎年プログラミング言語一つを学ぶようにしてきました。半数近くは、新人から教えてもらったかもしれません。
50歳からのプログラミング言語入門。docker(152)
https://qiita.com/kaizen_nagoya/items/5c7cec79cb3b15237076
@autotaker1984 新卒1年目が荒れ果てた開発環境に1年間でCIを導入し単体テストを布教した話
https://qiita.com/autotaker1984/items/894bf0df0009c621da11
コメント欄、違和感のかたまり。どこの会社の新人でもすごい人いる。
そのひとたちを潰したり、やめさせたりしている人が書いている可能性がありコメントできない。
アイビスペイント2億ダウンロード
https://qiita.com/kaizen_nagoya/items/cd965acd0cdd365d9835
の会社も、大学卒業時で会社社長だったような気がする。
そんな人、毎年、何十人といたはず。
経理的な問題、資金繰りの問題など、技術的な事項以外で支援がしてもらえず、やむなく組織を解散した事例も半分くらいあった。
技術的な評価をしたら、資金的な支援をするとよいかも。
<この項は書きかけです。順次追記します。>
就職または起業するまでに10年間プログラミングを真剣にしてこなかった人は含めていません。
仕事は、学生向けが主ではなく、企業向けの教育、試験、標準化を主に担当してきた。
ある大学の大学4年生の卒業研究の指導を20年間、別の大学院の非常勤講師を10年間していた。
10年くらいやってきた若者にプログラミングでかなうはずはない。
卒業研究の学生の方が、新人教育の社会人より質が高いのは、自分の研究室を希望しても来れる枠は狭く、
能力のある人しか来れなかったからかもしれない。企業の新人教育の方が質が低いのはまずいと思い、
常に卒業研究の学生程度の質は要求していた。例えば、コンパイラがかけなきゃC言語は書くなとか。
経緯は下記。
転職(1) なぜ経済学徒を辞め、計算機屋になったか(経済学部入学前・入学後・卒業後対応)
https://qiita.com/kaizen_nagoya/items/06335a1d24c099733f64
経済学部を出たのは昔。プログラミングは科目になかった。
工学部では電気科だった。計算幾科学の単位は一つも取らなかった。
プログラミングも大学では習わず。自分でプログラムを書いていた。
大学のホストの通信エミュレータの移植をしたのは情報系の先生でも学生でもなくて、当時情報系ではない学生の私。企業との共同研究のモータ制御のアセンブラを書いたのも私。
学生の頃から、学生に指導してもらうのがいいと思ってた。
自分が学生じゃなくなっても、そのまま同じ考えを何十年も持っている。
例1:M.O.さん
一つの例が、M.O.さん。
M.O.さんが大学院生の頃、大阪で開催されたUnixユーザ会で、マウスのドライバの実演(demonstration)をされていた。UNIXユーザ会って、お高くとまった人が多く、偉そうなアプリ書いてという印象を持っていた。地味だけど、技術力のいる展示をしていたのに好感を持てた。
その後、学生のM.O.さんは、VZエディタのMifes互換マクロを書いた。
ライセンス関係は、ビレッジセンタ(VZエディタの発売元)の社長と、メガソフト(Mifesの発売元)との間で相談があったか、相互尊重の合意があったかだと記憶している。
Mifes互換マクロは慣れた操作で使え、本当に助かった。自分では、キーボードマクロを少し編集して使う以上のマクロを利用したことがなかった。
どちらのソフトも、自分なら30年かかっても書けない。学生に指導してもらい、学生の作ったソフトを利用して、自分のやりたいことをやらせてもらった。
VZエディタでは、当時使っていたN5200という機種への移植を行った。すべてのアセンブラのソースコードをコメントにして試験をしていたら、たまたま、画面の高速化に成功した。すごく多くの人に喜んでもらえた。
N5200のSDKの契約を結んでいる人は、ソースコードの差分を公開することができないかもしれないし、高速化をたまたま見つけても契約の範囲内かどうかの判定に困っただろう。契約を結んでいないことと、N5200ユーザネットのシスオペ(ネットのユーザ会の代表)をしていたこともあり、こちらもライセンス上の問題は生じなかった。
例2: UnixのFD(ファイル操作ツール)作成
大同工業大学(現在の大同大学)の卒業研究の指導をしていた。
一人の学生は、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カーネルコンパイル
同じく大同工業大学(現在の大同大学)の卒業研究の指導を学生に、BSDのカーネルソースのコンパイルの仕方を教えてもらった話。
UNIXマシンのX-Windowのソフトウェアのコンパイルで、OSの一部をコンパイルし直す事はしていたことがある。OS全体をコンパイルしなおしたことがなかった。
BSDのportの仕組みを利用すれば、カーネルのコンパイルもエラーがでずにコンパイルできることを学んだ。
その後、同僚にLinuxでもDebianのaptでカーネルソースを導入すると、カーネルのコンパイルがエラーがでずにコンパイルできることを経験した。
そのおかげで、自分の博論の実験のために、Mobile IPのコンパイルのため、Linuxカーネルのコンパイルしなおしが無事にできた。
対向試験としてBSDを使い、Linuxとの間の通信で動作を確認することができた。
博論には、基礎技術の確認作業であり、詳しくは掲載していない。作業としては一番かかった。
GPSを利用した通信遅延の測定プログラムも博論の発表日の前日、徹夜で書いたため、博論には掲載されていない。
博論にはPHSでの実験結果しか掲載してなかった。質問が出た時の回答用の追試実験である。
これも、日頃、学生が次々新しいソフト、新しい開発環境、新しい道具を導入して実験しているのから教えてもらった成果だと感謝している。
ネットワーク ReferenceとしてのBSD
https://qiita.com/kaizen_nagoya/items/14fba711d42fd8b5db4c
TOEIC
1回目は650点ぐらい。
新TOEICテスト「直前」模試3回分
https://bookmeter.com/books/232004
をやったら750点ちょっとになった。
学生に外資系に就職するなら800点以上って説明したらいきなり800点以上取られてから、ショックで受けに行ってなかった。
最近の大学院の入試でTOEIC or TOEFL必須の学校があるらしい。
学生くんに倣って、また受けよう。
試験
単体試験は商用ソフトの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歳には十分な専門家になっているのを何度も目撃している。
経験則
10歳くらいから取り組んでいれば、20歳になれば、専門家として通用するのが経験則。
その専門家を新人と称して、教わろうとしない人はいつまでも新人以下のままかも。
参考資料(reference)
@e99h2121 2020年Advent Calendarに1ヶ月開発・学習記録を投稿し続けた結果を報告します
https://qiita.com/e99h2121/items/6c5ed537cea35f85d09e
@e99h2121 スーパーマンではなかったオッサンは荒れ果てた環境でどうリファクタリングできるのか
https://qiita.com/e99h2121/items/5a5499a674714520db04
@e99h2121 Androidアプリでありますまいか
https://qiita.com/e99h2121/items/b2b674cb857341ab5c9a
自己参照
仮説(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業界に居る人に指摘をしていた。
ああ、そうやって率直に言わないといけないんだという指摘を受けて書いた文章。
アカデミアの囚人
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
ちなみに、自分は転職したいために、工学系の大学を出なおした。
プログラマが苦手な「人との口頭のやりとり」面談技術(interview technique)7つの要点。仮説(48)転職(9)
https://qiita.com/kaizen_nagoya/items/f322df6978853c708c99
人間の感情を大切な振りをしたり、人の意見を聞く振りをしているのが見分けられるか。
https://qiita.com/kaizen_nagoya/items/36294c98a36c4533f1c7
一覧
物理記事 上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff
量子(0) 計算機, 量子力学
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4
数学関連記事100
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d
統計(0)一覧
https://qiita.com/kaizen_nagoya/items/80d3b221807e53e88aba
言語・文学記事 100
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6
医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82
自動車 記事 100
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5
通信記事100
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7
日本語(0)一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68
英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d
転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe
仮説(0)一覧(目標100現在40)
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df
Qiita(0)Qiita関連記事一覧(自分)
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6
鉄道(0)鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0
安全(0)安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409
一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39
Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794
Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0
線網(Wi-Fi)空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001
OSEK OS設計の基礎 OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3
Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8
C++ Support(0)
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514
Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0
プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909
なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2
言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4
プログラムちょい替え(0)一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394
Python(0)記事をまとめたい。
https://qiita.com/kaizen_nagoya/items/088c57d70ab6904ebb53
官公庁・学校・公的団体(NPOを含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3
「はじめての」シリーズ ベクタージャパン
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb
AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945
LaTeX(0) 一覧
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792
自動制御、制御工学一覧(0)
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b
Rust(0) 一覧
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927
小川清最終講義、最終講義(再)計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on my individual experience. It has nothing to do with the organization or business to which I currently belong.
文書履歴(document history)
ver. 0.01 初稿 20190813
ver. 0.02 加筆 20190817
ver. 0.03 参考資料追記 20190818
ver. 0.04 参考資料追記 20190829
ver. 0.05 はじめに加筆 20201030
ver. 0.06 順番入れ替え 20210101
ver. 0.07 補足 20210731
ver. 0.08 はじめに追記 20210831
ver. 0.09 URL追記 20240616
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence,
Please press the like icon 💚 and follow me for your happy life.