ソフトウェア開発者からソフトウェアマネージャーまたはチームリーダーに進むにはどうすればよいですか?[閉まっている]


42

私はソフトウェア開発者(パートタイムまたはフルタイム)に3年近く携わっています。私は常に、物事をリードし、物事を成し遂げるために組織を提供するためのコツを持っているタイプの人でした。大学に戻ってシニアデザインプロジェクトのリーダーを務めて以来、これはデスクコーディングの後ろではなく、これが私の真の使命であると感じていました。今、私は他の開発者が私を本当に尊敬するようにコーディングする方法を理解する必要があることを知っています。また、私はコーディングが大好きです。私は仕事以外で自宅で多くのサイドプロジェクトに取り組み、コーディングのベストプラクティスに遅れずについていき、ドメインの知識を継続的に追求しています。

私の主な質問は、コーディングの役割ではなく、より管理的な役割にキャリアを向上させるために、どのような種類または機会に注目すべきかということです。私が言ったように、私はコーディングが大好きですが、技術を支援しながら、高レベルで物事を設計し、物事を成し遂げ、進行状況を監視できるようにチームを編成できるようになりたいと思いますあちこちで決定。一日中デスクコーディングの後ろに座っているだけではなく、これらのタイプの物は本当に私を幸せにします。

明らかに、私の主な夢の1つは、最終的に爆発してそれを大きくする何らかのソフトウェアを自分で作成することです。自分の行きたい場所を得るために、自分のキャリアパスを少し変更するだけではありません。自分よりも雇用主に対して同じ満足を得ることができると思います。以前はそのように感じたことはありませんでしたが、主に自分が本当にやりたいことをしていないからだと感じています。

ヒント、ポインタ、または留意すべきことはありますか?これだけを行った人は誰ですか、もしそうなら、どうやってそれをしましたか?


どんな種類の教育がありますか?現在の位置にどのくらいいますか?
トーマスオーエンズ

コンピューターサイエンスの理学士号を取得しています。私は現在の位置に約1年間います。

1
@slandauあなたはPMの役割に就こうとはしていないことをはっきりと呼びます。それは明らかな方向として現れるかもしれませんが; あなたの説明と要望はPMの役割とは異なります。PMの役割が最終的にあなたが求めているものになるとは思いません。
アーロンマク

1
@AaronMcIverそれはあなたが働く場所に依存します。一部のPMはビジネスであり、一部のPMはより技術的な性質のものです。一部の場所では、「エンジニアリングマネージャー」がより一般的なタイトルである場合もあれば、単に「ソフトウェアエンジニア」である場合もあります。
トーマス・オーエンズ

2
まあ、最初に、あなたの魂をあきらめてください... :-)
ポールトムブリン

回答:


41

ソフトウェア開発の役割から管理職またはリーダーシップの役割への移行には時間がかかります。私はソフトウェア工学を専攻し、ソフトウェア工学プロセスを強調し、ビジネス管理とコミュニケーションを専攻しました。ソフトウェアプロジェクトの管理方法、採用および採用方法、チームをリードする方法、および口頭および書面でグループとコミュニケーションをとる方法に関する学術的な経験がありましたが、特に私が望んでいた業界では、ほとんどの管理職とリーダーシップの役割が見つかりました働くには、5年以上のソフトウェアエンジニアリングの経験が必要です(私は生協とインターンシップを含めて2人いました)。

それまでの間、私は単にプロジェクト管理のトピックに関する研究を続けました。

私が最初にお勧めするのは、優れたコミュニケーターおよび交渉者になることです。重要な会話をする方法を学びます。開発者としても、同僚、クライアント、ユーザーとの間で決定を下す必要があります。難しい会話をして、全員に利益をもたらす合意に達する必要がある場合があります。簡単な目標ではありませんが、「困難な会話:最も重要なことを議論する方法」という本は、これをカバーすることをお勧めします。他にも、過去に「いいえ」を取得する、「はい:提供せずに契約を交渉する」などが役立ちます。これらは、あなたがいる位置に関係なく関連しています。

より技術的な面では、ソフトウェア開発のライフサイクルを理解することは、ソフトウェアチームを率いて管理するために重要です。リーダーシップのポジションは、おそらく、要件エンジニアリング、ソフトウェアシステムアーキテクチャ、設計、実装、テストと品質保証、およびメンテナンスタスクに関与していることを意味します。これらのすべてについて専門家になることはできませんが、マネージャーまたはリーダーは少なくともそれらのすべてを理解する必要があります。開発者として、おそらくいくつかのテストを行いながら、ほとんどの作業を設計、実装、およびメンテナンスで行います。私は、ソフトウェア要件(およびその関連資料、ソフトウェア要件についての詳細)、実践的なソフトウェアアーキテクチャ(私の大学はソフトウェアシステムアーキテクチャ:アーキテクチャコースを受講した後、ビューポイントとパースペクティブを使用して利害関係者と協力し、推奨されています)、およびソフトウェア品質工学のメトリックとモデル

