前提
- 僕は新卒からいまの会社に入って以来ずっとWeb系アプリケーションエンジニアとして仕事してきました
- 自分がWeb系のエンジニアとして成長するにあたって必要なスキルについて考えたときに、ただコードが書けるだけでは評価されないだろうなということだけ何となくわかっているつもりだけど、言語化しないとどういうスキルがあるのか何が自分に足りないのかがわからない気がするので一旦ブレストしてみる
- 出来上がったリストを元に次にどこを集中的に伸ばすべきかというのがわかるのではないか
- ここでいう暗黙的とは、僕が学生の頃「Web系のアプリケーションエンジニアに必要なスキルはこれだろうな」と考えたときにきっと思い浮かばなかったもののことですが、人によってはこんなこと当たり前だろうと思うかもしれません
ブレスト結果
いくつかブレストした結果をグループごとにわけてみた。(ブレストといってもただパソコンに向かって箇条書きで思いついたことを次々と書き出しただけです)
タスク管理
- 要件をタスクに落とし込める
- 日本語でまとまった要件をより実現可能なタスクに変換できる
- タスクを細かいサブタスクに分割できる
- あてもなく作っていくのではなくちょっとずつ(しかも一人で作るとは限らない)作るだろうから細かく分割する必要がある
- 質や速さを天秤にかけて同じ要件を満たす様々なプランを思いつくことができる
- 今コストをかけて理想的な設計にするべきか、速さ重視で妥協して作るか、その間を取るかみたいなときに複数プランがあるべき
- プランが失敗したときのバックアッププランを用意できる
- タスクの見積もりができる
- どういう作業があるのか、どれくらい未知な領域があるのか、最悪ケースどれくらい作業が伸び得るのかなどを理解している
- 見積もりと実態がずれた場合の原因を理解し、次回に活かすことができる
- 様々な状況下を想定した(数人で並列ですすめる場合など)のタスクの分割や見積もりができる
- どのタスクがより優先順位が高いのかを理解している
- いつまでにどのタスクをやらないとヤバいのかを言語化できる
- 自分自身のタスクの進捗を管理できる
- チームのタスクの進捗を管理できる
コミュニケーション
- 上司や同僚に自分のやってることこれからやることの報告や相談ができる
- 自分が今困っていることやこれから困りそうなことを適切にアラート出すことができる
- 困っていそうな他人をサポートしにいける
- 自分のやりたいことや相手がやりたいことを加味して説得や提案することができる
- 相手に合わせて上手く口頭・テキストコミュニケーションができる
- それぞれのツールの使いみちや使い分け方やメリット・デメリットを理解している
- 自分のわからないことなど恥ずかしがらずにどんどん質問していける
- 障害発生時などに司令塔として他人に指示することができる
- 司会として会議を回すことができる
- 書記として会話の内容を上手くまとめることができる
チーム開発
- 複数人で働くときに円滑に進められるように困ってるメンバーのサポートにいける
- 別職種のメンバーと一緒に働く場合も含む
- メンバーのこと意識するだけでなく、自分のタスクを進めるべきときに集中して進めることができる
- 説得力のあるコードレビューができる
- 他人にレビューされることを意識したPull RequestやIssueが作れる
- チーム異動や転職直後に自分の知らない情報をまとめたり、他人に聞いたり、自分の元いた場所での当たり前の共有などができる
- 新メンバー受け入れ側の場合も、適切にそのメンバーがキャッチアップできるようにサポートできる
- 常にチームの状況をさらに良くするために振り返ったり改善していける
自己管理
- 自分の調子が良いのか悪いのか把握している
- ストレスの発散をする手段を持っている
- 安定して自分の良い調子を保つことができる
勉強
- 様々な情報を整理してまとめることができる
- 自分の強みや弱みを理解している
- 客観的に自分のレベルを理解している
- 自分の得た情報をチームや会社や社外の人々向けに発信していける
自分に足りてなさそうなスキル
上でまとめた結果、少なくともこれは自分に足りてなさそうだなというものをピックアップしてみた。
- タスク管理
- 質や速さを天秤にかけて同じ要件を満たす様々なプランを思いつくことができない
- プランが失敗したときのバックアッププランの用意があまりできていない
- 見積もりと実態がずれた場合の原因を理解し、次回に活かすことがあまりできていない
- いつまでにどのタスクをやらないとヤバいのかを言語化できていない
- コミュニケーション
- 自分が今困っていることやこれから困りそうなことを適切にアラート出すことがまだ苦手だと思う
- 自分のやりたいことや相手がやりたいことを加味して説得や提案するスキルがまだ低いと思う
- 他人に指示したり、司会をしたり、書記をしたりするのいずれもあまり得意ではない
- チーム開発
- 自分のタスクを進めるべきときに集中して進めることができなかったりする (メンバーのタスクのサポートやレビューを優先したりSlackばかり見てしまう)
- 説得力のあるコードレビューがあまりできていない
- チーム異動や転職直後に自分の知らない情報をまとめたり、他人に聞いたり、自分の元いた場所での当たり前の共有などがもっと上手くできるはず
- 自己管理
- ストレスの発散をする手段を持っているが、それでもストレスはためてるほうだと思う
- 勉強
- 自分の強みや弱みをそんなに理解していない、今こうしてブレストしているのもそういう理由の1つ
- 客観的に自分のレベルを理解していない、もっと社内・社外問わずいろんな人のレベルを見ていく必要があると思う
- 自分の得た情報をチームや会社や社外の人々向けに発信していけてない、特に最近は会社のチーム内に閉じていることが多い
感想
- 自分に足りていないスキルがたくさんある
- ブレスト時に自分にはこれが足りていないなと思うものが優先的にあがったとも思う
- なんかもっと色々ある気がするしリストに追記していきたいんだけど難しい
- これがかんたんにできるなら、人々は会社の評価システムをどうしようか何年も悩んでないよなという気持ちになった
- それはそうと、大学までは「勉強」にフォーカスを置いていたような気がしているけど(というか課題さえできれば、それ以外微妙でもなんとかなった)、社会にでたら「タスク管理」「コミュニケーション」「チーム開発」「自己管理」それぞれとても重要なんだなあという気持ちになりつつある
- 「このリストにこういう項目も含めると良いのでは」「すてにゃんこのスキルが足りないならこの本読むと良いのでは」などコメントあれば随時お待ちしています。こちらからは以上です