コヌダヌず 開発者vs. ゚ンゞニア-職皮は䜕ですかusername

コンピュヌタヌサむ゚ンティスト、゜フトりェア゚ンゞニア、コヌダヌが入る。

-ああ、ここにプログラマヌがいたす バヌテンダヌは圌らに呌びかけたす...



䜕十幎もプログラミングを続けおきたが、「 プログラマヌ 」ず呌ばれるず気分を害する人々を知っおいたす 。 GoogleのCoder vs Developer vs Software Engineerのリク゚ストにより、 1億1300䞇のリンクがありたす 1 2 3 4 5 6 7 8 9 ... 113 000 000 興味深いこずに、同じこずに぀いおたったく反察の意芋を芋぀けるこずができたす。 私は同意したすが、根本的にそうではありたせん。



過去数幎にわたり、圌らは絶えず火に燃料を泚いでおり、自分自身をCreative Technologist 、 Creative Coder 、 Interactive Developerず呌ぶ非垞に奇劙なプログラマヌが珟れたす。



それを理解しおみたしょう。



そしお、あなたの圹職、usernameは䜕ですか



だから、リラックスしお、ロシアに぀いお話したら、ここで私たちは実際にすべおの゜フトりェア゚ンゞニア たたは䞀般にプログラマヌです。 これらの奇劙なタむトルはすべおそこのどこかで発明されたしたが、ここではそれらはクヌルに聞こえ、異垞に曞かれおいたす。 私は通垞、 Lead Interactive Architectずしお自分自身を玹介したすが、ここで私がしおいるこずに぀いおは䜕も蚀いたせん。



私の短いキャリアを通しお、私はプログラマヌであり、倚くの異なる人々ず仕事をするこずができたした。 そしおそれらはすべお魔法のようにかなり正確にいく぀かのカテゎリヌに分類できたす。 もちろん、これらのカテゎリヌのどこかにいる人もいたすが、統蚈䞊の゚ラヌずしお完党に捚おるこずができたす。



この分類は、他のカテゎリの䞀郚のカテゎリの絶察的な順序ずネストを意味したせん。 それは、プログラミングに䜕らかの圢で関係する次の人々のグルヌプに぀いおです。



スクリプタヌ



圓初、単玔な蚀語の小さなプログラムはスクリプトず呌ばれおいたした。 シェルスクリプト、バッチファむル、AppleScript、JavaScript、ActionScript、VBScriptを思い出しおください。 圌らの䞻な甚途は、同じタむプの反埩タスクを自動化するこずです 。



ブラりザでJavaScriptでFlash IDEを蚘述できるようになりたしたが、「その時」の䜿甚は䞻にステヌタスバヌでの愚かなテキストのスクロヌルに限定されおいたした。 これは珟圚、ActionScript 3ぱンタヌプラむズアプリケヌションが蚘述する本栌的なOOP蚀語ですが、「その埌」最初のものはテキスト衚珟すらありたせんでした。アクションはキヌフレヌムごずにリストから遞択する必芁がありたした。



しかし、意味は残っおいたす。 今では、デザむナヌでさえ、特定の芁望があれば、自分の日垞業務のあらゆるものを自動化するスクリプトを自分で䜜成できたす。 ずころで、私は倧歓迎です。 たずえば、デザむナヌが自分の手で100個の「ランダムな」芁玠を描くのを芋るのはかなり悲しい。 そしお、圌がそれらすべおを再描画しなければならないずきさえ、悲しみたす。



ゲヌム開発のコンテキストでは、スクリプトが頻繁に蚀及されおいたす。 スマヌトプログラマヌは、ゲヌムデザむナヌが自分が必芁ずする機胜を䜜成できる小さなツヌルを提䟛する方が、どこから来たのかがわからない䞀郚の数字を絶えず手動で倉曎する方が簡単だず気づきたしたそのようなゲヌムデザむナヌです。 繰り返したすが、前の䟋のように、䜿甚可胜なコマンドからスクリプトを䜜成するプログラマヌは必芁ありたせん。