プロジェクト管理の観点から、プロセスモデルと方法論について学ぶことができます。スクラムやエクストリームプログラミングなどのアジャイルな方法と、ウォーターフォールやスパイラルなどの計画駆動型の方法があります。CMMIやパーソナルソフトウェアプロセス/チームソフトウェアプロセスなどの方法論フレームワークもあります。あなたに関連するものは、産業や会社の観点から、あなたが働く場所によって異なります。さまざまな方法論やフレームワークに関する書籍は多数ありますが、一般的なソフトウェアエンジニアリング管理およびソフトウェアエンジニアリングプロセスのために、Rapid Development:Taming Wild Software Schedulesを強くお勧めします。

教育を継続したい場合は、ビジネス管理トラックよりも技術管理トラックを見ることができます。技術的な管理職が必要な場合は、ソフトウェアエンジニアリング、ソフトウェアエンジニアリング管理、およびエンジニアリング管理プログラムをご覧ください。より多くのビジネス管理トラックについては、MBAプログラム、ビジネス管理、または強力な経済的または財務的要素を持ついくつかのエンジニアリング管理プログラムを検討できます。


1
ええ、しかし、実際にシニアソフトウェアエンジニアからマネージャーにどのように移行しますか?上に挙げたすべてのことを知っていると思うなら、私は公式のマネージャーの役​​割経験がなく、本当にすべてのことを本当に知っているという感覚だけを考えてそれを行うことができることを証明するために今何をしますか?このステップはどのように行われますか?
trusktr

19

これらの他の答えは素晴らしいですが、$ 0.02を投入します。私は現在の会社のジュニア開発者から、ランクを経てシニア開発者、そしてチームリーダー、そして現在はアーキテクトに移りました。数年かかりました。私が昇進するたびに、それは私がすでに仕事の側面をやっていたからであり、私の経営陣はちょうどそれを認識し、私に適切な役職を与えていたからです。したがって、私のアドバイスは、あなたが技術リーダーまたはマネージャーであると言われるのを待つことではありません。それらの役割の人々が持っている責任を引き受け始めてください。数か月または1年後には、基本的に目標とする仕事をしていることに気付くでしょう。彼らが気付いていない場合は、経営者にそれを指摘できます。


2
ある会社であなたが言ったことを正確にやったことで私は解雇されました(そして私を解雇したマネージャーも後に会社を辞めました)。それはよく合いませんでした。会社でトップの地位を獲得するための戦いであり、非常に競争的でエゴセントリックであるように感じました。人々が以前よりも大きなことを試み、達成するためにイニシアチブをとるとき、すでに高い人たちからサポート、励まし、指示を受けることができる会社にいることははるかに良いことです。
trusktr

9

トーマス・オーエンズはすでにいくつかの本当に良いアドバイスをリストアップしているので、私は完全な答えを提供しようとはしません(それに+1)。

いくつかのヒント/提案を追加したかっただけです:

  1. 誰かがあなたを導くようになるのを待ってはいけません。それを始めてください。私はあなたの上司に反対するつもりはありませんが、代わりに彼を助けるためにイニシアチブを取ります。あなたの上司が私のようなものである場合、彼は通常、彼のプレート上であまりにも多くのタスク/会議で過負荷です。彼があなたが追いつくのに十分な時間がないかもしれない方向を提供していると彼が見たら、彼はあなたにいくらかの管理責任を委任することを多分喜んでいるでしょう。時間が経つにつれて、あなたがこれを正しく行えば、上司はますますあなたに委任します(彼が心配することは少なくなります)。
  2. チームの構築とリーダーシップは、テクノロジーよりも社会学に関するものであることを念頭に置いてください(一般的なソフトウェア方法論の本の1つ、おそらくBrooksより)リードとしての目標は、人々とその行動を理解することです。これは、コンピューターの動作を理解することとは大きく異なります。この認識がなければ、優秀なエンジニアは最悪のチームリードを作ります。なぜなら、彼らはこの精神的な切り替えを行わず、マシンを制御するのと同じ方法で人を制御できないことに気付くからです。実際、機能していると思われる唯一のアプローチは、人々をまったく制御するのではなく、方向性を与えることです。リーダーシップに関する本/記事/ブログを読み、読み、読み続けます。私がお勧めできる本の1つはManagement 3.0です

...そして今、トーマスが投稿したリンクを確認します



これは悪いアドバイスであり、誰かが上司に頼まれていないことをしていることを示唆している。
プログラミングの教授

