翻訳:フルスタック開発者は神話です

スタートアップ「Hello Pretty」の共同設立者でありCTOであるスコット・ハドフィールドによる興味深い記事の翻訳に注目してください。 Webおよびサーバーの開発に関連する空席の半分に、「フルスタック」という魔法のフレーズが表示されます。 ほとんどの場合、「ジェダイ」、「スーパーヒーロー」、「忍者」などの表現が使用されます。 これらの人々は誰を探していますか、そして実際に彼らは彼らのチームに参加することができますか?



もちろん、私は記事のタイトルで多少誇張し、フルスタックの開発者が存在します。 しかし、あなたはそれを決して見つけません。 「本物の」フルスタック開発者が存在します。12歳からプログラミングを続けてきた天才や人々がいるように。 私は頻繁にこのフレーズを目にしますが、私の意見では、そのような人を見つける唯一の選択肢は密猟を狩ることです。 信じられないほど運が良ければ、「フルスタック」の説明に当てはまるすべてのファイターが長く確実に雇用されています。



私は、完全なスタック記述に適合する数人の人に精通しています。 そして、多くのハンターが絶えずこれらの男を追いかけていますが、これはあなたのプロジェクトでそのような開発者を見つけることができるという神話をfuelっています。



「フルスタック開発者」の説明は、「天才」や「[ここにサブジェクトエリアを挿入]で何でもできる人」と同じくらい無意味です。



この考えをより深く明らかにします。 以下の図は、これらすべての空室で言及されているまさに「スタック」の不完全なバージョンを示しています。 ほとんどの場合、開発者は各レイヤーから1つまたは2つのスキルしか必要としません。 いくつかのスキルは数時間で習得できます(たとえば、「./ configure && make && sudo make install」またはVPSを使用した最も簡単なコンパイル)。 他のスキルを習得するには数年かかる場合があります。











「フルスタック」開発者に期待されることは、普通の人の能力を確実に超えています。 そのような開発者は、アプリケーションを1日に数百万クリック(1時間あたり)にスケーリングする方法を理解し、「ペット対家畜」とは何か、なぜそれが重要なのかを理解し、MongoDBとMySQLを選択し、CAP定理を適用し、PaaSを構成する必要がありますIaaSは、Rails、Django、Wordpress、Swift、またはそれらの組み合わせにアプリケーションをデプロイするためのダース構成管理ツールを所有しており、マイクロサービス指向アーキテクチャとモノリシックアプリケーションとの違いを理解します。



つまり、フルスタックの開発者は、Webテクノロジースタック内の各コンポーネントを使用する方法について十分な情報を得た上で判断できるように、少なくとも各コンポーネントを十分に理解している必要があります。 また、管理者に自分の選択を、できれば平易な言葉で説明できる必要があります。 はい、スタックの一番上にあるのは、優れた書き言葉のスキル、チームワークのスキル、困難なことをマネージャーに伝える能力です。



毎年、新しいコンポーネントがスタックの各レイヤーに追加されます。 そして、数年ごとに、新しいレイヤーがスタックに追加されます。 あなたはまだ仕事で「フルスタック開発者」を書くのが賢明だと思いますか? これはあまり賢くありません。 特に、セキュリティ、Web開発、ユーザビリティ、サーバー構成の専門家である1人を探し始めたときは特にそうです。 そして、そのような要求はそれほどまれではありません。



ケーキの上のチェリー。 開発者のフルスタックは多くの場合スタートアップを探しているため、これらのファイターはマネージャーとして働き、ユーザーと通信することも期待されています。



そうそう、CEOがオフィスを覗いたら、新しいWindowsラップトップでプリンターとファイル共有をセットアップする必要があります。



すでに書いたように、そのような人々は存在します。 個人的に、私はいくつか知っています。 しかし、「フルスタック」の定義にさえ近づいていない多くの優れた開発者、デザイナー、プロジェクトマネージャーも知っています。 さらに、「フルスタック開発者」と自称し、同時に上記のリストから12語以上を定義することはできません。 そして、これはリストが完全にはほど遠いという事実にもかかわらず、たとえばJREとNode.jsのようないくつかのレイヤーさえも持っていません。 ここで、問題があることを理解しています。



ほとんどの場合、仕事の説明で「フルスタック」を見たとき、彼らは実際に「非常にクールなスペシャリスト」を探していました。



Facebookの開発者Carl Buenoの投稿で 、「フルスタック」と「フルスタックエンジニア」の最初の言及を目にしました。彼は、この用語をパフォーマンス分析に強いバイアスを持つジェネラリストと呼びました。



おそらく、「フルスタック」エンジニアまたは開発者は、コードをまったく作成する必要はありません。 代わりに、システムアーキテクトまたはインテグレーターの作業に集中してください。 テクノロジースタック全体の知識がある人は、開発中のプロジェクトに害を及ぼす前に、レイヤー間の通信と統合の問題を予見できます。



ただし、「フルスタック」とはアーキテクトの役割を意味する場合でも、どのような「スタック」について話しているのかを判断する必要があります。 Web開発、モバイル開発、ネイティブアプリケーションのスタック? この形式でも、「フルスタック」は1つのスキルではなく、「スタック」内のテクノロジーの相互作用とスタックの1つのレイヤーの変更が他のレイヤーにどのように影響するかを十分に理解した多数のスキルです。



フルスタック開発者は神話です。 しかし、そのような人がいないからではなく、そのような定義が意味をなさないからです。 この言い回しと「コーディング忍者」または「ロックスター」の間に違いはありません。 しかし、後者については、少なくともそのような名前は特定のスキルセットに関連していないことを誰もが理解しています。



「すべての取引の達人」マスター、統合スペシャリスト、生産性スペシャリスト、新しいテクノロジーや開発テクニックを素早く学ぶことができる人を探していますか? または、これらすべての分野の専門家を探していますか? 悪いニュースがあります。もう一度写真を見てください。 不完全ではありません。



ここから撮影した画像。



All Articles