情報科学
機械が実行できるほど正確に問題を模型化する訓練を与える——そして、それが規模のなかで、故障のもとで、そして誰かに攻撃されながら実行されたとき何が起きるかを筋道立てて考える訓練を与える。
毎週のコードレビューの一式を始めること。学期の終わりまでに四件あれば、どの認定より良い信号である。
専攻まるごとに一つの数字を付けると、肝心なものが隠れます——この学位はいくつかの別々の能力を訓練しており、そのすべてが同じ方へ動いているわけではありません。自動化が働きかけるのは業務なので、評価は下にある職業のページの上にあります——ここではありません。
四年制の情報科学およびソフトウェア工学の学位に向けて書いている。研究向けの課程とハードウェア中心の課程は、事情が大きく異なる。
この学位が実際に訓練するもの#
履修科目の一覧ではなく、その下にある能力と、その一つひとつが以前より価値が上がったか下がったか。
問題を正確に模型化する
以前より価値が上がった誰かが漠然と述べたことを、未定義の場合のない仕様に変えること。
生成は仕様より下流にあり、誤った仕様を、人がやるより速く増幅する。いまや結末をより多く決めているのは、コードを書く人ではなく仕様を書く人である。
故障について筋道を立てる
以前より価値が上がった並行処理のもとで、途中で落ちたときに、想定外の入力で何が壊れるかを——壊れる前に知っていること。
生成されたコードの天井が最もはっきり現れるのがここである。負荷のもとで間違っている流暢なコードは、本番に入るまで、正しいコードとまったく同じに見える。
よく知らない系を読む
以前より価値が上がった他人のコードベースを、どの観測が決定的になるかが分かる程度に頭のなかに保つこと。
機械が産み出すコードが増えるほど、仕事のより多くが、誰も手で書いていないコードを読むことになる。もっともらしいのに間違っているコードをレビューすることは、独立した、そして新たに中心となった技能である。
定型的なコードを書く
単独では価値が下がった仕様のはっきりしたものを、正しく、その言語らしい形で実装すること。
仕様がはっきりしていて、学習の素材に大量に含まれていて、走らせればすぐ確かめられる——コード生成にとって最も強い筋書きである。ただし注意——自分に書けなかったコードは判断できない。だからこれは、成果物であることをやめても、前提であり続ける。
基礎
横ばい計算量、データ構造、並行処理の模型、そして計算機が実際にどう実行しているか。
この学位のなかで最も古びるのが遅く、そして入門の記事からは身につかない部分である。見たことのない系について筋道を立てられるようにしているのは、これである。
どこへ通じうるか#
9 の方向があり、一つだけということはありません。それぞれは専用のページに全文があります —— 自分の訓練のどこが再利用できるか、卒業生に何が欠けがちか、入口の現実、そしてこの学期に試せること一つ。
教室の外で足すもの#
これは、実務のうえで卒業生に欠けがちなものについてです——学校がそれを教えなかった、という主張ではありません。
本当に失敗が痛いコードベースのなかでの時間——インターン、人が頼りにしている公開の制作物、間違うことに結果が伴うもの。練習用の題材では判断は身につかない。何も賭けられていないからである。
他人のコードを——生成されたコードも含めて——意識して、定期的にレビューすること。市場が不足している技能であり、そして学校が最も評価していない技能である。
書くこと。設計の文書、事故の振り返り、説明。前へ進むエンジニアは、自分の筋道を他人がたどれる人である。
この学期#
一つか二つの行動。それぞれが、誰かに見せられるものを生みます。読書案内ではありません。
毎週のコードレビューの一式を始めること。学期の終わりまでに四件あれば、どの認定より良い信号である。
正しさが高くつく領域で、実際に動いている系を一つ端から端まで読むこと。一か所での深さは、五か所にまたがる広さに勝る。
よくある問い#
ある。ただし五年前とは理由が違う。この学位はかつて、コードを産み出せるようにするから値打ちがあった。いまの値打ちは、コードを判断できるようにすることであり——自分に書けなかったものは判断できない。本当に変わったのは、入口の側の求人である——判断を育てているあいだ若手を食わせていた定型の仕事こそ、自動化されつつある部分である。だから訓練としては今も効く。けれども、最初の職が他人の給与で教えてくれるという昔の取り決めは弱まっている。最初の職がその差を埋めてくれると当て込むのではなく、その空白を明示的に見込んでおくこと。
情報科学は変わった位置にある——道具は、まさにこの学位が「産み出せ」と教えるものを最も得意としており、しかもこの学位がつながる入口の職は、最も若い働き手の雇用が減った群に入っている。それは本物の論拠であり、そして去る論拠ではない——判断の仕事へどう辿り着くかの計画を持って入るべきだ、という論拠である。かつてそこまで運んでくれた定型のコーディングの段は、細くなったからである。
何を任されうるかが変わるとき——研究、システム、人の少ない専門——には価値がある。そして、新卒の市場が冷えているのをやり過ごす手段としては価値がない。同じ制作の技能を一段上で教える修士は、同じ道具と競合する。学位の名前ではなく、具体的な研究室や集団を確かめること。
自分が書いていないものを、自分がデバッグした経験である。流暢なのに間違っているコードを、自信たっぷりに壊れている箇所が見つかるほど丁寧に読むことは、このサイトが新たに中心と印づけている業務であり、そして生成された制作物の作品集では示せない唯一のものである。自分が始めていないコードベースへの本物の貢献一件は、仕上げた個人の制作物五つに勝る。
方法#
評価は専攻ではなく業務の上にあります。上のどの方向でもたどって職業のページへ行けば、どの業務が変わりつつあり、証拠がどれだけ強く、そして何をまだ示していないかが分かります。