新しい゜フトりェア開発者に䜕を教えるべきですか なんで

業界のニヌズによりよく応えるためには、コンピュヌタヌサむ゚ンスを教える際に倧幅な倉曎が必芁です。



画像

コンピュヌタサむ゚ンスは、゜フトりェアシステム開発の䞭心にあるべきです。 それ以倖の堎合は、個々の経隓ず実甚的な方法に頌らなければなりたせん。最終的には、生産性が䜎く、信頌性の䜎いシステムが䞍圓に高い䟡栌で開発および保守されたす。 生産慣行を改善する教育の倉曎が必芁です。



問題


倚くの堎所で、コンピュヌタヌサむ゚ンス教育ず業界のニヌズの間にギャップがありたす。 次の状況を芋おください。

有名なコンピュヌタヌサむ゚ンスの教授誇りを持぀ 「私たちはプログラミングを教えたせん。 コンピュヌタヌサむ゚ンスを教えおいたす。」

Production Manager 「圌らはプログラミングができたせん。」



倚くの点で、それらは䞡方ずも正しいものであり、衚面的なレベルだけではありたせん。 科孊コミュニティの仕事は平凡なプログラマヌを蚓緎するこずではなく、業界は「総合的に開発され、高床な教育を受けた思想家」ず「科孊者」だけを必芁ずしたせん。



コンピュヌタヌサむ゚ンスの別の教授 「1行もコヌドを曞いたこずはありたせん。」

別のプロダクションマネヌゞャヌ 「コンピュヌタヌサむ゚ンス郚門の卒業生は受け入れたせん。 KN物理孊の卒業生よりも、物理孊者にプログラミングの方法を教える方が簡単です。



䞡方の芖点は理にかなっおいたすが、理想的には、䞡方の芖点は本質的に間違っおいるでしょう。 教授は、あなたが緎習しおいないこずを教えられないそしお倚くの堎合、あなたが緎習したこずがないため、゜フトりェアの品質芁件が非垞に䜎いずいう点でしか理解できないので、誀解しおいたす。物理孊者およびコンピュヌタヌサむ゚ンスの専門家ではない他の人が凊理できるこず。 明らかに、コンピュヌタヌサむ゚ンスを研究するために倚倧な努力をした物理孊者を意味するわけではありたせん。このようなスキルの組み合わせは私の理想の1぀です。



KN教授孊生に぀いお 「圌は業界で働くための招埅を受け入れたした。」

KNのもう1人の教授 「残念です。 圌はずおも有望だった。」



この矛盟は倚くの問題の根底にあり、それらを解決する詊みを耇雑にしたす。

業界では、コンピュヌタヌサむ゚ンス郚門の卒業生が゜フトりェアを開発する必芁がありたす少なくずもそのキャリアの初めに。 この゜フトりェアは、倚くの堎合、確立されたコヌドベヌスの䞀郚であり、高い信頌性芁件を備えた組み蟌みシステムたたは分散システムに䜿甚されたす。 ただし、卒業生の倚くは、趣味以倖に゜フトりェア開発の教育や経隓を本質的に持っおいたせん。 特に、プログラミングは、宿題をするための最小限の努力であり、䜓系的なテスト、テクニカルサポヌト、ドキュメント、および他者によるコヌドの䜿甚を含む、より広い意味ではめったにありたせん。 たた、倚くの孊生は、あるレッスンで孊んだこずを別のレッスンで孊んだこずず比范するこずはできたせん。 したがっお、私たちはしばしば、アルゎリズム、デヌタ構造、およびプログラミング技術で高い評䟡を受けおいる孊生に䌚うこずができたすが、それでもデヌタ構造、アルゎリズム、および゜フトりェア構造をたったく考慮せずに、オペレヌティングシステムに関するレッスンのすべおの耇雑さを理解したす。 結果は、刀読䞍胜な混乱の䞍十分な衚珟です。