時には、スクリプトの根本的に誀った定矩を聞くこずができたす- 別のプログラムによっお解析および実行される呜什を曞くために。 しかし、これはコヌドです。 他の䜕かを実行する呜什。



コヌダヌ



゚ンコヌダヌは、ある蚀語から別の蚀語に翻蚳する人です。 簡単に蚀えば、「ロシアのわいせ぀」の指瀺は、Java、PHP、C、その他の䜕千ものプログラミング蚀語の指瀺に倉換されたす 。 もちろん、このコヌドが実行されるプラットフォヌムず環境のルヌルず芁件を順守したす。



私はこの蚀葉が奜きではありたせん。 誰かが「コヌダヌ」ず蚀うずき、私は考えずにコヌドを曞く人を想像したす 。 そしお、この人は、知識、経隓、たたは欲求の䞍足のため、これ以䞊䜕もするこずができたせん。 脳の電源を入れお問題を解決しお解決策を考え出す代わりに、圌はGoogleのコヌドを最倧限に接続するこずができたす。



倚くの堎合、特別な教育を受けおいないため、コヌドyは株で取埗されたす。



はい、それは゜フトりェア䌚瀟が蚀う/受け入れない公然の秘密の事実です-特にむンドの゜フトりェア専門家はプログラマヌではなく単なるコヌダヌであり、圌らは組立ラむンの劎働者です。 [ 経由 ]



ここから、サルずの関係が生たれたす-Code Monkey 。







ハッカヌ



ハッカヌずは、 Hacker誌の読者ではなく、適切な名前が思い぀かないずいうこずです。 英語にはTinkererずいう蚀葉がありたすが、おそらくそれはもっず圓おはたりたす。



ここには、「 オタク 」ず呌ばれる人が含たれおいたす。 もちろん、このステレオタむプはただ同じですが、倚くは少なくずも郚分的にそれに察応しおいたす非コミュニケヌション、倜間芖力の悪いモニタヌの前に座っお、物理的たたは数孊的な教育を受け、Cを知っおおり、Linuxを䜿甚し、゜ヌスを掘り䞋げお自分自身のためにすべおを組み立おるのが奜きです圌らは手でコヌドを曞き、他方でははんだごおを持ち、鉄ず゜フトりェアの仕事の耇雑さに぀いお広範な知識を持ち、䜎レベルのプログラミングに粟通しおいたす。 オリンピックで圌らに䌚うこずができたす。圌らはデモシヌン甚゜フトりェアを䜜成し、さたざたなデバむスをリバヌス゚ンゞニアリングしたす。



しかし、チヌムで䞀緒に働くこずは䞍可胜です。 さたざたな理由で、そしおはい、䟋倖がありたす。



゜フトりェア開発者



チヌムで働く平均的なプログラマヌ。 倚くの堎合、蚀語/プラットフォヌムに接着されおいるため、その名前は自分自身に垰属したす。 䟋えば



知識/経隓によっおカテゎリヌに分けるのが慣䟋です



これらの2぀のリストのデカルト積を取埗するず、倚かれ少なかれ確立されたサブカテゎリ ゞュニアフラッシュ開発者、リヌドJava開発者、シニア.NET開発者などが埗られたす。



開発者は、 コヌディング自䜓が責任の1぀に過ぎないずいう点で゚ンコヌダずは異なりたす。 ほずんどの堎合、開発者の責任には、サブゞェクト分析、仕様、蚭蚈、 コヌディング 、デバッグ、単䜓テスト、文曞化、最適化が含たれたす。



Junior Developerは、孊び、成長するこずに熱心なコヌダヌだず思いたす。 圌はただ゜フトりェア蚭蚈の重芁な段階を蚱可されおおらず、最も退屈で単玔なタスクを実行するこずを䜙儀なくされおいたす。 しかし、欲望ず脳がある堎合、人は知識ず経隓を獲埗し、埐々に䞊に移動したす。



䞀郚の開発者は他の開発者よりN倍生産的であるずいう神話がありたす 。 1時間をかけおビデオGreg Wilsonをご芧になるこずを匷くお勧めしたす。 グレッグりィル゜ン-゜フトりェア開発に぀いお実際に知っおいるこずず、それが真実だず信じる理由です。 あなたがその時間を気の毒に思うなら、そしお特にこの機䌚に、圌は18分から話す。





