さようならプログラミング...



ローレン・メンドーサ

ソフトウェアエンジニア。 空中アクロバット。 サンフランシスコ生まれ。



多くの製品が異なる配色とコピーボタンを備えた本質的に同じアプリケーションである場合、なぜプログラミングするのですか?



コンピューター上のファイルはさまざまな方法で表すことができます。 ほとんどの人がファイルを見つける手段は、たとえばMac Finderなどのグラフィカルインターフェイスです。 ただし、ターミナルなどのテキストインターフェイスを使用して同じことを行うこともできます。 両方のインターフェイスは、同じ情報をモデル化し、それと対話するための異なるパスを表します。



ネットワークアプリケーションは、アーキテクチャスキーム、対話、モデルなど、さまざまな方法で表すこともできます。 通常、ソフトウェア開発者はコードを使用します。 しかし、それは最も直感的で生産的なアプローチですか?



心に強く訴えるアイデア



電子音楽を作成するために、Reasonというプログラムを使用しました。 さまざまなデバイス間でワイヤをドラッグアンドドロップでき、そこにすべてがどのように接続されているかを正確に表示できるため、気に入っています。 私にとって、はっきりと表示された配線は、2000年代に最先端のソフトウェアを支配していたメニューやポップアップの無限の山よりもはるかに理にかなっています。 (Adobe Flash CS3 Professionalが大好きです)。 Reasonインターフェースのおかげで、私は自分が何をしているのかをよく理解し、フラッシュムービーよりもはるかに多くの音楽を作成することができました。





もっと楽しくする必要がある



いつ、どのように起こったかはわかりませんが、ある時点で「ITスペシャリスト」は「開発者」になり、「ソフトウェアエンジニア」になりました。 もちろん、私はエンジニアと呼ばれるのが好きです。特に、わずか3か月の「教育」の後です。 しかし、私たちが行うことの主な部分はエンジニアリングではありません。 エンジニアであるということは、新しい問題に対処し、タスクを深く考えることを意味します。 これは確かに知的活動です。



今日、何千ものCRUDアプリケーションが作成されています。 この問題はすでに解決済みです。 しかし、何らかの理由で、私たちはまだほとんど同じアプリケーションを引き続き作成しています。



問題が解決した場合、そのソリューションを他の同様のタスクに使用する必要があります。 必要に応じて構造を再現するために、何らかの種類の労働者または労働者の集合体に一連の指示が渡されます。 自動車工場のすべての従業員に新しい車をゼロから作るように指示するわけではありません。 代わりに、労働者に指示を出し、労働者が何かを壊さないようにします。 指示が非常に単純で、誰でもそれに従うことができる場合、低賃金の仕事があります。 さらに、ロボットが徐々にそれを実行し始めています。



エンジニアは、新しい興味深い問題を解決する必要があり、同じアプリケーションを何度も使用しないでください。 最後-ロボットの仕事。



同じ大きなサイトで、多くのCSS



実証済みの事実(おそらく)は、ユーザーインターフェイスのデザインが "オリジナル"であるほど、その使用方法を理解する人が少なくなることです。 確立された視覚コミュニケーションの言語を再発明することは賢明ではありません。 インターネットは、一連の共通要素について合意し、それらを組み合わせて意見を表明すれば、はるかにうまく機能します。 スタイルは、「メタリックで黒くて不吉なものにする」、「ビジネスで、立派で青くする」、「ヒッピーで、面白くて、アップルのようにする」、「可愛くする」など、いくつかのキーワードに基づいて自分自身を生成する必要がありますお母さんにとって魅力的です。」 何かを5ピクセルシフトするためにコードを入力することは絶対に受け入れられません。



自己重要性の問題



プログラミングは、ソフトウェア開発の聖杯として多くの人に尊敬されています。 本当のエンジニアはプログラムを書く、と彼らは言います、そしてそれはあなたが偉大なエンジニアになるのはプログラムを書くことです。 多くの人々は、プログラムの文章を書く過程で自分の個性、個性に影響を与えることが重要だと考えています。 これらの人々は、おそらく心理学者との相談を必要とし、私はこれを真剣に言います。 私はそのような人になりつつあると感じています。