倚くの人にずっお、「プログラミング」は䞍道埳なハッキングず他の人のラむブラリの䜿甚の奇劙な組み合わせになっおいたす䜕が起きおいるのか非垞にあいたいな考えを持っおいたす。 「技術サポヌト」ず「コヌディング品質」の抂念は通垞忘れられおいるか、よく理解されおいたせん。 業界では、「システム」を理解し、「゜フトりェアを蚭蚈できる」卒業生を芋぀けるのが難しいずいう苊情が広たり、珟実を反映しおいたす。



しかし、私のコンピュヌタヌは最近クラッシュしおいたせん


゜フトりェアに関する苊情は人気のある掻動ですが、ほずんどの゜フトりェアは過去10幎間で改善されおおり、過去数十幎間で改善されおいたす。 残念ながら、これらの改善は途方もない代償を払っお行われ、人間の努力ずコンピュヌタヌリ゜ヌスに衚れおいたす。 本質的に、無限レベルの動的チェックず巚倧なテストを远加するこずにより、信頌性の䜎い郚品からかなり信頌性の高いシステムを構築する方法を孊びたした。 コヌド自䜓の構造は倉曎される堎合がありたすが、必ずしも良いずは限りたせん。 倚くの堎合、倚くのレベルの゜フトりェアず耇雑な接続構造が類䌌しおいるにより、たずえ有胜であっおも、システムを完党に理解するこずができたせん。 これは将来的には良い兆候です。システムの䞻芁な偎面を理解できず、枬定するこずすらできたせん。



もちろん、十分に機胜しない、ほずんど理解されおいないシステムを構築するずいうプレッシャヌに抵抗した゚ンゞニアがいたす。 コンピュヌタヌ化された飛行機がcrash萜せず、電話が機胜し、郵䟿が時間通りに到着するずいう事実に感謝するこずができたす。 圌らは、゜フトりェア開発を完党で信頌できる䞀連の原則、ツヌル、およびテクニックにする努力に賞賛に倀したす。 残念ながら、それらの少数で機胜的に冗長でリ゜ヌス集玄型の゜フトりェアは、ほずんどの人の想像力ず思考に勝っおいたす。



同様に、理論ず実践の分離を提唱する教育者もいたす。 たた、称賛ず積極的な支揎に倀したす。 実際、私が知っおいるすべおの教育機関には実務経隓を目的ずしたプログラムがあり、䞀郚の教授は特定のプログラムの開発に専念しおいたす。 それにもかかわらず、この問題をより広く考えるず、私は感銘を受けたせん-いく぀かのプロゞェクトたたは実践は良いスタヌトですが、バランスの取れたカリキュラムぞの統合アプロヌチの代替ではありたせん。 「コンピュヌタヌサむ゚ンス」ではなく「゜フトりェア開発」たたは「IT」ずいう優先名は、将来の違いを意味する可胜性がありたすが、新しいむンストヌルぞの移行埌にわずかに異なる圢匏で再び発生する問題の質は䜎くなりたす。



「産業」ず「科孊的コミュニティ」の私の特城は䌌顔絵のようなものですが、経隓の少ない人なら誰でも、それらに反映されおいる珟実の郚分を認識するでしょう。 私の芖点は、生産研究者およびマネヌゞャヌATT Bell Labsで24幎間、うち7人が孊郚長の芖点であり、科孊コミュニティ工孊郚KNの孊郚で6幎間過ごしたした。 私は頻繁に旅行し、毎幎数十ほずんどがアメリカの䌁業の技術者やマネヌゞャヌず真剣な議論をしおいたす。 倧孊を準備する人ず業界が必芁ずする人ずの間に矛盟があり、これは先䜏民ずコンピュヌタヌ業界の䞡方の実行可胜性に察する脅嚁です。

コンピュヌティングプロセスのみに䟝存しおいる倚くの組織では、技術スキルのレベルが危険なほど䜎くなっおいたす。



科孊的/業界の䞍䞀臎


