社内のジュニアをトレーニングする方法:Lodoss Teamの経験

Lodoss Teamのテクニカルディレクター、特にNetologyブログのAnton Repyevは、インターンシッププログラムを編成し、若い専門家をゼロから成長させる方法についての事例を共有しました。



人事飢はIT企業にとって永遠の問題です。 誰もが独自の方法で決定します。誰かがHRブランドを高め、LinkedInで候補者を探し、誰かが開発者をゼロから教育します。 Lodossチームでは、2番目の方法を選択しました。 私は初心者の専門家向けのトレーニングを開発し、社内のインターンのトレーニングを監督しています。 この記事の内容を読んで、それが何に由来し、なぜ必要なのかを説明します。



ジョーンズを育てる理由



私たちの目標は、コースの終わりに、チームリーダーまたはメンターの監督の下で単純なタスクに独自に取り組むことができる、高品質のジュニア開発者を育てることです。 3か月間のトレーニングで、彼は社内のプロセスを理解するために、私たちが使用しているテクノロジーに関する広範な経験と理解を得る必要があります。



開発に優れた専門家はほとんどいません。多くの場合、他社から来た人たちは理想的なプログラマーの私たちの肖像と一致しません-あなたは再訓練する必要があります。



IT部門では、経験のある人を再教育するよりも「ゼロから」従業員を教育する方が簡単な場合がよくあります。


他社から来た人は、特定の種類のプロジェクト管理、コードスタイル、チーム関係にすでに慣れています。 彼らが新しい企業価値を受け入れることはより困難であり、彼らは以前の会社と現在の会社で働くアプローチを常に比較しています。 通常、そのような従業員がさらに発展し、成長することはより困難です。 これにより、チーム内の人の適応速度が大幅に抑制されます。



専門家が最初から会社の壁の中で成長する場合、彼は私たちと一緒に成長し、私たちの企業価値をより簡単に認識し、会社に忠実になります。 さらに、彼は私たちが取り組んでいる技術スタックに精通しています。



インターンのトレーニングを継続的に組織する必要があると最終的に決定したとき、2つの主な質問がありました。





トレーニング組織



長い間、トレーニング形式を選択することはできませんでしたが、最終的には理論と実践的なタスクを備えた本格的なトレーニングコースにする必要があると判断しました。



最初の問題は、SFU工科大学があるという事実によって解決されました。 その卒業生と上級生は私たちの潜在的な聴衆であり、多くはITの開発と仕事を計画しており、当社はそのような機会を提供できます。



2週間かけてトレーニングプランを作成しました。 この間、私たちは何をどのように研究するかを考え、プロセス規制を作成しました。 次に、コースとその利点の詳細な説明を含むランディングページを作成しました。



画像

リンク先ページには、インターンシップ申請者が必要とする資質も規定されていました



次に、ソーシャルネットワークでのインターンシップについて話しました。



画像



その効果はすぐに現れました-翌日、10人以上が私たちとのインタビューにサインアップしました。



入り口では、かなり厳しい制限がありました-私たちは、後輩やプログラミングから遠く離れた人々を連れて行きませんでした。 私はトレーニングへの参入のしきい値を非常に深刻にしました。 現在作業中のプロジェクトには多くのワークロードがあり、プログラミングの基礎を教えるために物理的に多くの時間を割くことができませんでした。 したがって、ターゲットオーディエンスは、すでに開発に精通している人たちです。



私たちのアイデアは、卒業生が卒業後も一緒に働き続けることでした。 さらに、研修生が持つべき最低限のスキルのためのフィルターがあります。 これは、彼らが困難で非常に膨大なプログラムを習得できるようにするために必要です。 したがって、最初のストリームで私たちに来た20人のうち、2人だけを連れて行きました。 その後、募集を繰り返し、さらに3人の候補者を選択しました。 そのうち4人は現在訓練を受けており、すでに1人の訓練生を追放しています。彼は高いペースのクラスに対処できませんでした。



