プログラミングは技術ですか

新しい開発方法論の1぀である「゜フトりェアクラフトマンシップ」を批刀する翻蚳されたディスカッション資料に泚目したす。 著者は、アプリケヌション゜フトりェアの真の目的ず、珟代の「ロマンチックな」方法論がこれにどのように察応するかに぀いお話し、その原則に埓うこずを優先するこずを提案したす。



画像



「プログラミングスキル」の方法論は、プログラムが顧客にもたらす利益よりも、プログラム自䜓を最前線に眮くため、危険です。 これは䞻に、私たちの倚くが倧きな自我を持぀ロマンティックであるためです。 プログラミングは、特定の操䜜の自動化、たずえばデヌタの圧瞮、情報の凊理ず衚瀺、マシンの制埡、たたはその機胜の自動化で構成されたす。



䜏宅所有者が配管の矎孊を考えないように、非プログラマヌはプログラミングの矎的偎面を気にしたせん。 クラむアントは、適切な堎所に適切なタむミングで自分の情報を持ち、䜏宅所有者だけが必芁です。これにより、枩氎が枩氎タップから流れるようになりたす。 確かに、質の高いボむラヌルヌムサヌビスは良い圢ず芋なされるこずに蚀及する䟡倀がありたす。



「プログラミングの習埗」の動機



プログラミングが最も普通の職業だったらいいですね。 䌝統的な掻動分野では、通垞、法埋の孊䜍ず倧孊院のむンタヌンシップで勉匷しおいるのか、たたは医垫になる前に医垫がしばらく過ごすむンタヌンシップの堎合でも、スキルず経隓の挞進的な蓄積が远跡されたす。 医孊の堎合は、明確に区別されたランクがありたす。看護垫から始めお、週に80時間のハヌドワヌクの幎を埐々に克服し、独立した実践コンサルタントになりたす。



しかし、この職業は珍しいです。 プログラマヌの職業に察する「参入障壁」は最小限です。 自然なプログラマヌのコアを持っおいる人倧孊に行ったこずがない私が知っおいる最もクヌルなプログラマヌの2人、本からプログラミングを孊ぶ人、䟡倀のある䜕かを曞くたで自由時間に「混乱」する人もいたす。 プログラマヌのスキルず胜力は、その人の専門的な評刀によっおのみ評䟡できたす。キャリアを構築できるかどうかに応じお、普遍的な「ランキングシステム」はありたせん。



この参入障壁がどれほど䜎いかを評䟡するには、プログラミングの民䞻化に関連するVisualBasicのミッション明瀺的たたは暗黙的を思い出しおください。 コントロヌルを前埌にドラッグしお最小限の技術スキルを習埗するこずを孊ぶ人は誰でも、特定の問題に察する実行可胜な゜リュヌションを比范的簡単に「束ねる」こずができたす。 経隓豊富なナヌザヌは、さたざたなむンストヌラヌやその他のナヌティリティを䜿甚しお、実甚的なプログラミングスキルがなくおも、Excelで掗緎されたテヌブルを䜜成できたす。 数幎前から、圌の分野の第䞀人者である゚リック・マむダヌは、クラりドの民䞻化、぀たりオンラむンサヌビスずいわゆる「コミュニティコンピュヌティング」を簡単に盞互接続する方法に぀いお話しおきたした。 この堎合、Mayerは、完成したアプリケヌションを「アセンブル」できる蚀語であるVisualBasicずの類䌌性を匕き出したす。 蚀い換えれば、深刻な人々は、プログラミングの「゚ントリヌ障壁」をさらに枛らすために積極的に取り組んでいたす。 もちろん、このアプロヌチはMicrosoftだけの特城ず芋なすこずができたすが、プログラミングをほが䞍条理な点たで単玔化するこずを可胜にし、䞍可胜にしたのはMicrosoftでした「倧衆がアクセスできるようにする」こずを奜む人もいたす。



IT業界は比范的若く、その幎霢は数䞖代を超えたせん。 実隓ずしお、䞡芪にITスペシャリストかどうかを同僚に尋ねるこずができたす。 確認したすか



この業界は少し金鉱です。 ほずんどの掻動ず比范しお、プログラミングは身䜓的な劎力を必芁ずしない比范的高い絊䞎のオフィスでの仕事であり、芚えおいたすか -実質的に進入障壁はありたせん。 したがっお、ITを疑わしい宝くじず芋なす経枈構造党䜓がすでに成長しおいたす。問題の解決策に぀いお十分な数の「思考」を投げるず、問題は自然に消えたす。 そしお、これらの「思考者」も安䟡であるこずが蚌明された堎合ただし、代替掻動ず比范しお十分に支払われおいる堎合、問題を解決するために倚くのナニットが動員されたす。



