フルスタック開発者になるのは悪いことより

はじめに



まず、用語を定義しましょう。 そのようなフルスタック開発者についてはさまざまなアイデアがあり、そのような開発者は神話であるとかなり合理的に信じている人もいますが、この記事ではゼロから書く知識とスキルを持っている開発者を意味しますソフトウェアを実稼働環境に持ち込みます。 この場合、ソフトウェアはWebプラットフォーム、モバイルアプリケーション、またはデスクトップ用に設計できます。 理想的なフルスタック開発者は、ある程度すべてのプラットフォームを所有し、独自のソフトウェアを開発してインストールできる人です。 しかし、それは本当にむしろ神話です。

quora.comでの良好な定義
開発者の完全なスタックを探すとき、彼らは歌と踊りの技術を見ることを期待しています。

まあ、または少なくとも彼が彼の快適な区域の外で働くように頼まれるときあまりに不平を言わないだろう誰か。


おそらく、見出しによれば、これは、インターネット上のさまざまな記事からすべてを手に入れた、未熟な少年の生活がいかに貧弱であるかを語る悲しげな投稿であると誰かに思われるでしょう。 いいえ、投稿は悲観的ではありません。完全なスラックではなく、完全なスタックについて話しているため、最終的にプラスのリストも考慮されます。 そして、学生ではなく、5年以上の実務経験を持つ開発者を考慮します。 この開発の欠点を確認してください。



短所



あらゆる分野において、あなたは狭い専門家よりも悪い

かなり明らかなようですが、説明します。 1つのテクノロジーに6年間を費やした場合、自明のことですが、6年間にわたって数年間関与してきた人の知識よりも知識が多くなります。 より多くのプロジェクトがあり、いくつかの典型的なソリューションにもっと関与し、コードをより多く読み書きしました。



あなたが深く行くのは難しいです

優れたフルスタック開発者は常に負荷が高くなります。 そして、新しいことを学ぶ時間は、使用するすべてのテクノロジーに分散されます。 当然、あなたの開発は、専門が狭いプログラマーの開発よりも遅くなります。



タスクが過負荷になる可能性が高い

一度に複数のプロジェクトに複数の側面から携わっている場合、適切な時間管理を行っていても、すべてのプロジェクトで注意と時間を増やす必要があることがよくあります。 タスクの一部を他の開発者に転送するか、優先順位を付けるか、慎重に計画することにより、これを解決する必要があります。 もちろん、開発者は過負荷になる可能性があります。ご存知のように、現実の世界では、すべてのタスクは「昨日」に実行する必要があります。 ただし、タスクが突然バッチで表示される場合があります。



交換するのは難しい

これはプラスに思えるかもしれません-あなたを解雇するのは難しいです、彼らはあなたを愛し、感謝しています。 しかし、コインの裏側は、タスクを転送できないこと、一日中いつでも電話をかけることができないこと、休暇中の問題、他のことをしようとするときの困難です。



明確な責任範囲がありません

蛇口に水がない場合、フルスタックが原因です! どんな問題が発生しても、どんなバグが出ても-おそらく、問題が実際に別の開発者によって管理されるべきであっても、それらに対処する必要があります。 世界の画像がより完全になり、エラーをすばやく特定して修正できるようになりました。 残念ながら、これはしばしば悪用されます。



「ああ、彼にあげなさい-彼はそれを理解するだろう!」

悪いコードや古いコードに対処する必要がある状況では、関与している可能性が高いです。 雇用主がプロジェクト全体で1人の開発者を雇ってお金を節約したいとき、それは特に悲しいです。 そして、あなたはそれを開き、それを捨てて完全に書き直す方が簡単であることを理解します。



すべてのライブラリセットがわからない

これは最初の点からはかなり明白ですが、空室で特定のライブラリでの経験がしばしば必要とされる場合にのみ、個別に言及したいと思います。



すべてのトレンドに追いついていない