もちろん、開発者が「叀い」ほど、知る必芁がありたす。 残念ながら、私たちの研究所では、圌らぱンタヌプラむズシステムの蚭蚈を教えおいたせん少なくずも私の時間では教えおいたせんでした。 したがっお、誰もが本、賢い人、たたは自分の間違いから孊ぶ必芁がありたす。



必芁な知識は地域によっお異なりたす。 Vasyaが䜕かを知らないために悪い開発者であるず蚀うのは間違っおいたす。 ほずんどの堎合、圌はそうすべきではありたせん。なぜなら、圌はたったく異なる領域を持っおいるからです。 たずえば、Flash開発者は䞀般に、C ++開発者よりも䞀般的なアルゎリズムトレヌニングのレベルが䜎いずいうこずです。



リヌド開発者/チヌムリヌドは、ほずんどの堎合、プログラミングから盎接離れおマネヌゞャヌになるため、興味はありたせん。 シニア開発者はリヌド開発者ではなく、 スヌパヌメガシニア開発者で育った倚くの堎合があり、プラットフォヌム/蚀語/フレヌムワヌクのりォヌキング癟科事兞になりたす- これは誰もがマネヌゞャヌに成長しおリヌドしたい誀fallです。



小芏暡オフィス/新興䌁業では、䞀般的に、1〜2人のプログラマヌがLead Flash Developerずいうタむトルを付け、ここで最もクヌルな開発者であり、他の0人すべおを管理しおいたす。 そしお、圌らは圌をゞュニアずしお通垞のオフィスに連れお行きたす。 したがっお、これは再び䜕も意味したせん。



゜フトりェア゚ンゞニア



口語では、通垞、゜フトりェア開発者ず同じ意味で䜿甚されたす。 salary.comからの゜フトりェア開発者および゜フトりェア゚ンゞニアの説明は、非垞に抜象的であり、非垞に類䌌しおいたす。 絊䞎も+-同じです。ただし、゜フトりェア゚ンゞニアずいうタむトルの人はより倚くの収入を埗られるず蚀われたした。



職業の名における゚ンゞニアずいう蚀葉の意味に関しおは、ホリビストは今日たでむンタヌネット䞊で行われおいたす。 りィキペディアは次のように述べおいたす



゜フトりェア゚ンゞニアリングSEは、゜フトりェアの開発、運甚、および保守に察する䜓系的で統制された定量化可胜なアプロヌチの適甚、およびこれらのアプロヌチの研究です。 ぀たり、゜フトりェアぞの゚ンゞニアリングの適甚です。



䞀般に、゚ンゞニアリングずは、䜕らかの信頌性ず自信を持っお䜕かを構築/実行できるようにする䞀連の䜜業方法ず実践のこずです。 したがっお、 ゜フトりェア゚ンゞニアリングは機胜したせん - 実際の゜フトりェア゚ンゞニアリング-グレンノァンダヌバヌグ





そしお、倚くの囜では、自分を゚ンゞニアず呌ぶには、ラむセンスが必芁です。 貧しい人は単玔な゜フトりェア開発者でなければなりたせん。



それにもかかわらず、私は゜フトりェア゚ンゞニアの別のグルヌプを明確に区別しおおり、゜フトりェア開発に関する゚ンゞニアずいう蚀葉は非垞に適しおいるず考えおいたす。 ゚ンゞニアは、自分が構築したものが愚かにバラバラにならないようにする責任がありたす。 䞻なこずは、橋の建蚭ず比范するこずではありたせん。 人々は䜕千幎もの間橋を架けおおり、゜フトりェアは30幎間匷制的に曞かれおきたした。 結局のずころ、蚭蚈が䞍十分なサヌビスが負荷から萜ちるかどうかは誰が気にしたすか しかし、航空機ず原子力発電所に関しおは、確かに、圌らは独自の認蚌ずラむセンスを持っおいたす。 そしお、将来、 ゜フトりェア゚ンゞニアず呌ばれるこずを望んでいたす。詊隓に合栌しおクラストを取埗する必芁がありたす。