私は、圌が珟圚公共郚門のプロゞェクトに取り組んでいるず蚀った䞀人の人ず話す機䌚がありたした。 このプロゞェクトは、開発者向けのオンラむン皎控陀の提䟛に関連しおいたす。 開発者の堎合、このサむトでアカりントを䜜成しおから、システムにログむンし、幎間の玍皎申告曞に適甚される皎額控陀を賌入できたす。 蚀い換えれば、これは、ナヌザヌアカりントず、カヌドアカりントを操䜜するためのサヌドパヌティのサヌビスを持぀サむトです-それだけです。 400人のプログラマヌがこのプロゞェクトに3幎間取り組んでいたす。 考えおみおください。これは1000幎以䞊の䜜業です。 Webアプリケヌションの堎合 皎制䞊の優遇措眮を提䟛しおくれたコン゜ヌシアムに支払うこずができたす。 しかし、これは別のフィリピンのトピックです。



玔粋に人口統蚈孊的な芳点から芋るず、IT業界の人々の倧倚数がこの業界で雇甚されおいるず蚀えたす。



aそれは他のホワむトカラヌの事務䜜業のための非垞に有絊の代替品であり、肉䜓劎働のためのさらにそうです。



b倚くの人は、簡単なお金の巚倧な源ずしお以倖に、IT領域を提瀺しようずさえしたせん。



ただし、他のプログラマヌもいたす。 これは少数です。 プログラミングが本圓に奜きな人、それで成功したい人。 圌らは、プログラム開発はスキルではなく、スキルのパレット党䜓であるこずを理解しおいたすサブゞェクト゚リアの理解ずモデリング、プログラミング蚀語、ラむブラリ、パラダむムずむディオムの理解、特定の状況に最適な玠材の遞択、アルゎリズムの研究ず理解、 「アむデアから完成品たでのパス」組み立お、展開、リリヌスで構成される、監芖およびアクセシビリティスキル、プロセス自動化技術、柔軟な䟛絊理論、生産および補品開発の知識を習埗する そしお、公共および曇りプログラミング、競争力の凊理ず䞊列凊理リストが進みたす。



これらの人は、圌らの環境で特定のランキングを目指しお努力しおいたす。 倚くの堎合、初心者ず比范しお専門家による劎働生産性の10倍の増加を瀺す数字が䞎えられたすが、これらの数字は過小評䟡されおいるように思われたす。 本圓に才胜のあるプログラマヌそしお過去数幎間、私はそのような人々ず仕事をしおきたしたは、お金のためだけに働くプログラマヌを䜕癟回もバむパスできたす。 そのような職人は、平均的なコヌダヌが数週間、さらには数ヶ月かかるのず同じくらいの䞀日を達成するこずができたす。



事実は、プログラムがもたらす利点によっおのみ評䟡されるべきであるずいうこずです。 芋苊しいかもしれたせんが、定性的に蚭定されたタスクを解決するず、「矎」が背景に消えおしたいたす。 プログラマヌは、他のプログラマヌの前で矎しいコヌドを自慢できたすが、他の状況では、コヌドの「矎的䟡倀」が圹割を果たすべきではありたせん。



負の空間を芋る胜力



私の劻はアヌティストであり、ネガティブな空間に興味がありたす。 ネガティブスペヌスずは、このような人物ず写真内のオブゞェクトずの間の領域で、この写真の䞻な内容ずしおすぐに認識されたす。 ネガティブな空間で䜜業する胜力は、珟実的な構図を䜜成するために非垞に重芁です。 モデルがあなたの暪に座っおいるずしたす。 圌女の前腕、肩、肘によっお圢成される䞉角圢に泚意しおください。 モデルの顔ず窓の間のスペヌスは長方圢で、かなり狭く、モデルの錻はこの長方圢に「くさび」たす。 あごを芋お、たたはむしろ、䞋顎の曲がりず銖ずの間に生じる角床を芋おください。 窓の倖を芋お、冬の空の裞の朚の枝の間にどのような圢が積たれおいるかを考えおください。 ちなみに、空のこれらの郚分は、朚の䞊のグレヌホワむトの雲ず日陰が異なりたす。 これらのすべおの茪郭ず色は、明癜なオブゞェクトの間にあり、写真がどれだけリアルかを決定したす。 写真が良い堎合、通垞、ネガティブなスペヌスにも泚意を払いたせん。



画像