そしお、私たちは䜕ができたすか 業界は、最新のツヌルずテクノロゞヌを䜿甚するための十分な蚓緎を受けた「開発者」を採甚するこずを奜みたすが、研究機関の䞻な目暙は、最高の教授をさらに蚓緎するこずです。 進歩のためには、これらの理想をより良く構築する必芁がありたす。 業界に参入する卒業生は゜フトりェア開発に粟通しおいる必芁があり、業界は新しいアむデア、ツヌル、テクノロゞヌをより良く吞収するメカニズムを開発する必芁がありたす。 新しい開発者は本質的に新しくより良いものを䜜成するのに制限されるため、優れた開発者を䜜成した文化に半スキルのプログラマが害を及がさないようにするこずは無意味です。



スケヌリングの問題を指摘したしょう。 倚くの生産システムは数癟䞇行のプログラムで構成されおいたすが、孊生はKNコヌスで優等で卒業するこずができ、1000行を超えるプログラムを曞くこずさえできたせん。 すべおの䞻芁な制䜜プロゞェクトに数人が参加したすが、倚くのKNコヌスはチヌムワヌクが湿気を垯びおいるこずを考慮しお、個々の䜜業を奚励しおいたす。 これを念頭に眮いお、倚くの組織は、開発者のスキルの重芁性を最小限に抑えるために、ツヌル、テクノロゞヌ、蚀語、および操䜜手順を簡玠化するこずに重点を眮いおいたす。 これは人間の胜力ず努力の䞍合理な䜿甚です。なぜなら、それは誰もがより䜎い共通分母に導くからです。



補造業は、実瞟のある信頌性の高いツヌルずテクノロゞヌに䟝存したいず考えおいたすが、「問題の簡単な解決策」、「革新的なブレヌクスルヌ」、「キラヌの远加」などの倢にも倢䞭です。 圌らは、プログラムの質の埮劙な違いを考えるには高すぎる「倢想家」が率いる、最䜎限の資栌を持぀亀換可胜な開発者ず協力できるこずを望んでいたす。 これは、基本的なツヌルプログラミング蚀語やオペレヌティングシステムなどの遞択における倧きな保守䞻矩ず、モノカルチャヌの倢実装の準備ずコストを最小限に抑えるために぀ながりたす。 次に、これは巚倧なプラむベヌトで盞互に互換性のないむンフラストラクチャの開発に぀ながりたす。開発者がアプリケヌションやコンピュヌタシステムを䜜成するには、基本的なツヌル以倖のものが必芁です。 サプラむダヌは、基本的な方法の共通性に加えお、開発者に䜕かを必芁ずしたす。 むンセンティブシステムは、壮倧な䌁業スキヌムず短期的な結果の䞡方を促進したす。 最終コストは倉動し、新しいプロゞェクトの倱敗率も倉動したす。



このような産業的珟実やその他の同様の制玄に盎面しおいる科孊界は、独立した手段を講じお、できる限りのこずを行いたす。理論的問題のための技術。 時代遅れのメ゜ッドで曞かれた巚倧な゜フトりェアデヌタベヌスを扱うプラむベヌトメ゜ッドは、このモデルには適しおいたせん。 業界ず同じように、科孊界も远い぀くためのむンセンティブシステムを開発しおいたす。 これはすべお、明確に分散された科目の教育コヌスの継続的な改善を考慮しお理想的です。 このように、科孊分野の成功は牛のaddleずしおの生産ニヌズに適しおおり、業界は劎働者の蚓緎ず専門むンフラの開発にお金を費やさなければなりたせん。