5年前、私が開発者だったときにこの質問に答えました。それに戻って、私はマネージャーの観点からそれを読むようになります。@ボナー-あなたは正しい。さまざまなスタイルのさまざまなマネージャーがいます。あなたは、あなたがするように言われなかった何かをするならば、あなたに眉をひそめます。その場合、あなたへの私のアドバイスはそのマネージャーから逃げます。私がリードになって以来、私がやったことは、みんなに独立して考え、交換できるようにすることです。私は各自に自分自身の仕事の狭い焦点のバランスをとるように頼みますが、自分自身を先読みし、より広い視野を見てください。
DXM

5

私は現時点では現在の立場を離れることを望んでいませんが、リリースサイクルのどこにいるかによって、コーディング以外のタスクに10%からほぼ100%の時間を費やしています。あなたが忍耐強く、観察力があるなら、あなたはあなたの現在の位置で「ただのコーディング」以外の何かをするために取ることができる多くの機会があります。例えば:

  • 新しいチームメンバーを指導するボランティア。
  • 会社が採用を検討している新しいツール、プロセス、またはテクノロジーの専門家になります。
  • 機能横断委員会のボランティア。
  • あなたが持っているアイデアについて話す。
  • 今後の機能のための会議を設計するために自分自身を招待します。

この種の機会に興味があることを上司に伝えてください。現在の責任でうまくやっていると仮定すると、上司が現れたときにあなたに向かって機会を導きます。イニシアチブは非常に重要です。ほとんどのマネージャーは、あなたが現時点では資格があるとは思わない場合でも、少なくともあなたに観察させます。


4

プロジェクト管理の役割に移行したい場合、夜間のクラスを受講してMBAに向けて取り組むことは絶対に害にはなりません。

別のオプションは、PMBOKプロジェクト管理知識体系の認定を検討することです。実際のリーダーシップの経験が数年あるか、上記の2つの項目のいずれかがない限り、多くの場所はあなたを考慮しません。

PMBOKは非常に厳しいテストであり、合格するには多くの勉強が必要です。また、テストを受ける資格を得るために、実際のプロジェクト管理とリーダーシップの経験に関する要件があると思います。


3
たぶんそれは私だけかもしれませんが、特に技術管理やリーダーシップに興味があれば、ソフトウェアエンジニアリング管理の学位またはエンジニアリング管理の学位を取得する傾向があります。エンジニアがMBAを取得し、実際にエンジニアを管理したりリードしたりするのではなく、ソフトウェアプログラムのビジネス側に押し込まれるのを見てきました。
トーマスオーエンズ

@ThomasOwens、それは良いメモです。それがほとんどの技術的な場所に翻訳されるかどうかわからなかったので、私は常にMBAを取得することをheしていました。
slandau

PMP試験はそれほど難しくありません。
モロン

@Morons私は、いくつかのPMが彼らの経験について私に言ったことを続けています。しかし、今私はそれについて考えると、これらの2人はそれほど明るくはありませんでした。
maple_shaft

2

プロジェクト管理に向けて働きたいと思うかもしれません。ソフトウェア開発内の多数のPMポジションには、コーディングの経験も必要です。

私は、あなたがあなたが望む管理/リーダーシップを得る責任に成長できるポジションを探します。はしごを上に移動すると、作業している場所で物事がどのように機能するかに基づいて異なる外観になります。ただし、コーディング経験が少なくても、リーダーシップや管理経験がある場合は、PMの職に就くことができます。


これは、元の質問で述べられていました:「...どんな種類のことや機会を探しているのか、コーディングの役割ではなく、より管理的な役割に自分のキャリアを進めるのに役立ちます...」@slandauは、これを行う方法に関するアドバイスを探しています。
トーマス・オーエンズ

1
はい私は同意する。どのように私がそれに向けて働き始めるのか、何かヒントはありますか?
-slandau

うん、意図せずに誤って投稿ボタンを押してしまった。
D ..

@D ..、私はいくつかのリーダーシップの経験がありますが、それはすべて私が大学に戻ったサイドプロジェクトとプロジェクトでした...それで十分かどうかはわかりません。それは...ですか?
-slandau

そうではない可能性が高いので、あなたはそれを提供するプロの仕事の経験に傾倒したいと思うでしょう。一部の場所で上級開発者の役割に向かって作業する方が簡単な場合があります。私はあなたが望むことをしているオープンなポジションに目を光らせ、要件を見て、あなたが最も一般的なものを手に入れる機会をとるでしょう。私が働いてきた場所のほとんどは小さく、多くの労力なしで次のレベルにきちんと上がることができました。あなたの現在の仕事を見てください...あなたはそこに移動できますか?たぶん、あなたはあなたが現在利用できる場所から定義されたパスを持っているでしょう。
D ...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.