繰り返しますが、これは最初の段落から続きます。 どういうわけか私は理解していませんが、彼らはしばしば6か月前にリリースされたものを適用する方法を完全に知っている開発者を探します。 残念ながら、現時点でES6を知り、それを使用することはできません。Symfonyの最新バージョンとOracleからTiberoへの移行で起こりうる問題の違いについて話すことはできません。 あなたはそれについて読んだかもしれませんが、試してみる時間がありませんでした。



常に最高のコードを書くとは限りません。

ほとんどの場合、コードは明確で、よく整理され、コメントアウトされています。 しかし、確かに資格のあるスペシャリストがそれを少し良くすることができます。 別の質問は、これは通常重要ではないということです。 あなたの頭の中の言語の混乱が、現在のプロジェクトには決してふさわしくないアプローチと解決策を適用せざるを得ないのは本当に悪いことです。 他の言語での通常の実装と一致する関数を作成する人もいるのを見るのは恐ろしいことです。



マニュアルをよく見る

さまざまな言語の文字列を操作するための関数でさえ、見た目が異なり、さらに複雑なものはありません。 異なる技術や言語を頻繁に切り替える場合、マニュアルを常に見ている可能性が高くなります。もちろん、作業速度がわずかに低下します。



狭い専門家の給与をvy望し始めることができます

あなたの最愛のスキルに従って空室を探し始めたら、あなたは動揺することができます-豊富な経験を持つ専門家はそれのためにかなり良いお金を得ることができます。 率直に言って、あなたは特定の技術でそのような経験はありません。 しかし、たとえこのテクノロジーを掘り下げて必要な知識を習得したとしても、これをあなたの人生だけでやりたいですか? たとえば、Oracle DBMSを管理しますか?



雇用の短所



また、転職時に生じる困難についても言及したいと思います。



私は履歴書でランダムなキーワードで作業するように電話します

HRは、3年前に小規模プロジェクトで示された技術に従事していたという事実をじっと見ていません。 彼は、閉鎖する必要がある空席のように見える言葉を見て、スタンドを作り、あなたの欲望や現在の好みに興味を持たずに、あなたをそこに引き付けようとしました。



フルスタックフルスタック

一般的な専門家が何であれ、まったく同じ技術スタックの仕事を見つけることはまずありません。 それは起こりますが、めったに起こりません。 ただし、多くの場合、交差点は非常に大きく、不足しているものを引き上げて視野を広げることを妨げるものはありません。



彼らはあなたを信じていない

はい、これはとてもおかしくて本当の問題です。 あなたが履歴書にすべてのことを過度に示した場合、彼らはあなたを信じないでしょうし、あなたが何を知っているかを確認したり尋ねたりしようとさえしません。 したがって、一見面白いかもしれませんが、最善の方法は、あなたの将来に対して非アクティブであるとみなされるすべての情報を容赦なく履歴書から削除することです。 さらに、ジョブごとに履歴書をカスタマイズしてください。



適切な空席を見つけることはより困難です

フルスタックの開発者はめったに求められず、そのような空席のある雇用主が条件に応じて狭い専門の空席と常に競争できるわけではありません。 そして、疑問が生じます-仕事を検索するときに使用するキーワードは? たとえば、Java開発者であれば、検索でJavaを指定しただけで、クリックするだけです。 ただし、フルスタックはもう少し複雑です。 通常、この問題は、最も興味のある単語に応じていくつかの異なるフィルターに登録するか、単に希望の給与レベルで選択することで解決します。 後者は常に機能するとは限りません。私の最大の困惑に、給料の徴候のない空席がまだたくさんあるからです。 どうやら、人事部は、誰もが記述された最大値を望んでいるのではないかと心配していますか? 変です。 誰かがそのような採用戦略の理由を知っているなら、コメントで提供してください。



長所



さて、最後に、美味しいものについて。



次に働く人を選択できます