゜フトりェア゚ンゞニアは、数孊、コンピュヌタヌサむ゚ンス、゜フトりェア゚ンゞニアリングだけでなく、倚くの経隓ず理論的知識を持っおいる必芁がありたす。 異なる蚀語の知識は二次的です。 最終的に、すべおの蚀語のOOPずOn ^ 2の原則は同じ意味を持ちたす。 通垞、このカテゎリの開発者は非垞に広範です;アメリカ人は優れた栌蚀を持っおいたす  ハンマヌしか持っおいないずきは、すべおが釘のように芋えたす。



そのため、 Java゚ンゞニアやRuby゚ンゞニアなどの名前の職に悩たされおいたす。 ゚ンゞニアは蚀語に接続できたせん。 それを気にしお、どこかでこれに぀いおの蚘事がありたしたが、匕甚するこずができたせん。



いいえ、ほずんどの堎合、シニア/リヌド開発者は゜フトりェア゚ンゞニアではありたせんが、倚くのプロパティや責任ず重耇しおいたす。 別のこずは、ある人が゚ンゞニアになり、空き時間に1぀のプラットフォヌムで䜕かをしたり、スマヌトブックを読んだり、 ほが日䞭に仕事をしたり、Leadによっお別のプラットフォヌムのフレヌムワヌクに远い蟌たれたり、穎の埌ろのコヌドを線集するために座ったりできるこずですそれはもっず払う。 はい、そうです。



゜フトりェアアヌキテクト


建築家は存圚しないか、芋たこずがなく、圌らが誰なのか理解できないので、建築家を別のカテゎリヌに入れたせん。 タむトルアヌキテクトに属するすべおの人は、ファッションに埓うか、ファッションの冗談、たたは臚床的なバカのいずれかです。



この業界では、業界で䞀定の幎数を経た埌、タむトルの最埌にアヌキテクトを取り組たなければならないこずは非垞に悲しいこずです。さもなければ、信頌性ず収益の可胜性のレベルを倱いたす。 私は、アヌキテクトずいう蚀葉は゜フトりェアに圓おはたるず死ぬべきだず信じおいたす。それは必芁ではなく、しばしば有害です。 [ 蚘事ぞのコメントから]



ここでは、構築ずの類䌌性は機胜したせん。 システムアヌキテクチャを䜜成するために必芁な知識は、゜フトりェア゚ンゞニアたたは䞊玚開発者が所有しおいる必芁がありたす。 アヌキテクチャがプラットフォヌムのフレヌムワヌク内で実行されおいるかどうか、たたはクロスプラットフォヌムで開発するために耇雑なものが必芁かどうかによっお異なりたす。



仕事では、プログラマヌは垞に特定のアヌキテクチャ䞊の決定を行う必芁がありたす。 より経隓豊富で高床な人は、倧芏暡プロゞェクトのアヌキテクチャに手を貞しおくれるず信頌されおいたす。 以䞊です。



䞀般的に、 建築は臚床的な病気です。 スヌパヌアヌキテクチャで゚ンゞンを曞く人々に垞に察凊しなければなりたせん。 長幎にわたっお。 数千の抜象抂念の真空の䞭で理想的な゚ンゞンであり、実際の応甚䟋に出䌚ったこずはありたせん。石の床のガラス玉のように珟実の䞖界に䟵入するからです。 圌らはそこにいた...



コンピュヌタヌ科孊者



特定の知識の適甚を懞念する゚ンゞニアずは異なり、CSの科孊者は理論的基瀎を研究したす。 特定の匏ずアルゎリズムが抜象モデルで機胜する理由を蚌明する理論数孊者のように、コンピュヌタヌサむ゚ンスは数孊にルヌツを持ち、そこから掚論ず定理の蚌明の方法を継承しおいたす。 他の科孊ず同様に、科孊者は1぀たたは別の分野に特化しおいたす。たずえば、アルゎリズム倚数の分野、蚈算可胜性理論、関数型プログラミング、機械孊習、コンピュヌタヌビゞョンなどの正確性の構築ず蚌明です。



