ソフトウェア会社の類似点と相違点から始めて、将来のプログラマーが会社を選択して計画する方法について話しましょう

    正月明けに春の新卒採用が再開されるので、大多数のコンピューター関連卒業生の前に、仕事を探すときに会社をどう選ぶかという緊急の質問が投げかけられます。ピットを回避する方法は?

    この記事では、著者は、長年の学校採用経験を持つIT技術面接官としてこのトピックについて話し、これに基づいていくつかのキャリアプランニングの経験も共有します。

1卒業したばかりの大学生は通常何をしますか?

    多くの将来のプログラマーは、次の仕事に対して無制限のビジョンを持っていますが、将来の仕事に有能であるかどうかを心配している卒業生がもっといるかもしれません。彼らの心配は無理ではありません。

    1多くの大学のコースはより理論的であり、ソフトウェア開発のコースはほとんどありません。自動化およびその他の関連する専攻の卒業生の中には、関連するコースが少ない場合があります。

    2卒業生の多くは、会社の組織やソフトウェアプロジェクトチームの構成、ソフトウェア開発の日々の仕事を理解しておらず、将来有能かどうかも理解していない。

    3多くの大学生にとって、彼らが接触するソフトウェア開発プロジェクトは、卒業デザインやコースデザインなどの学習プロジェクトであり、彼らはソフトウェア開発プロセスを直接経験したことがないかもしれません。

    しかし、多くの企業は、新しく採用されたプログラマーの卒業生に大きな期待を抱いていないため、この種の心配は実際には回避できます。具体的には、実務経験のないソフトウェアの卒業生にとって、彼らは通常何をする必要がありますか?

    主に現在のプロジェクトに従って、いくつかの基本的な追加、削除、修正、および検査を行います。プロジェクトチームごとに使用するテクノロジーは異なります。Springシリーズフレームワーク、Hadoopビッグデータフレームワーク、Pythonなどがありますが、卒業したばかりの従業員がいる場合は、基本的なトレーニングの後にサンプルコードを提供して、記述できるようにします。それに応じて。たとえば、リスク管理モジュールは、注文モジュールの追加、削除、変更、およびチェックコードを模倣するように作成されます。詳細には、以下のタスクポイントに分けることができます。

    1 pycharm、idea、その他の開発環境を自分のコンピューターにセットアップし、mysqlまたはoracleクライアントを構築し、jenkins、jira、その他の環境を構成するなど、環境を構成します。学ぶ、こ​​れらの仕事は一般的に質問ではなく、大したことではありません。ただ甘くして、何人かの先輩に助けを求めてください。

    2環境を設定したら、svnまたはgitからコードをプルダウンし、さまざまな環境変数を組み合わせてプログラムを実行します。これは大きな問題ではなく、人々に尋ねることも重要です。

    3以下は、コード記述を模倣するためのものです。このプロセスでは、見慣れないAPI呼び出し、さまざまなパラメーター、さまざまなフレームワークなど、さまざまな新しいテクノロジーに遭遇する可能性があります。しかし、5年の経験を持つベテランが新会社に入社しても、ソフトウェア技術が多すぎるため、同様の問題に直面すると言えます。したがって、最初の仕事では、ソフトウェア関連の卒業生は多くのことを学ぶ必要があります。実際、Baiduが他の人のコードに従って質問したり書いたりすることが多くなります。さらに、この新しいテクノロジーは絶対に達成できないわけではありません。すべてのプログラマーがこのようにここに来ます。

    4新卒者にとって、コードを書くことだけが間違いなく唯一のことではありません。これには、テスト、さまざまな会議への参加(要件レビューフレームワークの設計とコードレビュー)、トラブルシューティング、およびプロジェクトの立ち上げも含まれます。 

    恐怖は未知のものから来ています。ここでは、卒業しようとしている大学生のための将来のソフトウェアの可能な日常業務について説明します。私はここで敢えて言いませんが、あなたは適応して有能になることができますが、ほとんどの卒業生にとって、あなたが必要な努力をし、もっと勉強し、人々にもっと尋ね、そしてもっと残業する限り、あなたは間違いなくできるでしょうこの種の作業を短時間で行います。

