翻訳者からのメモ:
この投稿は、スイスのアプリケーション開発者Adrian KosmachevskyによってMediumに書かれ、公開されました。 彼の出版物の翻訳を準備することに加えて、私は著者自身エイドリアン( akosma )をHabrに招待しました。 一般的な便宜のため、彼とコミュニケーションをとるときは、コメントに英語を使用する必要があります(必要に応じてロシア語で複製する)。
みなさん、こんにちは。私は42歳の独学のプログラマで、これが私の話です。
数週間前、私は以下に添付された写真を含むツイートに出会い、自分のキャリアについて考えさせられました。
これらの考えは、それがすべての始まりに私を導いた。
1997年10月6日午前10時に、アルゼンチンのブエノスアイレス北部のオリボス市でソフトウェア開発者としてデビューしました。 月曜日でした。 少し前に、24歳の誕生日を祝いました。
1997年の世界
それから彼は少し違っていた。 ウェブサイトにクッキーの警告はありませんでした。 Excite.comサイトはWeb上で革新的であり、AltaVistaは私のお気に入りの検索エンジンでした。
私のメール受信ボックスはkosmacze@sc2a.unige.chで、http://sc2a.unige.ch/~kosmaczeにある私の個人的なWebサイトにありました。 それから私たちはまだプリンセスダイアナを嘆き、スティーブジョブズはCEOの役割に戻り、Microsoftに1億5,000万ドルをApple Computerに「投入」するよう説得しました。 Digital Equipment CorporationはDellを訴え、Che Guevaraの遺物はキューバに戻り、「Friends」の4番目(!)シーズンが始まった。 ジャンニ・ヴェルサーチが殺され、マザー・テレサ、ロイ・リヒテンシュタイン、ジャンヌ・カルマンが亡くなりました。 まるで麻薬中毒者であるかのように、プレイステーションでファイナルファンタジー7に出かけました。BBCはテレタビーを放送し始めました。
1997年のインターネットアーカイブからの引用当時のスマートフォンは、8 MBのメモリ、24 MHz i386プロセッサ、
GEOSオペレーティングシステムで動作する
Nokia 9000コミュニケーターでした。 当時のスマートウォッチはCASIO G-SHOCK DW-9100BJです。 はい、彼らは多くのアプリケーションを持っていませんでしたが、1回の充電でのバッテリー寿命ははるかに長くなります。
その後、IBM Deep Blueが初めてチェスでGarry Kasparovを破りました。
_eciとして知られるハッカーは、Windows 3.1、95、およびNT用の「WinNuke」と呼ばれるCコードを公開しました。 その助けを借りて、TCPポート139(NetBIOS)で攻撃が行われ、その後に「死のブルースクリーン」が表示されました。
ところで、
マララ・ユスフザイ 、
クロエ・グレース・モレッツ 、
カイリー・ジェンナーは今年生まれました。
たとえば、「ニューヨークからの脱出」、「プレデター2」、「ベンジャミンバトンの奇妙な事件」、「ハリーポッターと混血のプリンス」、「ゴッドファーザー3」など、多くの映画のアクションは1997年に行われました。 「ターミネーター2:審判の日」 テープによれば、スカイネットは1997年の8月29日の夜2時14分に自己認識を獲得し、熱核戦争を開始しました。 幸いなことに、これは起こりませんでした。 しかし、同年9月15日にGoogle.comが登録されました。 その後、メディアはヒステリーをミレニアム周辺でエスカレートし始め、多くの人々を緊張させました。 (
要するに、それは困難な年でした。約。 )
開発者としての最初の経験
私の最初の仕事は、Microsoft FrontPage、HoTMetaL Pro、EditPlusから始まるさまざまなエディターでASPページを作成し、Netscape NavigatorとInternet Explorer 4の間でブラウザー間の互換性を提供し、日本語で商用サイトのストアドプロシージャを作成することでした。ロシア語、スペイン語、英語のインターフェース。 すべてがUTF-8のサポートなしで、ソフトウェアスタックを介して直接行われました。
私の仕事の結果は、米国のどこかにあるPentium II上のサーバーによって処理されました。PentiumIIは、とりわけ2ギガバイトと256メガバイトのRAMを搭載した巨大なハードドライブを搭載していました。 Windows NT 4とSQL Server 6.5およびIIS 2.0のみを実行しているこのサーバーは、1日あたり約1万人の訪問者にサービスを提供しました。
私の最初のプロフェッショナルプログラミング言語は、VBScriptと呼ばれるミュータントであり、クライアント側のJavascriptです。 Javascriptを正しく使用する方法がわからなかったので、これは多くの「Netscapeの場合、それを行うと、他の何かが異なる」という風味が付けられました。
ちなみに、2016年には、Javascriptで何かを行う方法がほとんど理解されていません。
単体テストについて聞いたことがありません。 Agile Manifestoはまだ書かれていません。 継続的な統合は単なる夢であり、XMLはもう1つの流行語でした。 私たちのQA戦略は、サーバーをランダムにクラッシュさせるため、サーバーを週に1回再起動することでした。 サーバーにアップロードされたJPEGファイルを解析するために、Visual J ++で独自のCOM +コンポーネントを開発しました。 しかし、JPEG-2000でエンコードされたファイルが現れ始めるとすぐに、開発は悲惨なほど失敗しました。
バージョン管理システムは使用しませんでした。CVS、RCS、または神の禁じられているSourceSafeも使用しませんでした。 Subversionはまだ存在せず、
「Joel Test」スコアはマイナス25でした。
6776日
過去6776日間、私は毎朝コーヒーを飲み、VBScript、Javascript、Linux、SQL、HTML、Makefiles、Node.js、CSS、XML、.NET、YAML、Podfiles、JSON、Markdown、PHPなどを使用してコードを記述しました、Windows、Doxygen、C#、Visual Basic、Visual Basic.NET、Java、Socket.io、Ruby、Python、シェルスクリプト、C ++、Objective-C、および単体テスト、バッチファイル、最近使用されたSwift 。
過去6776日間に多くのことが起こりましたが、最も重要なことには、私は結婚しました。 私は6つの仕事を辞め、2回解雇され、自分のビジネスを始めて縮小し、修士号を取得しました。 私はいくつかのオープンソースプロジェクトを公開し、そのうちの1つはArs Technica自身のErica Sadunによる記事を執筆しました。 私はスイスとボリビアのテレビ番組に出演し、シアトルとサンフランシスコでビル・ゲイツとスティーブ・ジョブズのパフォーマンスを見、4大陸で会議に参加し、組織し、2冊の本を書いて出版しました。 それ
は2回燃え尽きました (
「私は2回燃え尽きました」 )
。そして、他にも多くのことが起こりました。
プログラミングをやめることをよく考えますが、しばらくすると「コードの呼び出し」を感じ始めます。 アプリケーション、システム、ソフトウェアを書くのが好きです。 プロの燃え尽きを避けるために、私は自分の戦略を立てなければなりませんでした。 この投稿では、あなたも40歳という輝かしい年齢に達し、経験豊富な開発者として仕事を続けられるように、秘密を共有します。
心の若い人のためのヒント
以下に、40歳のときに幸せなソフトウェア開発者であり続けるための簡単なヒントを示します。
誇大広告に反応しない
私ができる最初のアドバイスは、誇大広告を無視することです。 毎年、新しいプログラミング言語、フレームワーク、ライブラリ、パターン、アーキテクチャのコンポーネント、またはパラダイムが出現し、嵐のように情報圏を一掃します。 人々は文字通り夢中になり始めています。 会議が開催され、本が執筆され、誇大宣伝が盛り上がり、沈静化しています。 コンサルタントは、この分野に新しい人々を惹きつけ、彼らにレーマーの基本を教えるために、たくさんのお金を引き裂きます。 報道機関はこれらすべての恐怖を取り上げ、これをすべて無視すると罪悪感を感じさせます。
そして今、約「誇大宣伝」は何でしたか:
- 1997年には、これらはCORBAとRUPでした。
- 2000年には、これらはSOAPとXMLでした。
- 2003年には、モデル駆動型アーキテクチャとソフトウェアファクトリーでした。
- 2006年には、セマンティックWebとOLPCでした。
- 2009年、それは拡張現実でした。
- 2012年にはビッグデータでした。
- 2015年に...バーチャルリアリティ? ボット? (言語を使いますか?)
誇大広告に屈しないで、気にしないでください。 働き続け、学んだことを学び続け、先へ進みます。 あなたがそのようなものに心から興味を持っている場合にのみ、中長期的にあなたに利益をもたらすことができると感じた場合にのみ、新しいものに注意を払ってください。
その理由は、ローマ人が言ったように、
Nil novi sub luna (「月の下に新しいものはない」)ということです。 あなたが見たり学んだことの大部分は、ある程度までは既に数十年にわたってコンピューターサイエンスに存在しており、その本質は、マーケティング、書籍、ブログ投稿、stackoverflowに関する質問の山の下に隠されています。 それぞれの新しいアーキテクチャは、何十年もの間空中にあった初期のアイデアを現代の現実に再考し、適応させたものです。
ギャラクシーを賢く選ぶ
私たちの業界では、すべてのテクノロジーが私がギャラクシーと呼ぶものを生み出しています。 彼らには「星」だけでなく、「ブラックホール」、夜に消える「流星群」、そして多くの惑星があり、それらのほんの一部は少なくとも一部の生命が住んでいます。 さて、大量の宇宙塵と暗黒物質。
銀河の例には、.NET、Cocoa、Node.js、PHP、Emacs、SAPなどが含まれます。 それぞれに独自のエバンジェリスト、開発者、ブロガー、ポッドキャスト、書籍、トレーニングコース、アドバイザリーサービスおよびサイト、およびそれらへの参加に関する問題があります。 銀河は、THEIRテクノロジーがすべての質問に対する答えであるという事実に基づいています
(約42番の考えをキャストします) 。 したがって、各銀河には基本的にエラーが含まれています。
さまざまな銀河の開発者は独自の立場にあり、それがテクノロジーに生命を与えました。 彼らは自分の考えを固守し、Tシャツを着て伝道に従事し、選択したことの利点を他の人に伝えます。
実際、私は「銀河」という用語を使用して、より人気があるだけでなく、物議をかもしている「宗教」という用語も避けていますが、これはすべてをよりよく説明できます。
私の場合、私はMicrosoft銀河で10年間過ごし、次の9年間はApple銀河で過ごしました。 私にとって「キャンプの変更」の主な理由はスティーブ・バルマーだったと言って敢えてします。 私は、銀河系Microsoftのオープンソースソフトウェアに対する人々の否定的な態度にうんざりしています。
一方、Apple Galaxyは、偶然または意図的に、私と同じ方法でソフトウェアを作成するアーティスト、ミュージシャン、作家でいっぱいの素晴らしい場所だと思います。
銀河マイクロソフトでの会議に参加しました。たとえば、バルセロナで開催されたTechEd 2003や、ブエノスアイレス、ジュネーブ、ロンドンで開催されたさまざまなTech-talkです。 2006年にジュネーブで開催されたMicrosoft DevDaysでも講演しました。 Microsoft銀河に対する開発者の一般的な態度は、友好的とは言えません。その理由は、秘密、NDA、および巨大なITプロセスです。
Apple Galaxyは、私にとっては、2006年に逆に、まったく異なっていました。 彼女はミュージシャン、アーティスト、芸能人などの創造的な人々でいっぱいでした。 彼らは情熱を持ってソフトウェアを書きました。 これは顕著な違いであり、私たちの多くはまだ私たちを結びつけたこの「銀河」にとどまりました。
さて、それから最初のiPhoneが出ました、そしてあなたは他のすべてを知っています。賢明に選択することをお勧めします。そうすれば、後で好きなだけ選択を楽しむことができます。 しかし、必要に応じて、常に「望遠鏡」を持ち、隣の銀河にハイパージャンプする必要があります。
ソフトウェアの歴史について話す
上記は、私たちの会話の次のポイントである、あなたの好きなテクノロジーがどのように生まれたかについての会話に私を導きます。 お気に入りのC#はどのように生まれましたか? 誰が作成したか知っていますか? .NETはどのように作成されましたか? 彼の主任建築家は誰でしたか? このプロジェクトにはどのような制限があり、言語が現在のようになったのはなぜですか?
このテンプレートを、好きな言語やCPUアーキテクチャ(Python、Ruby、Java、およびプログラミング言語)に適用します。 彼らの起源と、彼らが今の自分になった経緯を調べてください。 同じことは、オペレーティングシステム、ネットワーク、ハードウェアなどにも当てはまります。 行って、人々がこれをどのように思いついたのか、どのアイデアがどのような指針によって導かれたのか、そして彼らの頭脳が成熟するまでにどれだけの時間がかかったのかを調べてください。 優れたソフトウェアの誕生には数十年かかるので、あなたは知っています。
アイデアの進化の例業界の進化の物語は驚くべきものであり、2つのことが明らかになります。まず、すべてが一度に発明されました。 第二に、何か大きなクリエーターになることができるのはあなたです。 いいえ、そうでもありません。 あなたの鼻を切り刻んでください:あなたは大きな何かのクリエーターになります。 そして、あなたがこれらの人々のランクに入るのを助けるために、私はあなたに(私の個人的な)読むべき本のリストを提供します:
また、LISP、TeX、Unix、Bash、C、cacao、Emacs、Vim、Python、ARM、GNU Make、マンページなど、時の試練に耐えてきたものに感謝することも学ぶ価値があります。 これは、彼らの記念日を祝ったいくつかのものの例であり、それらを保存して学ぶ価値があるでしょう。
学び続ける
勉強する。 あなたの心が望むすべて。 Fortranについて知りたいですか? 行動する。 Erlangをおもしろいですか? 素晴らしい。 おそらく、COBOLはあなたのキャリアの次の深刻な段階ですか? フィクション。 Reactiveを使用した関数型プログラミングについてもっと知りたいですか? どういたしまして デザイン? もちろん。 Ux? ただ必要です。 詩? なぜだ。
開発者は、情報技術の分野で多くの一般的な概念を何十年も使用してきました。これは、古いプログラミング言語を学ぶ価値があることを示唆しています。 それらの最も非記述的でさえ。 第一に、業界の現在の状態を評価する(または、嫌いにする、知っている人)ことができ、第二に、誰が相続人であるかを理解するため、既存の開発ツールを最も効率的な方法で使用する方法を学習できます何が起こった。
ヒント1:毎年少なくとも1つの新しいプログラミング言語を学びます。 そして、それを発明したのは私ではなく、「Pragmatic Programmer」という本がそれを行いました。 そして、あなたは知っています、それは働きます。 毎年1つのプログラミング言語。 ただ? 典型的な「Hello、World」以外のものを作成してみてください。 私は通常、自分にとって新しい技術の可能性を見つけるために簡単な計算機を作成します。 これは、言語の構文を理解するのに役立ち、API、IDEなどに精通することができます。
ヒント2:毎年6冊のプログラミング本を読んでください。 私は今年忙しくなりそうな必読の本を6冊持っています。 昨年の私の「シート」は次のとおりです。
さて、7冊の本があります。1年に6冊の本は少し多いですが、実際には、これは2か月で1冊の本です。 そして、私がこの出版物で言及した本のほとんどは、読むのにあまり時間をかけません。 彼らは見事に書かれていて、楽しくて理解しやすいです。
また、これを別の観点から見てみましょう。20歳の場合、30歳までにプログラミングに関する60冊以上の本を読み、私の年齢に達すると120冊以上の本を読むことになります。 そして、20を超えるプログラミング言語で試してみます。 少し考えてみてください。 私が言及したボリュームのいくつかは、70年代に書き戻され、80年代に書かれたもの、90年代に書かれたもの、最後に、ほとんどがゼロで書かれたものです。 それらは、私が業界で出会った中で最高の文献を表しています。
しかし、読むだけでなく、メモを取り、ブックマークを付け、ページにメモを作成する必要があります。それから、それらを再読み込みします。 ボルヘスは、本を読み直すことほど大きな喜びはないと述べた。 紙の形で購入することもお勧めします。 私を信じて、電子書籍は過大評価されており、手に持つことができる本物を置き換えることはできません。
そして、あなたが老化し始めると、あなたが新しいアイテムや重要な何かとして決定するものの数が、急激に減少し始めることを知っています。 それの準備をしなさい。 また、何が起こったかを知っているときに静かに泣くという事実にも-これは正常です。
他の人を教える
新しいことを学んだ後、他の人に教えます。 これは非常に重要です。
これは、教育プロセス全体を整理し、部屋を借りて、あなたのナンセンスを聞くためにコースに人々を招待する必要があるという意味ではありません。 「他の人を教育する」とは、たとえば、スタックオーバーフローに関する複雑で深刻な質問に詳細な回答を与えることです(それは素晴らしいことです)。 「他の人を教育する」とは、本を書き始め、お気に入りのテクノロジーに関するポッドキャストを公開し、ブログを書き、それをメディアに書くことを意味します。 Raspberry Piでプログラミングサークルを組織したり、6月や他のジュニア開発者をメンターにしたりするために、世界中を別の大陸に移動します(ただし、まだ
30歳でない場合はこれを行うべきではありません)。
メンタリングは、あなたが本当にどれだけ知らないか、あなたの知識がどれほど限られているかを示すので、あなたをより控えめにします。 教えることは学ぶための最良の方法です。 常に自分の知識をチェックすることによってのみ、正しく学習できます。 これは、他の開発者や技術を尊重することで発展します。なぜなら、各言語は、主流であるか忘れられているかに関係なく、プログラミングのタオで独自の場所を持っているからです。 そして、他の人に教えることによってのみ、それを感じることができます。
トレーニングを通じて、世界をより良く変えることができます。 2012年に、1人の女性から私のトレーニングコースの1つを記載した手紙を受け取りました。 彼女は以前Adobe Flash開発者でしたが、ActionScriptなどを覚えていますか? 要するに、フリーランスのFlash開発者としての12年間のクラウドレスな継続的作業の後、彼女は路上で気づきました。 一人で赤ちゃんを抱いて食べさせます。 彼女の手紙の中で、彼女は私のコースで勉強してプロセスを楽しんだこと、そして多くの有用なことを学び、トレーニング後にモバイルWeb開発者として仕事を得ることができたと私に言った。 彼女は私に感謝の手紙を書いた。 私は世界を根本的に変えたと自信を持って言うことはできませんが、私が望んでいるように、それを少しでも変えることができます。 これを考えると、それ以降、私が誰に与えたレッスンも、私にとってより有意義で有用なものになりました。
Jobs Sucks
ソフトウェア会社があなたがキャリアを積む場所を提供することを期待しないでください。 おそらくこれは米国のどこかで発生する可能性がありますが、ヨーロッパではこれを見たことはありません。 つまり、あなたのキャリアと成功はあなた次第です。 「ああ、まあ、来年はチームリーダー、マネージャー、そしてテクニカルディレクターになれます...」
なし。 のために。 なに。 実際、すべてが正反対です。あなたはソフトウェア開発者であり、ソフトウェア開発者であり、ソフトウェア開発者になるでしょう。 それは、実際、比較的高価な「工場」労働者であり、その任務は、労働者が何を望んでいるかに関係なく、管理者にオフショアゾーンのどこかで幸せな生活を提供することです。
お金のためだけに仕事を取らないでください。 ソフトウェアの作成は、途方もない量の労働時間と不当な期待のためにあなたのばかばかしい給料を正当化しなければならないストリームに設定されています。 そして、少なくともスイスの場合は、物事がうまくいかない場合にあなたを支える組合がありません。 そしてそれでも、状況がメディアで宣伝されていなければ、すべての労働組合が動くわけではありません。
しかし、さらに悪い選択肢があります。特にあなたが女性、LGBTコミュニティのメンバー、またはあなたが特定の民族グループの代表者でない場合、あなたの仕事のほとんどで迫害の対象となります。 開発者がより速く働くために、非更新労働ビザで脅かされている様子を見ました。 女性や同性愛者の同僚による広がりを見ました。
私たちの産業のいくつかは完全に嫌です。 この現実に出会うために
、このテキストをミディアム
(またはHabrで)で読む必要はありません。 スイスでも体験できます。 たとえば、多くの地方
(スイス、約)銀行では耐えられない労働条件。 金融機関は、法律に直接違反している場合でも、1日15時間のコーディングを求めています。 製薬会社は、薬物検査の結果を偽造し、ルールを回避できるようにするコードを入手したいと考えています。 スタートアップは文字通り、あなたの肌が補償なしで18時間働くことを望んでおり、その見返りに「あなたは私たちがあなたに私たちのシェアのオプションを与えているからです」または「私たちはすべて同じチームにいるので」 。
あなたが誰であるか、履歴書に何を書くことができるかは関係ありません。たとえば、GitHubをゼロから作成したZach Holmanのように、どんな些細なことでも解雇できます。
アプリケーションがトラフィックの半分以上を提供し、結果として雇用者の収入を提供することは問題ではありません。APIチームはあなたとあなたのアイデアを軽し、軽視します。
非常に有名な人々から無料で働くように頼まれました。一部の人々はウィキペディアのページを持っています。 そして、あなたは知っています-これはひどいです。 私は特定の名前を挙げませんが、道徳的な原則と倫理に唾を吐きかける人は誰の頭脳にも値しないので、私は彼らに一人の後輩を行かせませんでした。
人事部長から「給料を支払っているので、それがあなたの道徳座標系と一致していなくても」と言われるときはいつでも、次の答えが正しいことを覚えておく価値があります。私の脳と引き換えに、私はこの命令に従うことを拒否します。」
そして、すべてに加えて、彼らはあなたをオープンスペースで働かせ、あなたがそれを誇りに思う必要がある理由を見つけます。 オープンスペースは癌性腫瘍です。 これは、これまでに発明された最悪のオフィスレイアウトであり、ソフトウェア開発やその他の種類の脳活動に最も適していません。
覚えておいてください:あなたが危機にwhatしていることを理解しているという事実は、あなたがこれに自動的に同意する必要があるという意味ではありません。
リーダーに背き、「Fuck n ****、私はやらない」と言って、職場を変えます。 素晴らしい仕事があり、多くはありませんが、彼らはそうです。 これらの1つに取り組むことができたのは幸運でした。 悪い仕事にあなたの熱意を殺さないでください;それは価値がありません。 従わずに進む価値はあります。
または、さらに良いことに、独立します。
あなたの強みを知る
「このソフトウェアエンジニアは10の価値があります。」というフレーズを聞きました。 神話ですよね? これは神話ではありませんが、想像とはまったく異なる方法で機能します。
雇用主の観点から見ると、「10の費用がかかる」プログラマーは、支払い額の10倍以上を作成します。 これは、10万フランが支払われる年に一定量のコードを作成すると、雇用主はこのコードから100万以上を獲得することを意味します。 そして、もちろん、そのような労働者は年末にボーナスを受け取るでしょう、あなたが理解しているので、ここには資本主義があります。 したがって、あなたの価値を知っています。 Karl MarxとPickettiを読んでください。 ここで十分言ったと思います。
あなたのスキルは非常に貴重であるため、サメが生き残るために移動するときに前進し続けます。 あなたの給料を発表し、あなたのブログにそれについて書いて、他の人があなたの仕事の価値を知るようにします。 企業はあなたを黙らせてぼろぼろに黙ってほしいので、女性には男性の給与の70%が支払われます。 それについて話してください! 私は年間135千フランを稼ぎます(
中央銀行のレートで約138,800ドル、約 )。 これが私の現在の給料です。 あなたはどうですか? 給与について話をすればするほど、不平等は少なくなります。 私の経験がある人なら誰でも、人種、性別、年齢、または好きなサッカーチームに関係なく、仕事のために同じお金を受け取るべきです。 これで話は終わりだと思われます。 しかし、すべてではありません。
エレベーターを降ろす
あなたが白人の場合、誕生からあなたはそのように生まれたという理由だけで多くの特権を享受しています。この業界をより大きな統合に向けて変えることはあなたの責任です。他の人のためにエレベーターを下げるのはあなたの義務です。この意識的な意思決定を行い、あなたの行動の影響に注意してください。顔を赤らめたり、気ままに変えたりしないでください。あなたの過ちを認めて、状況がそれを必要とするとき、「ごめんなさい」と言ってください。聞いて、絶望しないでください。自給自足し、自分自身を尊重します。同僚の技術的ソリューションを批判したり、笑したりしないでください。おそらく、彼らはこのオプションを選択する独自の理由を持っていました。トレーニング中にあなたの意見が変わる可能性があるという事実に備えてください。ある日、あなたはWindowsが好きかもしれませんし、Androidのファンになるかもしれません。実際、最近は多くの人がAndroidを好んでいますが、それでも結構です。LLVM
誰もが誰もがSwift に夢中になっていますが、実際には、LLVM(HabréでのLLVMに関する投稿)にもっと注意を払っています。LLVMは、長期的な影響という点で最も重要なプロジェクトの1つであると思います。 Objective-C、Rust、およびSwiftブロック(2016年のStackoverflow開発者調査によると、最も愛され、最も強く型付けされコンパイルされたプログラミング言語の2つ)、Dropbox Pyston、Clang Static Analyzer、ARC、Google Souper、Emscripten、LLVMSharp、Microsoft LLILC、 Rubymotion、cheerp、watchOSアプリ、Android NDK、Metal-これらはすべてLLVMから生まれたもの、またはLLVMから生まれたものです。 LLVMを最も重要な現代言語すべてのエンジンとして使用するコンパイラがあります。 .NET CLRはやがてサポートを開始し、Monoはすでにそれを使用しています。 FacebookはLLVMをHHVMおよびWebKitと統合しようとしましたが、最近LLVMから新しいB3 JIT JavaScriptコンパイラに切り替えました。LLVMは、クロスプラットフォーム、クロスCPUアーキテクチャ、クロスランゲージ、クロスコンパイル、無料、そして鳥のように無料です。LVMMについてできることをすべて見つけてください。これは、今後20年間の開発の基盤となる真のイノベーションが行われている銀河です。あなたの直感を信じて
私の直感では、2000年6月にリリースを見たとき、.NETは素晴らしいものになるはずだと感じました。2007年にリリースを見たとき、iPhoneは素晴らしいものになると内部で感じることができました。どちらの場合も、人々は私の表現を笑い、文字通り笑いました。どちらの場合も、私は自分の本能に耳を傾け、負けなかったと信じています。あなたの直観を信じて、あなたも幸せになることができます。APIは王様です
優れたAPIは優れたアプリケーションを生成します。そして、APIがひどい場合、デザインがどれほど美しいものであっても、アプリケーションはひどいものになります。「サイレントはおしゃべりよりも優れている」(チャンキーはおしゃべりよりも優れている)ことを忘れないでください。また、顧客も愚かでなければなりません。できる限りAPIにプッシュします。独自のセキュリティプロトコルを考案しないでください。サーバー技術を追加し、サイトが信頼できることを確認してください。他のものはすべて脇に置いて、Socket.io、ZeroMQ、RabbitMQ、Erlang、XMPPを使用して、アプリケーションの特定のアクションがリアルタイムでどのように機能するかを確認できます。これはチャットアプリケーションだけに適用されません。そして、この質問を永遠に忘れてください。そうそう、APIを中心に自動化の構築を開始できますが、私はそれを言っています。困難を克服する
シンプルな方が良いです。 常に。
KISSの原則を忘れないでください(シンプルで愚か-文字通り-「もっと簡単に、馬鹿に」または英語のより丁寧なバージョンを。短く簡単に-「短く簡単に」してください)。そして、ユーザーインターフェイスだけでなく、プロジェクト全体、つまりコードの最も深いレベルまでを意味します。リファクタリング、単体テスト、コードレビュー、プルリクエスト-これらのツールはすべて自由に使用でき、作成したコードが可能な限りシンプルなアーキテクチャであることを確認するように設計されています。これにより、長期的に持続可能なシステムを構築できます。おわりに
最も重要なことは、年齢は関係ないことを覚えておくことです。- : « , . . . , ».
, – , . , . , , , . , .
, , ,
, Wired.
あなたの心があなたにプログラミングと新しい何かを創造する能力があると告げている限り、あなたは永遠に若くなります。たぶん、今からちょうど19年後の2035年に、誰かがソフトウェア開発に関する会議でプレゼンテーションを行い、「こんにちは、42歳です。これが私の話です」というスピーチを始めます。これがあなたの一人になることを願っています。例えば、デビッド・ボウイ、ウンベルト・エコ、ガト・バルビエリ、ヨハン・クライフが今年亡くなったという、遠い2016年に関するいくつかの事実を紹介します。 LinuxでSQL Serverが利用可能になった時期、またはGoでGoogle Alpha GoがLee Sedollを破った年を思い出してください。パナマのドキュメントリークを考えるか、今年GoogleがAndroidでSwiftを使おうとしたか、またはプライバシーのような役に立たないものがまだ残っていた年と考えてください。私たちは2038年の問題から太陽の周りを3回転するだけで、多くの人はこのために本当に神経質になります。もちろん、19年後に何が起こるかわかりませんが、起こりそうな3つのことを挙げることができます。- 正規表現を使用してメールアドレスをフィルタリングする方法について、誰かがstackoverflowについて質問します。
- 誰かが新しいJavascriptフレームワークをリリースします。
- 誰かがLLVMの上にクールなものを構築します。
または、この出版物を笑顔で思い出すかもしれません。ご静聴ありがとうございました。