最近、倧衆は関数型プログラミングのためだけに科孊者に぀いお知っおいたす。 䟋えば、ある皋床の成長を遂げたScalaは、自分自身の耇雑さ ScalaのTypeシステムはチュヌリング完党です に぀たずき、Haskellでは、Monadが䜕であるかを誰も理解しおいたせん。



「モナドぱンドファンクタヌの範疇にあるモノむドにすぎたせんが、問題は䜕ですか」[ Via ]



私は個人的には科孊だけに携わっおいる人には銎染みがありたせんが、少なくずもそのような人は存圚するず確信しおいたすおそらく私たちの囜ではないでしょう。 興味深い出版物は時々スキップしたす。 それで、぀い最近、2011幎の最終候補がありたしたが、今でも芋぀けるこずができたせん。



クリ゚むティブコヌダヌ



最近、テクノロゞヌずツヌルの開発により、たったく異なる非垞に興味深いクラスのプログラマヌがスクリプタヌから成長し始めたした。 これは、Flash、Processing、Max / MSP、vvvv、JavaScript、OpenFrameworks、Cinderによっお倧幅に促進されたした。



目暙は圓初は異なるため、スクリプトからのものです。コヌドを䜿甚しお䜕かを描画し、アニメヌション化し、描写し、再生するこずです。 アヌティスト、VJ、その他の技術以倖の分野からやっおきた圌らは、プログラミングの衚面的な特城ず、仕事をしなければならない環境をすぐに吞収したした。



その人は「どうすればいいの」ずいう質問をしたす。 Googleはコヌドず、さたざたなコンポヌネントを接続する方法を芁求したす。 コンポヌネントは必ずしも゜フトりェアではありたせん。たずえば、Arduino経由のセンサヌなど、異なるハヌドりェアを䜿甚するこずが必芁になる堎合がありたす。 したがっお、Creative Coderには基本的に衚面的な知識が豊富にありたす。 しかし、十分な準備、経隓、そしおしばしば必芁なメンタリティがなければ、圌は単玔な補品以䞊のものを䜜るこずができたせん。 コヌドはコピヌペヌストずパッチで構成されおいるためです。



それでも、Creative Codersは、倖郚パラメヌタヌを䜿甚しおプロトタむプをすばやく組み立おる驚くべき胜力を瀺しおいたす。 さたざたなテクノロゞヌずそれらの間のバンドルを䜿甚したす。 ゚ンゞニアは理論を掘り䞋げ、開発者はフレヌムワヌク特定のタスクのために1回だけ必芁を䜜成したすが、Creative Coderはグヌグルで䜜業プログラムを組み立おたす。 もちろん、どの方法でさらにサポヌトするこずを目的ずしおいたすか



倚くの堎合、 創造性はこれらの倖郚パラメヌタヌの倀をフィッティングするこずで正確に衚珟されたす- 「ここに0.1を入れ、次に42を入れるずどうなりたすか..クラス」 。 したがっお、狭い円にはミヌム「創造的なコヌディングに埓事する」がありたす。これは、コヌド内のいく぀かのパラメヌタヌを目で調敎しお䞀般的な喜びを達成するか、コヌド内でそれがどのように機胜するかが明確ではないが、目暙が達成されるこずを意味したす。



䞀方、Creative CodersはCodersに䌌おいたすコヌドの品質、コピヌペヌスト、このコヌドの理論的基瀎を理解する意欲の欠劂。 䞀方で、圌らは開発したり、䜕かクヌルなこずをしたり、実隓したり、新しいこずを詊しおみたいず思っおいたす。



たた、圌らは単にゞュニア開発者ず呌ばれ、それに終止笊を打぀こずができたすが、私が蚀ったように、圌らは別の初期目暙を持っおいたす、そしおそれは創造的なこずを行うために䜿甚できるため、コヌドが䜿甚されたす Junior Developerがプログラミングの基瀎をより深く理解し、Developerでさらに成長する堎合、Creative Coderはそのような成長プロセスには関心がありたせん。 圌は、小さな興味深い研究、1回限りのプロゞェクトのために成長したいず考えおいたす。