2同様の日常業務、同じプロジェクトチーム構成フォーム、および同じプロジェクト開発モデル、

    ソフトウェア会社にはさまざまな種類がありますが、これらの会社によって、プロジェクト開発モデル、プロジェクトチームの編成、およびその中での日常業務はほぼ同じです。前回の記事で日常業務について説明しましたが、残りの2点はこちらです。

    プロジェクトチームの構成について話しましょう。プロジェクトの規模は一般的に異なりますが、部門の規模とプロジェクトチームの規模を同じにしないでください。たとえば、部門には50人以上がいますが、通常、部門には複数のプロジェクトチームがあります。

    たとえば、著者が働いていた部門は「オフラインサービス部門」と呼ばれ、約60人で構成され、オフライン取得、検索サービス、フロントエンドプロジェクト、アプリプロジェクトなどのいくつかのプロジェクトグループに分けられます。ほとんどの企業では、各プロジェクトの規模は一般にそれほど大きくなく、通常は10人で構成され、通常はプロジェクトマネージャー、多数のプログラマー、および多数のテスターで構成されます。プロジェクトチームによっては、フロントエンドが導入されました。設計、データベース管理、運用および保守のポジション。

    プロジェクトマネージャーの役​​割は、外部の要件を満たし、要件に応じて開発サイクルとリリースサイクルを策定し、要件設計、詳細設計、その他のタスクを使用して、ビジネスタスクを開発タスクに分割し、プログラマーに割り当てることです。 。次に、指定された時間内に開発を完了するようにプログラマーに確認または促し、テストに合格した後、コードを生産ラインにデプロイします。一部のプロジェクトチームでは、プロジェクトマネージャーが依然としてテクニカルリーダーの役割を果たしていることがよくありますが、プロジェクトに割り当てられているテクニカルアーキテクトもいます。

   プロジェクトチームで最も一般的な役割はプログラマーです。これはあなたが従事するものです。プログラマーは通常、開発に加えて、テスターと通信し、インターフェイスの設計とデバッグについて他のプログラマーグループと通信します。さまざまなオンラインの問題のトラブルシューティングとデバッグを待つのが最善です。

    プロジェクトチームでは、通常、テスターが配置されます。ほとんどの場合、上級プログラマーが同時に存在します。たとえば、ビジネスとテクノロジーに精通しているプログラマーは、開発に加えてテストも実行します。

    ほとんどのプロジェクトチームは、プロジェクトマネージャーとプログラマーで構成されています。部門には、専用のデータベース管理チーム、運用および保守開発チーム、フロントエンド開発チームがあります。これらのチームは、この部門のすべてのプロジェクト開発チームにサービスを提供します。要求に応じて、プロジェクトチームは、フロントエンドやデータベース開発などの追加のポジションも構成します。

    ほとんどの企業では、プロジェクトの開発とリリースのプロセスはほぼ同じであり、現在のアジャイル開発モデルが一般的に採用されています。

    1各プロジェクトの開発とリリースのサイクルはもちろん1か月ですが、1か月半または2か月になることもあります。多くの場合、年の初めにその年のリリース日が設定されます。

    2各リリース日の開始時に、各プロジェクトチームは、ビジネス側や他のチャネルからさまざまな開発要件を受け取ります。これには多くの場合、期限があります。たとえば、開発サイクルの開始から1週間後、新しい要件を受け取ることはできません。 。はい、緊急の場合はタスクを適切に調整でき、緊急でない場合は次の開発サイクルに進むことができます。

    3タスクを受け取った後、アーキテクチャ設計会議、開発アーキテクチャの決定、詳細設計会議、モジュールの決定、インターフェイス会議、他のグループとのインターフェイスの決定など、さまざまな会議を開発し、すべてが決定された後、開発、開発問題が発生した場合は、自分で解決することも、話し合いを通じて解決することもできます。もちろん、開発には期限があります。

    4開発されたコードはテストのために提出されます。テストは通常​​、モジュールテストと他のグループとの共同デバッグに分けられます。一般的なテストと対応する変更は、リリースの1週間前に完了します。

    5最後はリリースであり、リリース日に最もストレスがかかることがよくあります。各チームが順番にコードをデプロイします。問題がある場合は、最初に原因を調査してから、相手が迅速に解決する必要があります。

    開発サイクルの終わりに、現在のサイクルのコードがオンラインでリリースされた後、次のサイクルの作業が始まります。

