それともマネージメントをする人が重宝されますか?
基本的に、エンジニアには、コードを書くことを強くオススメしています。
でも、一時的にはマネージメントをする時期があってもいいと思っています。
この記事では、その理由について説明します。
本記事の内容
- マネージメントの仕事内容
- マネージメント経験をどのように活かすか。
マネージメントの仕事内容
マネージャの仕事は沢山あるので、一つ一つ、説明していきたいと思います。
採用
採用活動と面接は、仲間を作るための大事な仕事です。
簡単に社員が採れる会社ならまだしも、そうでない場合は採用方法から考える必要があります。
会社のブランディング、採用媒体、魅力的な企業理念、面接など考えることは山ほどあります。
面接での質問内容や、スキルテストも考えなければいけません。
どういった面接がいいのかは、こちらの記事に書きました。
教育
社員の教育が、会社の命運を決めると言っても過言ではありません。
エンジニアの離職率が高い昨今だからこそ、熱心に社員の教育をする必要があります。
チームビルディング
個々のエンジニアがスキルを持っていたとしても、チームで成果を出せなければ意味がありません。
エンジニアにはクセの強い人もいます。
そういった個々のクセを把握した上で、成果を出しやすい思いやりのあるチーム作りをする必要があります。
技術選定
プロダクトに対して、どういった技術が向いているかを判断して決める必要があります。
これらは一例ですが、こういったことを判断しなければいけません。
- 広告だったら、スピード重視でプログラミング言語を選定。
- エンジニアをあまり雇えなかったら、採用しやすいPHPエンジニアを雇う。
- プロダクトを早く完成させたいのでRailsを使う。
- みんなが使いたがっているのでNode.jsを使う。
- プラットフォームはAWS、Heroku、GCP?
- Dockerを使う?
- リリースフローはどうする?
- アプリ開発は行う?
ナレッジベースの作成
効率よくプロジェクトを進めるためには、共有知(ナレッジベース)を作っておくべきです。
同僚と相談して、下記のような内容を決めなければいけません。
- 何のナレッジベースを利用するか?(例えば、confluenceとか?)
- どのような粒度でドキュメントを作成するべきか?
- UMLベースで、ドキュメントを書くべきか?
- Githubでissueを作るか?
プロジェクトマネージメント
製品開発が最も大事なことです。
キッチリとではないにしろ、ある程度は方針を決める必要があります。
- アジャイル開発なのか、ウォーターフォール開発なのか?
- 納期はいつぐらいなのか?
- 最初に実装すべき機能は何か?
企業文化の醸成
強く意識する必要もありませんが、何らかの指針は考えておく必要があります。
そして、いざとなれば、その指針にそって物事を決めるべきです。
Googleで言えば、「邪悪になるな」といった感じのことですね。
火消し
普段はあまりコードを書く機会はありませんが、プロジェクトで難解なコードがあった場合には、自分で解決する必要があるかもしれません。
そういった意味でも、自分自身の技術面がシッカリとしているというのは大事なことです。
マネージメント経験をどのように活かすか
ここまで読んだところで、多くの人は、「マネージメントなんてやりたくない」と思うはずです。
その気持はわかります。
実は、私もそう思っているからです(笑)
でも、一度はやってよかったと思っています。
なぜならば、CTOが悩んでいる時にその苦労がよくわかりますし、相談にものりやすいからです。
また、面接時に「CTO経験、リーダー経験がある」と言うと、年収を上げやすいポイントにもなります。
自分の価値を上げるという意味でも、是非、一度はチャレンジしてみて下さい。
こういった本に部下とのコミュニケーションの仕方が説明されています。
参考にしてみて下さい。
Good luck for your engineer life!
この記事が面白かった人は、こちらの記事も読んでみて下さい。