技術的なリーダーになるには、以下が不可欠です
3か月間大学を卒業していない人から30年間プログラミングをしている人まで、あらゆるレベルの年配のスタッフをメンターする能力
開発ドメインに関する十分な知識。これには、言語、フレームワーク、ユーティリティ、開発環境が含まれます
問題管理システム、プロジェクト管理スキル、バージョン管理についての十分な理解
頼りになるバグキラーになる
タイムリーなコードレビューの実施方法、探すべきこと、保持する時間と変更を最小限に抑える方法を知っている
開発ドメインの開発を最新の状態に保ちます。たとえば、.NET 2から新しいフレームワークや技術を学ばなかった場合、今日はかなり逆方向に物事をやっていることになります。
単体テストとモックを作成し、開発者にそれらを作成させる方法
設計パターンとは何か、いつ使用するかの知識
コードのにおいが何であるか、およびそれらを軽減する方法に関する知識
継続的インテグレーション
プロジェクトとリリースを計画する機能
組織と、スタッフにアーキテクトがいるかどうかに応じて、おそらく次のことを知る必要があります。
プロジェクトをコンポーネント化して機能部分に分割する機能
パスワードの正しい取り扱い方法、システムの分離、データの保護など、セキュリティの完全な理解
サービスバス、メッセージキュー、BizTalkなどのエンタープライズコンセプト
エンタープライズ設計パターン
SOAPやRESTなどのサービスアーキテクチャ/ RPC
Hibernate、Entity Framework、DoctrineなどのORMフレームワーク
継続的な展開
クラウド
プロジェクトに使用する正しいテクノロジーを推奨する機能。チーム/ショップが.NET、PHP、またはJavaのみを行う場合、これは難しいかもしれません。
将来の機能強化が容易に受け入れられるような方法でアプリケーションを設計する
開発マネージャーになる場合は、次のものも必要になります。
- 面接スキルと適切なスタッフを見つける方法
- チームメンバーの人々の問題に対処する方法
- ビジネスディレクティブ/目標を管理し、関連するものを開発者向けの情報に変換する
- さまざまなスキルのプログラマーの時間を見積もる機能
- スキルと能力に基づいて適切な開発者にタスクを割り当てる機能
最後に、他の推奨ポイント:
チームを管理することは、挑戦的な役割です。質問に答えられる人である必要があり、使用する適切なテクノロジーを知る必要があります(アーキテクトがいない場合)。スタッフによる(管理職を想定)。これに加えて、プロジェクトの収益性を確保するための正確な推定スキルが必要であり、問題を特定して迅速に修正するために、誰のコードでも手を汚すことができる必要があります。あなたはすべてを自分でやるのを避け、毒性のないチーム環境を育む必要があります。テクノロジースタックを常に把握し、最新の開発とテクニック、さらに業界全体のトレンドを学ぶ必要があります。
また、少なくとも1つのデータベースプラットフォームを本当に知っている必要があります。レプリケーションの方法、ストアドプロシージャ、クエリオプティマイザーの動作方法、スキーマを適切に設計する方法、およびインデックスを作成するフィールドを理解します。
正確な位置に関係なく、上級職では、効果的なコミュニケーション能力が必要です。自信を持って話せない場合は、Toast Masters(人前で話す)のようなことをしてください。アイコンタクトを作成し、保持する方法を学びます。自信を持って。体位に合わせて適切な服装をしてください。例でリード。