3異なる会社タイプと異なるプロジェクトタイプ

    ソフトウェア会社の場合、プロジェクト開発モデルとプロジェクトチームの構成は似ているかもしれませんが、会社の種類やプロジェクトの種類が異なれば、プログラマーの経験は大きく異なります。この記事では、前向きなことを話す機会を利用して、外国企業とインターネット企業の実務経験について話し、外国企業とインターネット企業のさまざまな実務経験について説明します。ここでは、関連するもの。違い。

    1大多数の大学院生の友人にとっては、Alibaba、Tencent、Baiduなどの大規模なインターネット企業やPinduoduoに適しています。このタイプの会社では、ペースは一般的に比較的速いです。たとえば、外国の会社での1か月のタスクは、通常1週間(またはそれより短い時間)で完了します。この種の企業では、プロジェクト開発サイクル中にいつでも新しいタスクが挿入される可能性があります。たとえば、問題が発生した場合は、迅速に修正する必要があり、技術的な課題は比較的高くなります。高い同時実行性と高いデータプレッシャーに対処します。課題と使用されるテクノロジーは、ビッグデータ、機械学習、分散コンポーネントなど、比較的新しいものになります。もちろん、残業はもっとストレスになるかもしれません。

    このタイプの会社では、個人はより速く改善し、より多くのお金を持っているかもしれませんが、それに応じて、人々はより困難かもしれません。

    2 2つ目のカテゴリーは、国営企業またはより伝統的な企業です。このタイプの企業では、タスク開発サイクルが比較的長く、比較的信頼性の高いテクノロジーが使用されます。他の特性も想像できます。

    3外国企業もあります。現在、外国企業の魅力はそれほど大きくないかもしれませんが、一般的に規模が大きく、文化的に多様であるため、より良いプラットフォームです。外国企業の方がリラックスしているかもしれませんが、技術の進歩はインターネット企業ほど速くないのかもしれません。

    4または、コストなどの理由で、1人が同時に複数のスキルを習得する必要がある新興企業もあります。卒業生の場合、さまざまなスキルにさらされることもあります。

    プロジェクトの種類については、大学院生の友人の大多数が関わっている限り、特に海外やアウトソーシング企業のプロジェクトの種類に注意を払う必要があります。

    アウトソーシング会社とは、自社製品を持たず、他社からのさまざまなアウトソーシング活動や、日本などからのさまざまな活動を受け入れる会社です。その中で、主にカスタマイズされた開発です。たとえば、相手が特定の製品の特定の機能モジュールの開発を許可します。この種のプロジェクトでは、使用できる技術は比較的単一です。

    アウトソーシング会社と比較して、別の種類の人材派遣会社があります。たとえば、ある会社が卒業生と契約を結び、それを別の会社に送ります。このタイプのプロジェクトチームでは、人員は通常、正社員と駐在員の2つのタイプに分けられます。2つのタイプの従業員は同様のタスクを実行できますが、ステータスと給与は同じではない場合があります。

4自分を過小評価しないでください。どの企業が注意する必要がありますか

     会社とプロジェクトを紹介した後、ソフトウェア関連分野の卒業生のための具体的な提案があります。

     あなたにとって、あなたはとにかく大学生なので、あなたには特定の選択肢があります。以下の会社にとって、あなたはもっと注意する必要があります。

     1一部の企業は、採用労働者の名前を使用し、トレーニングの費用を支払うために巧妙に名前を設定する場合があります。これは実際には変装したトレーニングコースです。トレーニングコースを通じて自分自身を向上させたい場合でも、より正式で有名なコースを見つけることができます。

     2人材派遣会社の場合、プロジェクトを行うためにパーティAの会社に派遣されます。現時点では、海外駐在契約を確認する必要があります。海外駐在が大企業への場合、またはお金がより正式な場合、これは大学院の友人にとってもオプションですが、海外駐在契約がより厳しい、または複数の場合レベルの下請け、またはファングの会社が正式でない場合は、注意する必要があります。

    3または他の専門的な仕事をします。たとえば、コンピュータサイエンスの卒業生が開発を行うのは普通であり、テストを行うことも、製品設計やソフトウェアトレーニングの教師を行うこともできますが、営業や営業で働く場合は、次のように言うことができます。本はあなたの将来の仕事にあまり役立たないでしょう、そしてもしそうなら、後でソフトウェア業界に戻るのはもっと難しいかもしれません。

    4一部のp2p企業など、雷が鳴る可能性のある企業。この種の会社は逃げるリスクがあるかもしれません、そしてそれはちょうどキャリアに着手したばかりの卒業生にとって大きな汚染かもしれません。

    5新興企業や比較的小規模な企業の場合、この必要性にも注意が必要です。この種の会社すべてにリスクがあるわけではありませんが、会社が小さい場合や新興企業の場合は、後の段階で財務上およびオペレーショナルリスクが発生する可能性があります。再開。」「長く働かない」などの悪い記録。  