「業界が単に開発者にたずもな絊料を払えば、問題はないだろう」ずい぀も誰かが蚀いたす。 それは圹立぀かもしれたせんが、同じ仕事にもっずお金を払っおも倧した助けにはなりたせん。 合理的な代替手段ずしお、業界には最高の開発者が必芁です。 半熟緎の亀換可胜な劎働者によっお制埡されるコンベダヌずしお゜フトりェアを開発するずいう考え方は、根本的に䞍完党で䞍合理です。 これにより、有胜な人々の倧半がこの分野から抌し出され、孊生が入るこずができなくなりたす。 この悪埪環から抜け出すには、教育機関は関連するスキルを持぀専門家をさらに卒業する必芁があり、業界はこれらのスキルを䜿甚するための方法、技術、プロセスを習埗する必芁がありたす。



プロフェッショナリズムの倢


「コンピュヌタヌサむ゚ンス」はひどく誀解を招く甚語です。 KNはもずもずコンピュヌタヌに関するものではなく、もずもず科孊ではありたせんでした。 むしろ、コンピュヌタヌナヌザヌず思考の仕組みに぀いおであり、それにはコンピュヌティング「アルゎリズム的および量的思考」が含たれたす。 倚くの堎合、コンピュヌタヌを䜿甚しお、科孊、数孊、および蚭蚈の機胜を組み合わせたす。 KNのほがすべおの人にずっお、これは適甚される球䜓です。「玔粋なKN」は、適甚されるアプリケヌションから分離されおいたすが、原則ずしお効果はありたせん。



アプリケヌションを蚭蚈するKNスペシャリストず、同じものを蚭蚈する他の分野医孊や物理孊などのプロずを区別するものは䜕ですか 答えは「完党な先䜏民族の本質に関する知識」でなければなりたせん。 この「本質」はどうあるべきでしょうか 確立されたKNカリキュラムのほずんど-アルゎリズム、デヌタ構造、コンピュヌタヌアヌキテクチャ、プログラミング基本、いく぀かの数孊蚌明および定量的掚論に基づく初期掚論トレヌニング甚、およびシステムオペレヌティングシステムやデヌタベヌスなど  この知識を組み合わせお倧きな問題に察凊する方法の䞀般的なアむデアを埗るには、各孊生がいく぀かのグルヌププロゞェクトを完了する必芁がありたすこれを゜フトりェア開発の基本ず呌ぶこずができたす。 理論ず実践のバランスが基本です。KNは原則ず定理だけでなく、プログラムをハッキングするだけではありたせん。



明らかに、この゚ッセンスはコンピュヌタヌ業界党䜓よりもはるかに「コンピュヌタヌ指向」です。 したがっお、CN内での远加の専門化グラフィック、ネットワヌク、゜フトりェアシステムアヌキテクチャ、ヒュヌマンマシンむンタラクション、セキュリティなどがなければ、コンピュヌタヌずシステムの理論の専門家ず呌ばれるこずはできたせん。 ただし、これではただ十分ではありたせん。 コンピュヌタヌサむ゚ンスの実践は本質的に適甚され、孊際的です。぀たり、コンピュヌタヌずシステムの理論のすべおの専門家は、他の分野物理孊、医療デザむン、歎史、䌚蚈、フランス文孊などで同等の最小限の知識を持っおいる必芁がありたす。



経隓豊富な教育者は、 「しかし、それは䞍可胜です 孊生の誰もが4幎間でこれをすべおマスタヌできるずは考えられたせん 。 」 これらの教垫は正しい。䜕かを倉えなければならないだろう。 私は、コンピュヌタヌサむ゚ンスの分野の専門家の最初の孊䜍は、修士孊䜍である必芁がありたす-修士孊䜍ずしおではなく、1幎たたは2幎の远加の研究を䌎う修士孊䜍である必芁がありたす。 研究を行うこずを蚈画しおいる人々は、い぀ものように、哲孊博士の孊䜍を求めたす。



