パート1/3。 「パン」とは何ですか。パート2/3。 「初心者」の落とし穴。雇用主は何ですか。 特徴的な機能。
簡単な紹介の代わりに、1つの規則性をすぐに呼び出すことができます。プロジェクトが長く大規模になるほど、技術は古くなります。 実際に新しいテクノロジーを学びたい場合は、3〜6か月のスタートアッププロジェクトに参加してください。
防衛省および同様の組織で働く企業。
比較的狭い技術セットである秘密性が使用されます-FSBによって認定されています。 たとえば、Java 1.6とTomcatは認定されており、EJBコンテナは認定されていません。代わりに、自己記述のアンダーパロディを使用できます。 自作のアンダーパロディで良いのは開発者で、通常は近くにあり、コミュニケーションが可能です。悪いのは、存在するがほぼ1年間使用されていない小さな機能の一種です。動作しません(ただし、開発者にすぐに修正してもらうことができます)。
自社、古いプラットフォーム、カスタムプラットフォームで製品を開発している企業。
また、アノテーションのないEJB 2.0、独自の1999年のORM( * )、およびその他の自己記述のアンダーパロディと「メタデータ駆動型システム」もあります。 プラットフォームと言語の評価に慣れている人の観点から、これらのプラットフォームに関する最悪のことは、主にリファクタリングの容易さによるものです(PHP、Python、RubyおよびNodeJSでの記述は不満を示すかもしれませんが、主にJavaについて記述しています)。これらの発明は、生のテキスト形式ではないこれらの制御メタデータと、これらのシステムの不十分なレベルのデバッグおよび診断ツールを編集するための通常のIDEプラグインです。 最後の点-まあ、それはあたかも、スタックのダンプを含むNPEをドロップする代わりに、この初期化されていないポインターにあるオブジェクトから何かを取得しようとするために、既に独自のバイナリにエラーがあるためにJava仮想マシンが落ちるかのようです「どこにも」または「どこか」または「不可解にどこに」(新しい場所に移動したら)(もちろん、セキュリティについては忘れることができます)、 インタープリターの入力データによって引き起こされたこのエラーに関する何かを控えめに報告します。 「メタデータのどの場所で(で この場合、このインタープリターによって解釈された言語のプログラムはメタデータとして機能します)エラーがあります」それ自体が困難なタスクであることが判明する場合があります。 別の問題は、2000行のメソッドと変数の集中的な再利用を伴うコードの品質です。 理由は通常単純です:これらのシステム(より正確には、最初のバージョン)は、ロシアで「コード品質」の概念が普及する前に書かれました(そして「ORM」の概念とオブジェクトを永続化するシステムを適切に構築する方法のアイデアも)。
州および地方自治体の構造からの注文に取り組んでいる企業。
プロジェクト期間と技術の新規性のさまざまな組み合わせ。 特定の段階では、デバッグとテストの段階でこの統合のサイトで何をするかについてhemo核を伴う政府機関とのSOAPを介した統合はほぼ避けられません。 時にはジャケットとネクタイを備えた厳しいドレスコードがあります。 多くの場合、Java以外の言語で記述する必要があります。
課金に近いソフトウェア会社。
一般に、サーバープロシージャと複数の承認レイヤーを介して他の誰かのデータベースへのアクセスをカプセル化するなど、セキュリティに関する巧妙なトリック。 パフォーマンスを重視します。 メモリを使用した作業の正確性、データの整合性、および正確性に重点を置いています。 たとえば、特別なインターフェースを実装するクラスによって関税プランを実装できます。プランが期限切れになり、最後のユーザーがそれを離れると、このクラスはコンテナによってアンロードされます。
金融市場で働くためのソフトウェア(Java)を開発している企業。
ソフトウェアの重要な要件は、速度(特に、ガベージコレクターの最適化に関する)とマルチスレッドです。 組み込みのメタ言語を開発する必要があるかもしれません。再設定またはアンダープログラミングです。
オフショア開発者。
主な要件は、顧客のビジネスプロセスに統合することです。 これを行うには、顧客のリーダーシップ、つまり 少なくとも一部のユニットが他のユニットと異なる以上に、顧客との違いはありません。
コード品質は特別なポイントです。 コードを書くには、顧客のプログラマーよりも高い品質が必要です。 主な品質要件は、基本的にすぐにコードに障害が発生する可能性がないことです。そのため、顧客のフルタイムの従業員が、コード内のあらゆる場所で、 「彼らはここで何を書いているのか」と言う。 ゲッターとセッターにコメントを書く必要がある場合もあります。 もう1つのポイント:過剰なコミュニケーションが必要です-そのため、顧客は(落ち着いて)落ち着きます。 「精神病院でのVIP患者」の治療の状況を幾分連想させますが、お金を払うのはこの「VIP患者」です。
特別な場合には、タスクを非常に明確に設定できない場合があります。この言葉は、システムのボリュームとアーキテクチャの追加の4分の1の作成を伴う場合がありますが、顧客側のステートメントの作成者が完全に非技術者である場合はめったにありません。
これは経験する価値があります。 ここでの「生産の文化」は、通常、ロシアの企業よりも高くなっています。会計と報告がはるかに強力だからです。お金を払う人は、何に費やしたかを知りたいのです。 テクノロジーも新しくなりました。短いプロジェクトに焦点を合わせると、使用されるテクノロジーの形式化と「鮮度」が向上します。
外国企業の下位区分。
国内の「独自の古いプラットフォームとカスタムプラットフォームで製品を開発する企業」とほぼ同じですが、形式化、精巧なソリューション、技術的規律、その他の生産文化でわずかに優れています。 使用される技術も目新しいものではありません。 しかし、通常、賃金は悪くありません。
インターネットの懸賞を提供する「IT企業」。
「トリッキーな」データベースとの連携-ドメインオブジェクトなし、ドメインメソッドと「裸の」識別子を使用しますが、迅速に。 「エキゾチック」で珍しいWebフレームワーク。 大規模な「新人の離職率」(採用された人の約半数は試用期間を要します)と、この大規模な「新入社員」に向けた作業プロセスの方向性。
非IT企業の「プログラマー」部門。
さまざまなことがあります。 最悪なことは、プログラマーにとって便利なものではなく、企業の営業日の決まりに従うことです。 企業の内部ネットワークにクライアントベースやその他の機密情報を保持している企業の対応部門の状況(すべて1つだけの企業)は特に「楽しい」ものであり、これはセキュリティの問題によるものです。 そこで、警備員を「支配」します。 彼らの観点からは、「開発者」という概念はありませんが、「従業員」という概念しかありません。 警備員の認識は次のとおりです: 作業環境は一度セットアップされ、リクエストに応じてヘルプデスクの従業員によって更新されます...誰もが自分の仕事をする必要があります-プログラマは提供されたツールでプログラミングし、技術サポートはソフトウェアの現在の状態を維持し、ユーザーの技術的な問題を解決し、システム管理者はインフラストラクチャを管理し、部門の従業員はIS-エンタープライズITサービスの安全な運用条件へのコンプライアンスを監視します 。 注:「提供されたツールのプログラム」。 つまり プログラマーの足にケトルベルをかけないように、悪名高いヘルプデスクは、開発者、開発者、仮想マシン、SQL Developerなどのデータベースを操作するためのツールなどの「提供ツール」を理解するプログラマーより悪くないはずです。 結局のところ、秘書、エンジニア、弁護士、営業担当者、サプライヤーなど、他の「従業員」に関しては、ソフトウェアの知識レベルと同じ状況が存在します。 次の質問は、プログラマーが技術サポートでより多くの収益を上げることができるのに、なぜ技術サポートでそのようなスキルを使用するのかということです。 したがって、通常の一般的なプログラマーにとっての通常の「技術的サポート」は、確かに仕事に常に干渉する「クラブヘッドのウォッチマン」になります。
このため、こうした企業は徐々に、「内部」を開発せず、開発を「外部」、「内部」に与えて、タスクを請負業者に割り当て、彼とやり取りし、特別な非人格的な「プレイ」データを準備する方が良いという合理的な結論に達しますデバッグ用。
しかし、履歴書の行のために(実際のレイアウトが誰を「導く」かは誰が知っていますか?)
アウトソーシング会社(第1版では「アウトソーシング会社」と正確に名付けられていないアウトソーシング会社)。
彼らは人材のリースだけでなく、自分自身で何かを開発することもできます。 さて、ここにどれほど幸運がありますか(プロジェクトでは、「アウトソース」)。 マイナスの点-キャリアの成長の見込みは事実上なく(そして、専門的成長の観点からは、見通しは弱く)、安定性に乏しい。 可能性のある利点-彼らは海外に「アウトソーシング」できるので、ビザやプロジェクトの開始を待っている間、さまざまな国のIT文化を見ることができます-あなたは職場にまったく出ることはできず、「届く範囲内」にいるだけです。
結論の代わりに。
この記事が役に立つと思う人の数が少なくならないことを願っています。
UPD 著者が見逃した雇用主のカテゴリー、小規模、ユニーク、その他の未分類。
Android開発者。
「Javaでもありますが、完全にJavaではありません。」 労働市場の成長セクター。 著者は、この分野とはまだ接触していませんが、Androidプログラミングの技術的な側面にある程度精通しています。
Odnoklassniki、その他のソーシャルネットワーク、その他の負荷の高いシステム。
NoSQLデータベース、Hadoopなどのmap-reduceシステム、「最高のベスト」を選択するための多段階インタビュー( * )。 オンラインゲームセクターの一部は同じ領域に属しています。そこで、ハンドラーを使用したHadoopを介して、ゲーム内のイベントがリアルタイムで「渡されます」(各ゲームサーバーが独自のイベントストリームを生成します)。
CMSを使用するホスティングサイトのビルダー、サイトの所有者。
一見奇妙に見えるかもしれませんが、Java CMSはまだ存在しています。 (ソース付きの)外国ライセンスと完全な国内ライセンスの両方-特に、非常に「アンダーORM」1999リリースに基づきます。 したがって、少なくともCMSの開発と近代化には、Javaプログラマーのサービスも必要です。
パート1/3。 「パン」とは何ですか。パート2/3。 「初心者」の落とし穴。