5あなたが好きな会社に入ることができるようにあなたの能力を短時間で向上させる方法

    したがって、比較的言えば、ソフトウェア卒業生の大多数にとって、彼らは以下の企業に注意を払うことができるはずです。

    1大規模なインターネット企業2外国企業3大企業4または一部はユニコーン企業5または、大企業に駐在員として参入することを検討できます6または、中小規模のソフトウェア企業を検討できます。

    卒業生は一般的に4年生から就職活動を開始し、就職の時期は通常、1年生が始まったばかりの9月から5月までです。これまでソフトウェア開発プロジェクトに触れたことがなくても、この時期にもっと心配していれば、大企業やより良い企業に参入する機会があります。私は何をすべきか?

   1一般的に、4年生にはインターンシップがありますので、実際にソフトウェアプロジェクトに取り組み、実際のソフトウェア開発プロセスを体験し、特定のビジネスニーズに合わせて実際の追加、削除、修正を行いました。 。物事。

   2次に、この経験をビジネスプロジェクトの形で履歴書に書き込み、学習プロジェクトとして記述しないように注意してください。もちろん、2年生と3年生のときに、教師を手伝ったり、外でアルバイトをしたりするなど、ソフトウェアの仕事をしたことがある場合は、履歴書を書くこともできます。よりいい。

   3今回を公式アカウントとして使用したり、技術的なWebサイトで一連の記事を公開したりするなど、スキルを披露できるプラットフォームを実行してみてください。これらの記事では、あまり詳細なテクニックを説明する必要はなく、クリックも必要ありませんが、インタビュー中に使用できます。

   4これに基づいて、インターネットにアクセスして、さまざまな面接の質問、筆記試験の質問、アルゴリズムの質問を検索します。つまり、最初にプロジェクトの経験があり、2回目の面接で関連するプロジェクトの経験を伝えることができる必要があります。

   上記の4つのポイントを達成した後、卒業生が会社に与える印象は、最初に関連するプロジェクトの経験が少なくとも半年あり、次に基本的な開発に精通しており、強い責任感と学習能力にある程度精通しているということです。 、これは私が会社を見つけた卒業生を助けるのに十分であり、私が見つけることができる会社は500人以上の規模を持つべきであり、ビジネスは卒業生が良いキャリアを始めるのを助けるのに十分安定しています。名門校の要素を追加したり、プログラミング賞を受賞したり、公式アカウントで能力を証明したりすると、学校の採用に直接大企業に入る可能性がさらに高くなります。

6若者をいじめて貧しい人にしないでください。大きな工場に入るのに2、3年しかかかりません。

    結局のところ、主要な工場が毎年採用する場所の数は限られており、ソフトウェア関連の卒業生全員が一度に大きな工場に入ることができるわけではありませんが、注意を払う限り、卒業生の友人の大多数は2人または大きな工場に入る3年は難しいことではありません。これはが大工場入るとき同じですが、このブログ投稿で、仕事から2〜3年後に大工場に入る際の操作ガイドについて具体的な提案をします。

    1中小企業やアウトソーシング企業であっても、まずは半年で基本的な開発作業を行い、ソフトウェア開発の基本的なプロセスを理解する必要があります。

    2自分の仕事だけにとどまらず、通り過ぎることはできません。仕事を終えたら、テストやプロジェクトのリリースなどに注意を払う必要があります。

    3トラブルシューティングはスキルと分析的な問題解決能力を最もよく向上させることができるため、より多くのオンライン問題を解決します。

    4分散コンポーネント開発テクノロジー、機械学習および深層学習関連テクノロジーなどの貴重なスキルにさらに注意を払います。

    5仕事が終わったら、ブログなどで自分の能力を証明する必要があります。ある面で本を出版するのが一番です。

    実際、卒業したばかりの能力が平均的で、卒業後の会社の一般給与が平均的であっても、少なくとも2、3年で大幅な昇給を達成することができます。

7まとめとプレビュー:このシリーズでは、履歴書、面接、採用の問題に焦点を当てています。

    この記事は、ソフトウェア卒業生の大多数を対象としており、プロジェクト開発の日常業務と、さまざまなタイプの企業でプロジェクトを行う経験と開発の見通しを紹介し、これに基づいて、短期間の急速な改善のための提案を提供します。時間。一言で言えば、あなたが一生懸命働いている限り、あなたがどの段階にいても、あなたは常に報われるでしょう。

     私はテクニカルインタビュアーとして長年の経験がありますので、今後のブログ投稿で一連の履歴書、面接、採用関連事項でプログラマーと話をしますので、ご注意ください。     

おすすめ

転載: blog.csdn.net/sxeric/article/details/111603110