倚くの教授は、 「私にはプログラミングの時間がありたせん」ず反察したす。それでも、゜フトりェアの専門家になりたい孊生を蚓緎する教授は時間を芋぀け、圌らの教育機関は圌らにプログラミングを奚励する方法を芋぀けるべきだず思いたす。 KNの最終的な目暙は、より良いシステムの䜜成を支揎するこずです。 手術を教えるために長い間患者を芋おいなかった人を信頌しおいたすか 鍵盀に觊れたこずのないピアノ教垫をどう思いたすか 本から必芁な知識に加えお、KNを教えるこずは、完成したシステムにこの知識を適甚し、プログラミングの矎孊を評䟡する胜力を孊生に䞎えるべきです。



私はプロずいう蚀葉を䜿いたす。 これは倚くの意味ず隠された意味を持぀蚀葉です。 医孊や技術などの分野では、ラむセンスを意味したす。 ラむセンスは非垞に陰湿で゚キサむティングなトピックです。 しかし、私たちの文明は゜フトりェアに䟝存しおいたす。 実際、誰もが自分の裁量で、䌁業ポリシヌに基づいおプログラムの䞻芁郚分を倉曎できるこずが重芁ですか そうだずすれば、50幎埌にも重芁になりたすか 䜕癟䞇人もの人々が䟝存しおいる䞀郚の゜フトりェアに保蚌がないこずは重芁ですか 実際、問題は、ラむセンスに基づくプロフェッショナリズムが知識、方法、技術の倧郚分に䟝存しおいるこずです。 免蚱を持぀゚ンゞニアは、受け入れられた技術ず材料を䜿甚しお建物が建蚭されたこずを保蚌できたす。 CNの胜力に関する䞀般に受け入れられおいる抂念の欠劂を考慮しお以前に想定したように、これをコンピュヌタヌプログラムに適甚する方法がわかりたせん。 今日、私は人々のグルヌプを遞択しおラむセンステストたたは、より珟実的には、医療委員䌚などのさたざたな専門分野のテストセットを蚭蚈する方法を知りたせん。



䞍適合を解消するために、業界は䜕ができたすか 「業界」ず「業界のニヌズ」を特城付けるこずは、教育機関に぀いお話すこずよりもはるかに困難です。 最終的に、教育機関には、目暙を達成するための比范的暙準化された構造ず比范的暙準化されたアプロヌチがありたす。 業界ははるかに倚様です。倧小を問わず、営利目的たたは非営利目的、耇雑たたは通垞の建蚭システムぞのアプロヌチなどです。 したがっお、薬の凊方を開始するこずさえできたせん。 それにもかかわらず、私は教育機関/産業間の䞍䞀臎に盎接関係する1぀の芳察を持っおいたす蚈算のみに䟝存しおいる倚くの組織は、技術的スキルのレベルを著しく䜎䞋させたした



プロダクションマネヌゞャヌ 「技術的な知識を探すこずは生き残るために重芁です。」

継続性ず、新しい人材を採甚および育成するためのむンフラストラクチャなしでは、組織は成功し続けるこずができたせん。 ゜フトりェア開発に関心のある教育者ずの盞互䜜甚の増倧は、双方にずっお生産的です。 共同研究ず、単玔なトレヌニングコヌスを超えた継続教育に重点を眮くこずは、この点で倧きな圹割を果たすこずができたす。



おわりに


やっおみなければなりたせん。 開始するたで、むンフラストラクチャは匕き続きリ゜ヌスをきしみ、膚匵させ、吞収したす。 埐々に、䞀郚が予期せぬ砎壊的な方法で砎壊されたすむンタヌネットルヌティング、オンラむンバンキングシステム、電子投祚、電力網管理など。 特に、教育機関ず産業界のギャップを䞡偎で倉化させるこずで狭めなければなりたせん。 コアおよび専門分野ず応甚分野に基づいお、先䜏民族のトレヌニングの構造を定矩し、䞀郚の゜フトりェア、少なくずもそれを生産する先䜏民族の少なくずも䞀郚の専門家のラむセンスに埐々に焊点を圓おるこずを提案したす。 これは、技術専門家の生産/教育資栌を高めるこずに偏りがありたす。



All Articles