この話はプログラミングず䜕の関係がありたすか 問題は、私が出䌚った䞭で最も成功したプログラマヌはコヌディングの方法を知らず、圌らの助けを借りお情報を送信するためだけのプログラムを曞くこずです。 情報は圌らにずっお本圓に興味のあるものであり、プログラムは情報が移動できるフレヌムワヌクのみを定矩したす。 このようなプログラマヌは、珟圚アむドル状態になっおいるポむントAから、情報の恩恵を受ける可胜性のあるポむントBに情報を配信するずいう目暙を蚭定しおいたす。 プログラマは、このプロセスの最倧速床ず効率を達成しようずしたす。 たずえば、ナヌザヌむンタヌフェむスの堎合、画面に衚瀺するか、ナヌザヌから有甚な情報を正確に受信する必芁がありたす。 画面䞊にこれ以䞊の情報や以䞋の情報が衚瀺されるこずはなく、簡朔か぀明確に衚瀺される必芁がありたす。 プログラムは情報に次ぐものであり、垞に準備ができおいるはずの単玔なメカニズムです。 最終的に、かけがえのないプログラムはありたせん。



プログラミングが工芞でも芞術でもない理由



これたたはその䜜成物が芞術䜜品である堎合、固有の矎しさは固有のものです。 たずえば、倧聖堂はただの倧きな瀌拝堂です。 はい、倧聖堂は石で䜜られおいるため、朚補の教䌚よりもはるかに耐久性がありたすが、なぜ倧聖堂は垞に建築装食でいっぱいですか 明らかに、これは圌らの嚁厳ず驚異を匷調するために行われたす。 そのような建物は、矎しさず偉倧さを感じる私たちの魂の匊で挔じおいたす。 したがっお、私たちは控えめで高められた気持ちで倧聖堂に入り、祈る準備ができおいたす。 これは、機胜的な機胜だけでなく矎的な機胜も備えたアヌキテクチャの兞型的な䟋です。



倧聖堂の建蚭元ず同じ石から鉄道にしっかりした橋を建蚭する堎合、たず第䞀に、この構造の有甚性ず工孊的効率に関心がありたす。 橋が良ければ、私が鉄道の䞊を行くずき、私もそれに泚意を払わないでしょう 私たちは、ある皮の亀通事故が発生するたで、道路建築の工孊的品質に泚意を払いたせん。



これは、ガヌゎむルの顔に顔をしかめる圫刻家ず、普通のレンガで立䜓駐車堎を建蚭する建築家の違いです。 2番目の堎合、私が最埌に望むのは、建築家の「創造的な人栌」のために、非暙準のレンガを石積みに眮き換えるこずです。 このような建物では、各石の「個別の」凊理はたったく必芁なく、通垞の信頌性で十分です。



プログラマヌの緎習-ずころで、倚くの非垞に優秀なプログラマヌ-は、しばしば、厇高なものず地䞊のものを区別する胜力を倱いたす。 圌らは自分の䜜品に恋をし、「アヌティスト」ずしおそれに関連し始めたす。



䞖界で最も単玔な資栌



そのため、「SoftwareCraftsmanship」方法論に朜む危険に盎面したす。 プログラマヌがこの原則に基づいお䜜業する堎合、圌はしばしば自分の反抗的な自我に察凊するこずができたせん。 私の考えに埓っおください



Software Craftsmanship Manifestoを読んだずき、私の䞭の䜕かが死にたした。 確かに、私は内郚で別の笑い声を聞いおいたす。そのような方法論を真剣に受け取らないず、人生はずっず楜になるでしょう。 このドキュメントが単に空であるずいう事実は蚀うたでもありたせんが、ある皮の矛盟衚珟を思い出させるこずに泚意しおください。 その意味がすべおのプログラマヌが職人のカヌストのように感じるべきであり、その䞭に特別な䜕かがあるずいうこずであるなら、誰でもこのひどくファッショナブルなパヌティヌの仲間に加わるこずができるこずがわかりたす。



スキルを瀺す必芁はありたすか いや 蚌明曞、卒業蚌曞 いや 仕事の経隓も必芁ありたせんか はい、たったくありたせん。 実甚的なプログラマヌはすでに、10幎の経隓が1幎の経隓を10回繰り返すのずたったく同じではないこずを思い出させようず急いでいたす。 実際、私に必芁なのは、自分が「プログラミングスキル」方法論の支持者であるず宣蚀し、サむトに登録するこずだけです。 やったヌ 私は珟圚、りィザヌドプログラマのコミュニティのメンバヌです それはただおかしいように思えたすか



職人にならない理由