コースを実施することは、私自身にとってテストになりました。 ワークロードと同時に何人の研修生を監督できるかを実感しました。 今、私は5つがたくさんあることを客観的に理解しています。 最初に私が普通に対処したら、それは難しくなりました。 これは論理的です。計画に従って進むほど、トピックは難しくなり、制御に時間がかかります。



学ぶべきこと



グループでトレーニングを行わないように特別にコースを設計しました。 誰でもいつでもトレーニングに参加できます。 これは便利です。一度にすべてを制御する必要はありません。 アカデミックトレーニングのスキームに従って行ったときの経験がありました。グループを集め、クラス用の部屋を用意し、トレーニングのために週に数時間を割り当てました。 私たちは理論を解体し、実用的なタスクを実行しました。 残念ながら、このアプローチはそれ自体を正当化するものではありませんでした。トレーニングを受けた10人のうち、1人だけが私たちと一緒に仕事をしていました。 まあまあの変換。



授業計画を準備するとき、私は会社の専門家に必要な知識と能力から進めました。 私自身は開発者であり、プログラマーのレベル、彼が解決できるタスクについて理解しています。



彼は、後続の各トピックが前のトピックの資料に基づいているようにトピックを選択し、研修生は次のレッスンで既に得た知識を使用できるようにしました。 最初は、Git、JavaScript、CSS、HTML、最新のフレームワーク、非同期で動作するという重要な質問をまとめました。 次に、単純なものから複雑なものまで、コンソールとgitからフレームワークまでの論理シーケンスを構築しました。



ここでは、ほとんどすべてのインタビューで見た写真を考慮しました。 申請者は、フレームワークの知識を持つ専門家が必要であることを認識し、ドキュメントをすばやく学習し、いくつかのチュートリアルを作成しようとしています。 その後、彼らは自分自身を専門家と見なしますが、実際の経験はありません。フレームワークの構文と機能についてさらに多くの知識が必要なのは彼です。



特別規則で規定した研修生、テーマ別計画、スキーム、研修規則の要件。

画像

規制からのインターンの要件



それから彼はトレーニングのコースを制御する方法について考え始めました。 2番目のレッスンでは、研修生はプロジェクト管理を行います。 このトピックを研究した後、彼らは独立してTrelloでトレーニングプロジェクトに入り、ガントチャートを維持します:



画像



学生の進捗状況を追跡するだけで、その時点で何が行われ、何が行われていないかを確認することは私に残っています。 これにより、時間を大幅に節約できます。 学生はプロジェクトを評価し、学習プロセスを管理することを学びます。 これは非常に重要です。どのプログラマも作業を正しく評価できる必要があるからです。



テーマブロックごとに、制御質問を作成しました。 トピックと課題のカリキュラムは次のとおりです。







ブロックはいつでも勉強できますが、連中は一貫して、すべてのセクションが口頭で合格する必要があります。



研修生は情報を複製するだけでなく、トピックを保護し、教材を所有していることを示す必要があります。 防御は次のとおりです。まず、必須の実用的な部分と問題解決を確認します。 コードについて質問し、コードの改善方法に関する推奨事項を示します。 その後、私たちは理論に目を向けます。ここでは、研修生がトピックについて一般的な理解を持つことが重要です。 一見しただけでは自明ではないが正しい答えを考えて与える必要がある場合、それぞれに難しい質問の一部が与えられます。



ところで、訓練生が3つ以上の借金を抱えている場合、彼は控除されます。 これは学習の追加の動機です。



教え方



私は認定教師ではありません。インターンプログラマーに最適なアプローチと教育方法を説明するのは困難です。

ただし、確実なことの1つは、経験を共有し、それに反応できるようにする必要があることです。 専門知識を示し、敬意を払う必要があります。 あなたが何かを隠そうとしているとき、決してうそをつきません-学生はそれをはっきりと見ることができます。