しかし、複雑な構文と「コーディングスキル」を知っていても、優れたエンジニアになるわけではなく、賢くなります。 あなたは素晴らしいコーダーになれ、エンジニアにはなれません。 人々の本当の問題を解決するための、最高の、高速で、拡張可能な、創造的な方法の開発は、価値があり、今後数年でますます重要になるでしょう。



ソフトウェアの文章を書くことは非常に愚かな仕事です。



プログラムのテキストを書くとタイプミスが可能になります。 さらに、典型的なコードの問題(「コードのにおい」)としても知られる無制限の「創造性」を可能にします。 コードの大部分はかなり不十分に行われます。 エンジニアは、構文、タイプミス、構造化レイアウト、スタイルチェック、ミス、スタイルとベストプラクティスについての議論、およびコードの一部を入力するためのショートカットの設計に膨大な時間を費やしています。 これはばかげています。 そして、これは時間の無駄です。



もう来ました



GraphQLは、内部ルートを排除し、今後数年間でRESTを完全に置き換えます。 クライアントとデータベースの間の仲介として機能するサーバーが必要な理由を疑問に思ったことはありますか? これは昨日放棄されたはずです。



Algoliaは、一部のデータセットを検索可能にします。 私は彼らがどうやってそれをするのか知りません。 しかし、コンピュータは人よりも構造化されたデータを最適化する方が安価で優れていることは確かです。



データをある種のセットに送信するだけで、データベースは機械学習やその他のファッショナブルな小さなものを使用して自分自身を整理し、最適化する必要があります。 私たちは必然的に間違っているので、人々はデータベーススキーマを書くことから離れるべきです。 データベース開発は、エンジニアリングタスクではなく、最適化アルゴリズムです。



世界中のエンジニアは、認証、ごみ箱、メッセージング、その他の一般的に使用される無数のアイテムなどの機能を何度も書き直しています。 そして、それらの多くはおそらく、自分自身を同時にかなりクールであると認識しています。



これらは、エンジニアが同じ基本要素を繰り返し複製するのに時間を浪費する方法のほんの一例です。



解決策



一般的にプログラミングを知らないプロダクトマネージャーは、アプリケーションに本来の動作をさせることができるはずです。 企業がすべきことは、その技術をユニークにする要素を作成することだけです。 他のすべてはすでに他のアプリケーションで作成されており、再利用する必要があります。



オープンソースに関するすべての熱意と献身に関しては、これらのプロジェクトのほとんどは不十分に行われ、保存されておらず、ビジネスレベルでは使用されていません。 企業は「車輪を再発明」し、行ったことを複製します。



使いやすいドラッグアンドドロップインターフェイスを作成したいと思います。このインターフェイスでは、誰でもプログラミングなしで完全に機能する包括的なアプリケーションを作成できます。 これをどのように行うかはまだわかりませんが、ほとんどの場合、前述のAdobe Flash CS3 Professionalのスキルを使用します。 冗談です。おそらくReactを使用します。



メリット



企業は、ソフトウェア開発作業の参入障壁を下げること、および新機能を促進して「成長」を示すために雇用する必要のある人の数を減らすことに経済的に関心を持っています。 Webアプリケーションの作成が容易になると、より多くの人々がこれらの職に就くために解放され、給与が削減されます。



エンジニアリング文化に役立ちます



ソフトウェア開発者の給与は明らかに高く、多くの人(私のように)は、お金とボーナスを受け取る資格があると信じています。 実際、これらの開発者は他のタイプの労働者よりも賢くも優れていません。 プログラミングの死とともに、違いは大きくなります。 エンジニアリングは、社会の残りの部分を反映するものであり、非常に小さく、社会経済的な、例外的な人々のサブセットではありません。



「マネーボール」または「すべてを変えた男」



実際、Moneyball(すべてを変えた男)は素晴らしい映画です。 私はそれが古いことを知っていますが、昨夜見たばかりで、この素晴らしい映画と上記を結び付けようとしましたが、できませんでした。 そして、それはまったく気にしません。



他に何がいいか知っていますか?



バーチャルリアリティの建築材料。 何かを買ったばかりで、それはデマです。



All Articles