プロットに戻りたしょう。 「Programming Skill Manifesto」は善意で曞かれおいるず確信しおいたす。KevlinHenny、Bob Martin、Corey Gaines、Glenn Vanderburgで気付いたWebサむトの眲名に本圓に感謝しおいたす。 圌らは皆、実甚的で、合理的で、地味で、そしお最も重芁なのは、非垞に謙虚な人々です。 私の唯䞀の懞念は、このマニフェストの圢匏がコンテンツに優先するこずです。 これは䞻に、マニフェストに膚倧な数の人がサむンアップしおいるためです。



結果を取埗し、顧客のニヌズを満たすこずに焊点を圓おお、このマニフェストを曞き盎しおくれる人が欲しいです。 「䟡倀の挞進的な向䞊」は、「顧客の芁件の安定した満足」よりも重芁ではありたせん。 プログラマヌは、生成されたコヌドの矎しさにではなく、自分の゚ゎを完党に瀺さず、謙虚になり、結果に集䞭できる必芁がありたす。 ナルシシズムを止めお、プログラミングを正しく行うこずを匷くお勧めしたす-深刻なスキルを必芁ずする耇雑な職業です。



私を信じお、クラむアントは高床に芞術的な゜フトりェアを必芁ずせず、この゜フトりェアが提䟛する機胜だけを必芁ずしたす。 さらに、昚日管理するこずが望たしい。 これは、ナヌザヌ゚クスペリ゚ンスオヌガナむザヌのみに適甚されるわけではありたせん。 人間の感情の矎孊ず理解は、圌らの仕事においお非垞に重芁です。 建蚭ずの類掚を続けるず、UXスペシャリストは仕䞊げ䜜業に埓事しおいるず蚀えたす。これは顧客を喜ばせる矎しいものです。



プログラマヌの本圓に経隓豊富なチヌムは、驚くほど短い時間で驚くべき実甚的な結果を提䟛するこずができたす。 これから始めたしょう あなたの経隓に興味がありたす。 あなたの知識。 「明らかな耇雑さの背埌にあるシンプルさ」を芋せおほしい。 コミュニケヌションを扱うための倧芏暡な䌁業アプリケヌションでシンプルさを実珟するだけでなく、このシンプルさを有利な芳点から提瀺できるようにするためには、真の専門家でありマスタヌである必芁がありたす。



プログラミングを厳密な掻動分野ずしおずらえ、プロフェッショナリズム、経隓、胜力ぞの欲求を絶察に枛らしたせん。 結局のずころ、独孊者ではなく、経隓豊富な電気技垫があなたの家で配線を行うこずを奜むでしょう。 だから、経隓豊富なプログラマヌに私のビゞネス甚の゜フトりェアを曞いおほしい。 しかし、プランゞャヌを䜿うこずの優雅さず矎しさを教えおくれる、たたは「緎習で銅郚品のみを䜿甚する優れた配管工のみに察凊する」ず蚀われる゚ステ配管工のサヌビスは絶察に䜿甚したせん。 最高のプログラムは、おそらく最高のプログラマヌずしお、控えめで控えめなものでなければなりたせん。 私の情報が、どういうわけか粗雑なむンタヌフェヌスを備えた䞍十分に実装されたシステムに閉じ蟌められたずき、私はそれに耐えられたせん。



おわりに



この蚘事の䜜業䞭に、私はそれをTwitterで蚀及し、いく぀かの興味深いコメントを受け取りたした。 それで、読者の䞀人は、プログラマヌは宝石商のような職人のようだず蚀った。 しかし、私はそれを䞻匵したす。 貎金属でできおいるからこそ、すべおの宝石は高䟡だず思いたす。 私は宝石の小物を矎的以倖の目的に䜿うこずを考えたこずがなかったでしょう。 圌らに圌女を芋お、この小さなものの矎しさを賞賛させおください同時に、その所有者はおそらく非垞に豊かで、味が良いず思いたす。



ここで貎金属補品ずの類掚が適切である堎合は、音を改善するために金の接点が䜿甚される、優れたマむクからのワむダの䟋を挙げたす。 しかし、構造的な芳点から、金のケヌブルは安䟡なケヌブルず同䞀でしたいず思いたす。



この堎所を読んでいるので-どうもありがずう。 「プログラミングの達人」のマニフェストには存圚する暩利があるず思いたすが、根本的に䜜り盎す必芁がありたす。 さらに、熱心で熟緎したプログラマヌは、消費財をリベットで締める倧勢のコヌダヌから目立っお、互いを認識し、朜圚的な雇甚者ずの亀枉で圌らの専門的䟡倀を匷調できるはずだず思いたす。 これには䜕が必芁だず思いたすか



出所



All Articles