私の友人はソフトウェア会社のプロジェクトマネージャーです。彼にとって最も苛立たしいことは、彼のエンジニアは頻繁に仕事を辞めるだということです。同社は、新しいエンジニアの採用、プロジェクトの異動、安定した品質の製品の維持に尽力しています。人々が去るとき、それは私の友人を夢中にさせる。
これらのエンジニアはかなり若くて野心的で、より高い給与とより良いポジションを望んでいます。ビッグボスは金銭的にのみそれについて考えており、彼の理論は「3人の初心者は常に1人のベテランより優れています」(これは経験豊富なエンジニア、私は間違っていることを知っています)。私の友人はその理論を嫌っています。
彼に何かアドバイスはありますか?
多くの人が仕事を辞めている場合は、作業環境が彼らに適していないことは明らかです。これは、作業環境が一般的に悪いために発生します。貧弱な管理、多くの残業、貧しい仕事の満足度。
しかし、会社が個々の開発者が個々の目標を追求する手段を提供していないためかもしれません。これは就職の面接で把握することが非常に重要なことの1つです。開発者はどこにいると思いますか、たとえば5年後。採用企業がその開発者にその機会を提供する立場にない場合、開発者は他の場所でこれらの課題を追求する可能性が非常に高くなります。
ですから、就職の面接では、長期的な個人的な目標が会社として提供できる範囲内にある候補者を見つけるように注意する必要があると思います。
そして、はい、私はあなたに完全に同意します、1人のベテランは3人の初心者より優れています。
組織の離職率が通常より高い場合、常に理由があり、それは常に管理です。
鏡で見るように友達に言ってください。彼が求める答えはそこにあります。
会社を辞める人にポストインタビューをするのはいいことだと思います。そうすれば、なぜ人々が去るのかという本当の問題についてヘッドアップすることができます。そうでなければ、救済策を見つけることは非常に困難です。
誰でも時々やめることができます。 禁煙の文化 を採用する必要があります。
しかし、私たち全員ができることが1つあります。実際、今すぐこの瞬間に、みんなで一緒にやりましょう。従業員、先に進んで自分に言ってください:
I know that I will quit my job, and there’s nothing wrong with that.
次はあなたの番です。雇用主/マネージャー:
I know that my employees will quit, and there’s nothing wrong with that.
私たち全員がこれを受け入れたら、物事はよりうまく機能し始めます。結局、私たちは法律業界、会計業界、およびその他多くの企業に加わり、私たちにも十分に油を差された機械ができます。しかし、まず第一に、私たちは禁煙することを恐れずに受け入れる必要があります。
これは、作業環境を愛するソフトウェアエンジニアにとっては通常のことではありません。
Joel Test を使用して、開発者に最適な作業環境を作成します。
あなたの友人が証明するように、これらのものはコストがかかりますが、売上高もそうです。より良い作業環境とより優れたソフトウェアチームの作成にかかるコスト(時間またはお金)は、売上高の削減による節約と、長期的なチームが生み出すより良い結果によって簡単に相殺されます。
給料だけで「若者」が去るとは思わない-どちらかといえば、責任が少なく、キャリアが長い若い人々は、私たちのディノスができないリスクや仕事、楽しいことをする余裕がある。
しかし、上司が3人の初心者が1人のベテランよりも優れていると考えている場合、彼らが去っていくことは確かにわかります。
従業員は、より良いワークライフバランス、興味深い仕事、キャリアの可能性(名前の認識を含む)などを望んでいます。彼らは、ある種の給与を受け取ることをいとわないかもしれません。
私は、関係のないドメインの単調な小さな会社よりも、フォーチュン500のハイテク企業やエキサイティングなスタートアップで働きたいエンジニアが多いと思います。
しかし、私はまた、誰もまたはほとんどすべての人が上記を相殺できる価格を持っていると考えたいと思います。
したがって、会社が非財務的な方法(管理など)で十分に変化していないか、提供している内容が十分に変化していないかのどちらかです。
この会社の大きさは?
私は常にこれが最も一般的であると思っています。
問題は、私が推測している大きなボスです。
彼は中小企業であり、必死にお金を稼ぎ、クライアントを獲得しようとしています。お金はおそらくきついため、おそらく平均給与よりも低く、給付はほとんどありません。
それは、あなたがまともなお金を払わなければならない最高の才能を保持するか、または彼らが留まる理由がある他の理由があるという、悪循環です。クールなものに取り組んで、うまく実行してください。
ソフトウェア部門が絶えず新しい人を獲得している場合、(1)それは本当に簡単な仕事である、または(2)それは大変な仕事であり、会社が莫大なお金を浪費しており、プログラマーがシステムを十分に習得する前に数か月も支払う実際にそれに対応するために。
友達の仕事が(2)の近くにある場合、友達の上司はばかです。難しいプロジェクトでは、熟練したベテランのプログラマーは、10人以上の環境に優しいプログラマーの価値があります。環境に配慮したプログラマーにとって、それは実際にはソフトウェア開発ではなく、R&Dです。彼らは実際のコードの作成に2%の時間を費やし、98%の時間を研究、設計の再設計、いくつかの変更を行ったときにプログラムが適切に機能しない理由の解明、バグのテストに費やします。
あなたの友達に会社を辞めるように言います。上司は彼がそれをすべて理解したと思っているが、彼は実際には皆を悲惨にしているただの独り言です。上司がソフトウェア開発/保守部門が荒廃していることに気付いた場合、それは遅すぎます...会社全体がカードのデッキのように崩れ落ち、株主と対面することになります彼のボスなど。会社には「エイリアンシップ」ソフトウェアと呼ばれるものがあります-かつて印象的だったものの喫煙殻ですが、それがどのように機能していたのか誰も知らないので、誰もそれを修正する方法を知りません。
また、友人に上司に思考実験に同意してもらうよう提案することもできます。 「あなたは上司としての仕事を失ったばかりで、今やあなたは開発者になりました。これがあなたの机です。さあプログラミングを始めましょう。」彼の上司が彼に方法がわからないと不平を言うとき、あなたの友人は言うことができます:「ああ?あなたは新しいですよね?それがどのように機能するのかわからないよ、そうですか?ちなみに、メモを取ります。それが終わったら、プロジェクトの設計を読み、コードを読み、開発者がソフトウェアを作成するときに行ったすべての会議を見ることができます。メールを読んでから、コードをもう一度読んでください。これらをすべて完了したら、プログラムの独自のコピーをいじってみましょう-ねじ込まずにソフトウェアを操作できるかどうかを確認します。以上がすべて終わったら、コードの最初の行を書く準備が整います。6か月後にお会いしましょう。」
ビッグボスに対処する方法は純粋に金銭的条件です-採用にはコストがかかり、ほとんどの場合かなりのコストがかかります。最初に行うことはそのコストを決定することであり、2つ目は節約がどのように行われるかを示すことですチャーンが減少した場合に作成されます。 (これは、チャーンのプロジェクトに対するコストの問題とはまったく別のものです。チャーンのプロジェクトはおそらく評価が困難であり、いずれにしても割り引かれます。)
解約への対応に関して、最初に尋ねる質問は、「なぜ彼らはとどまりたいのか」です。この会社が雇用主として提供するのは、スタッフが他にどこにいても失うであることです。これの一部は明らかです。つまり、給与とその他のメリットはそれほど大きくありません(プロジェクトの性質、作業の性質、ツール、オフィススペース、椅子(!)、トレーニング、作業環境、文化全体)。
もう1つの問題は、現時点では解約の概念がビジネスに固有であるということです。新入社員は、「先輩」の同僚が去っていくことを期待している環境に到着し、これが継承されます。
これはとても難しいです。上司の採用方針と彼の従業員の面倒を見たがらないという彼の意欲は会社を傷つけています。会社が繁栄するためには、これを変更する必要があります。
あなたの友人は、彼が会社にとどまりたいかどうかを決める必要があります。滞在したい場合は、現状に我慢するか、(どういうわけか)上司に変化を起こさせるかを選択する必要があります。どちらのオプションも簡単ではなく、2番目のオプションは潜在的に危険です。 (特に、彼がこの種のことについて入力を求めるような人ではないようであるので、上司が人員配置戦略を尋ねる下層部に親切に受け入れない可能性があります。)
簡単なオプションは、別の仕事を探すことです。これが最も現実的なオプションだと思います。
会社の労働条件、給与、労働時間、雰囲気、仕事と生活のバランスなどが悪いようです...
会社がこれらの条件を変更しない場合(そして上司が変更したくないように思われる場合)、常に頻繁に辞職することになります。
多分あなたの友人はまた新しい仕事を見つけることを考慮する必要があります。
あなたの友人はこのポリシーのコストを上司に概説したいと思うかもしれません、そしてそれは重要ですが上司が本当に彼の頭を包むことができるものではないので、私は製品品質について話していません。代理店手数料や商品の遅延などについて話している。
若い野心的なプログラマーは、彼らのキャリアがあなたの会社でこれ以上前進できないと感じるまで、一般的にあなたと一緒に働きます。大学を卒業した子供はおそらくジュニア開発者の地位をつかむでしょうが、1年後、彼は自分が「ジュニア」だとは思っていません。ベルト!
彼はより良い給料、より良いタイトル、そしてより良いプロジェクトを望んでいます。あなたの友人がそれらのものを提供できない場合、それが彼が人々を失っている理由です。
開発者の離職率が高い場所で働いたことはありません。私は、多くの専門知識を必要とする仕事の離職率が高い場所で働いていました。そして、その場所はそれに対処する良い方法を思いつきました。そして、それは意識さえもしておらず、場所がちょうど適応しただけです。そして、それを扱うその方法の主な部分はペアプログラミングでした。
まあ、それはプログラミングではなかったので、厳密に言えばペアリングでした。 :-)
Extreme ProgrammingがReally Coolになる前にこの場所で働いていたので、そのことは聞いていませんでしたが、会社はすべてを注意深く文書化し、経験のある人に一緒に座ってもらい、新しい到着を教えていました。実際には、誰かがリモートで複雑なことをするたびに、彼らはペアになりました。基本的に、あなたがnotペアをした唯一の時間は、両方の人が自分でとにかくまったく同じことをしたときでした。
プログラマーの離職率の高さの過ちは常に経営者であるという声明に完全に同意します。そして、このような場合、中間管理職が現実と上級管理職の間で圧迫されてしまうので、それは楽しいことではありません。しかし、友達がアジャイルな本をたくさん読んでいることを確認してください。特に、Kent Beckによるエクストリームプログラミングとテスト駆動開発に関する本を読んでください。テスト駆動開発とペアプログラミングを実装することで、コードの品質を高く保ちながら、知識を新しい人にすばやく転送できます。
それは問題を修正するほど良くはありませんが(あなたの友人は誰かがなぜ終了するのかを正確に知る必要があるので、彼もそれを修正しようと試みることができます)、それは問題をより目立たなくすることができます。
(また、常に無料のフルーツ、コーヒー、ソフトドリンク、キャンディーを用意してください。給与の引き上げを伴わない人々を維持する方法はたくさんありますが、友人が上層階からの予算なしにそれらを実装することはまずありません)。