通常の開発者よりも向きを変更する方がはるかに簡単です(あいまいさはごめんなさい)。 あなたはアプリケーションにたくさん見ます、あなたはあなたが興味を持っているものを理解して理解することができます。 はい、あなたは深化する時間を費やす必要があります-しかし、それはよく費やされる時間になります。 はい、あなたはおそらくあなたが望むものを試すためにいくつかのペットプロジェクトを取得する必要があります。 しかし、これは再び見返りがあります。



燃え尽きる

プロジェクトを定期的に変更することができる場合、同じものを使用することにあまり疲れません。 もちろん、あなたが筋金入りのファンではなく、バニラCやasmですべてを書くことを楽しんでいないなら。



チームリーダーやアーキテクトに成長しやすい

かなり明白なプラス-一般的な構造を理解するほど、リーダーになる可能性が高くなります。 もちろん、欲求とコミュニケーションスキルの存在下で。



何でも先送りできます

明らかなプラス。 あなたの体系的思考は、どこでも何でも修正できるレベルに達しました。



より楽しく、より面白く、有益な仕事をする

ある日、まったく異なることで多くの新しいスキルと知識を得ることができます。



単独で、さまざまなテクノロジーの交差点で素晴らしいものを作成できます。

標準的なアプローチでは3〜4人が必要とすることをあなただけで行うことができます。 Webサーバーと通信し、データベースに書き込み、Webサイト、アプリケーション、またはモバイルデバイスでデータを表示できる、モノのインターネット用のマイクロコントローラーをプログラムするには? 簡単! あなただけがシステム全体を想像し、調整、誤解、遅延なしにそれを実装できます。



ソリューションはより高速で信頼性が高くなります。

さまざまなシステムの相互作用を理解することにより、それらを組み合わせる最適な方法を選択できます。 各コンポーネントをよりよく理解し、使用することを恐れません。 例として、「不気味なテクノロジー」を取り上げましょう(原付は私のものではなく、出版物に掲載されています)。 一般的に、クラウドは、タスクのスケーリングを含む膨大な数のタスクを解決する素晴らしい方法です。 残念なことに、クラウドソリューションが使用されることはますます増えています。なぜなら、開発者は、どうにかして自分の問題を解決する方法を知らず、恐れているが、追加のプラスとして提示しているからです。 そして、少なくとも問題の表面的な理解があれば、多くのことをより安くより良く行うことができます。



ほとんどすべてのソースを使用できます

ほぼすべての適用された問題がすでに解決されている世界では、別の自転車を書くのに時間を費やすことは、あなたの人生の長さに関する単なる犯罪です。 これで、任意の言語のリポジトリを取得し、それを決定の出発点として使用できます。 他の何千人もの開発者があなたの前に集まったレーキの上に新鮮な風を吹きます。



禅を理解する

これで、他の言語よりも優れた開発言語はないことがわかりました。 あなたは最高のデータベースがないことを知っています。 いくつかのツールがあなたの目標に向いていると仮定することができます...しかし、例えば他の開発者の資格など、何らかの理由で、代替手段を使用する準備ができています。 ある技術が他の技術より優れていることを示すように設計された合成テストについての記事はもう書いていません。 5パーセントの生産性向上は、おそらく2か月の価値がないことをご存知でしょう。 そして、最終的には、有用なことにホリバーから解放された時間を過ごすことができます。 たとえば、女の子との関係を確立するには(たとえば、彼女のKatyaを呼び出しましょう)。 これで、テクノロジーが異なり、人が異なることを理解し、すべてをつなぐ正しい方法を見つける必要があります。 あなたは世界を愛し世界はあなたを愛しています 。 あなたが足で自分を撃つためにそれを使用する場合でも。



ロータスの地位にある賢明なプログラマーがチベットの山の上にゆっくりと立ち上がる様子を示す写真があるはずでした。彼の周りには、魅力的な女の子のダンス、抱擁、ダンスをイメージしたプログラミング言語とさまざまなテクノロジーがあります見つかりました。 自分で想像してください。



All Articles