すべてを知ることは不可能であり、主なことはそれを率直に認めることを恐れないことです。 私があまり得意ではないトピックについて質問をされると、正直なところ、答えがわからない、または専門の同僚と相談する必要があると言います。



トレーニングスキームを熟考し、インターンのミニコミュニティを作成したかったので、Slackでそれを行うことにしました。 実際、専門知識を得ることに加えて、研修生はチームで働くように訓練され、質問への回答を見つけ、同僚を助けることができる必要があります。 これらすべてのスキルは、プログラマーの日々の仕事に必要です。



多くの場合、開発者は典型的な内向的です。彼らにとって、同僚とのコミュニケーションは非常に困難です。 実際のプロジェクトでは、チーム内のコミュニケーション不足が原因で問題が発生するため、トレーニング段階でこれらのスキルを活用することにしました。



Slackには、ニュースとヘルプの2つのチャネルを作成しました。 最初は、トレーニングに関連するニュースを放送します。 私は非公式なコミュニケーションのために2番目を計画しました。 このチャンネルでは、研修生は仕事の問題について話し合い、仲間から助けを求めることができます。 私は、彼らがお互いにどのように相互作用するかを観察し、彼らのコミュニケーションスキル、オープン性、同僚を助ける意欲を評価します。 ここで、インターンのソフトスキルを高めることができます。



学習は最終課題で終了します。 研修生は現在に近い小さなプロジェクトを受け取ります-約2週間の開発期間です。 それはすべて大人の方法です。最終的にプロジェクトの目標を達成するには、自分で決定を下し、実装戦略を熟考する必要があります。



卒業プロジェクトのレベルは包括的に評価されます。 評価と実装に費やされた時間、および目標を達成するために使用された決定などの瞬間を考慮します。 上級プログラマーは、内部標準および規則に準拠するコードの品質を確認します。 その後、一般的な評価を行います。



研修生が研究を正常に完了し、私たちのために働きに行った場合、私たちは彼を運命の慈悲に任せません。 新しい人ごとにメンターを割り当てます。メンターとは、正式に支援を求めることができる従業員です。 メンターは、可能な場合はいつでも研修生コードをチェックします。 これは、我々がまだクロスレビュースキームに取り組んでいるという事実にもかかわらずです。つまり、チームの全員が全員をチェックします。 インターンでも、シニア同僚のコードを評価します。



まず、ほとんどの場合、初心者はプロジェクトのアシスタントとして働きます。 チームに追加され、チームリーダーまたはプロジェクトマネージャーが特定のタスクを設定し、プロセスを監視します。 月に2、3回、ITディレクターは新人の適応がどのようになるかを尋ねることがあり、これに何らかの理由がある場合は新しい従業員の追加テストを行うことがあります。 その後、卒業生が当社で働き続けるかどうかを決定します。



企業研修プログラムから得られるもの



  1. 質の高い新しい人材の検索と募集。

  2. 詳細な技術面接を実施し、候補者のレベルを調べる必要はありません。 学習プロセスですべてが明らかになります。

  3. 会社の従業員を適応させるのに必要な時間は最小限に抑えられます。

  4. 雇用後は、初心者を注意深く監視する必要はありません。

  5. 規模と複雑さの点で前のインターンにどのプロジェクトを与えることができるかについての理解が形成されつつあります。

  6. 卒業生は、会社で機能するすべてのテクノロジーのスタックに精通しています。 彼は再学習する必要はありません。

  7. 1か月あたり平均1〜2人の新しい人が絶え間なく流れています。



一般に、トレーニングに費やされたリソースは報われます。 私の時間を指導者の時間として話せば、今のところあまり費やしていません。 システムを稼働させ、何が起こったかを理解したら、企業トレーニングの専門家を別に紹介します。



編集者から



トピックに関するNetologyコース:






All Articles