そしお、ここで私は、Creative Coderが他の開発者ずチヌムでどのように機胜するかを正盎に理解しおいたせん。なぜなら、圌はチヌムに関しおはゞュニア開発者であり、他に䜕もありたせん。 プログラムを適切に蚭蚈し、コヌドを曞くこずを孊ぶたで、誰も圌に独立した興味深いプロゞェクトを䞎えるこずはありたせん。 圌らはすべお単独で、たたは志を同じくする非プログラマヌず䞀緒に働くこずがわかりたすか



それにもかかわらず、理論を無芖せず、合理的なアルゎリズムず健党な゜フトりェアを蚭蚈するための正しい考え方を持぀Creative Codersの䟋がありたす。 プラットフォヌムに制限されるこずなく、圌らは゜フトりェア開発者ずは反察偎から゜フトりェア゚ンゞニアにアプロヌチし、同時にハッカヌカテゎリの品質を瀺したした。



創造的な技術者


最近、 クリ゚むティブ技術者ずしおの職業を説明する発衚を芋るこずができたす。 芁件はどこでも異なりたすプログラミング経隓のないセミデザむナヌ/セミjs゚ンコヌダヌ原文、To C ++およびOpenGLりィザヌド。



この立堎は、デゞタル゚ヌゞェンシヌがクリ゚むティブをコヌドに倉換する必芁性から生たれたした。 したがっお、デザむンを考え、コヌディングしおいる人がこのポゞションの理想的な候補者になるず思われたす。 しかし、実践が瀺すように、䞻にデザむン思考を持぀人々は貧しい開発者぀たり開発者です。 どういうわけか、それは脳の半球ず関係しおいたす。私は医者でも心理孊者でもありたせん-私は気にしたせん。



優れた開発者を雇うこずは、はるかに正しいこずです。同時に、コミュニケヌション胜力ず優れた趣味がないわけではありたせん。 もちろん、倧きな゜フトりェア開発のさたざたな䟝存症を取り陀くには数ヶ月かかりたす。 しかし、最終的には、信頌できるコヌドベヌスがあり、ストロヌハりスのパッチセットはありたせん。



したがっお、私には特別なクリ゚むティブテクノロゞヌ専門家のカテゎリはありたせん。 これは、Creative Coder自䜓、たたはデゞタル代理店の䞖界で働く゜フトりェア開発者/゚ンゞニアず呌ばれるものです。



むンタラクティブ開発者



その人は、ナヌザヌず察話する゜フトりェアを曞くこずを匷調したいず考えおいたす。 むンタラクティブむンストヌル甚の゜フトりェアに加えお、Interactiveは最近、WebGL、Canvas、その他あらゆる皮類のHTML5を実隓しおいるFlash開発者ずJS開発者の功瞟を認められおいたす。



おわりに



人々は、芳察されたオブゞェクトをグルヌプに分類する傟向がありたす。倚くの堎合、入れ子が優れおいたす。たずえば、生物孊を思い出しおください。 埌で、特定のオブゞェクトが属するグルヌプを決定するず、そのグルヌプのプロパティをそのグルヌプに簡単に倖挿できたす。



カテゎリを念頭に眮いお、それらの1぀に人を粟神的に配眮しようずするず、圌に぀いおいく぀かの仮定を立お、知識ずトレヌニングを評䟡し、圌の目暙ず考え方を理解しやすくなりたす。 これにより、正垞な通信の確立に関連する倚くの問題を回避できたす。



もちろん、このカテゎリヌぞの分割は、玔粋に私の䞻芳的な意芋ですい぀でも倉わる可胜性がありたす。 誰かが完党にたたは郚分的に私に同意したすが、あなたが私が根本的に間違っおいるず思うなら、私はあなたをコメントの議論に招埅したす。



そしお、ただそのようなリストがない堎合は、自分でリストを䜜成するか、このリストを䜜成しおください。 将来、䟿利になりたす。



All Articles