はじめに
「エンジニアキャリアについてあなたの考えをシェアしよう!」のキャンペーンに触発されてキャリアについて考えてみました。
この文章で私が「レガシーな開発環境」と表現している部分について一つ補足を加えておきたいと思います。
レガシーなシステムや技術スタックが悪いというわけではありません。それらは長い時間を経て築き上げられ、多くのビジネスを支えてきた証です。
私が「レガシー」と感じる部分は、自身のスキルセットが現代の新しい技術トレンドから取り残されているという自己認識によるものです。
私の現状と目指す方向について、以下で詳しく説明していきます。
自己紹介
新卒2年目のエンジニアで、PHPをメインに開発しているバックエンドエンジニアです。
「キャリアプラン」について思い浮かんだこと
キャリアプランについて考えてみて、思い浮かんだことを書いてみます。
- キャリアの悩み
- 将来エンジニアとしてどうなりたいか
- 叶えたいキャリアに対して、どういう行動をしているか
- キャリアに対しての自分が感じる劣等感
- キャリアとは別にエンジニアとして成し遂げたいこと
ここで挙げたことを見出しとして、それぞれについて書いていきます。
現在のキャリアへの悩み
現在の仕事とレガシーな開発環境
現在は2社目の会社で受託開発をしています。
1社目から共通してPHPとJQuery、HTML,CSSを使った開発の経験が多く、レガシーな開発環境に携わっていると感じています。
「モダン」といわれているような環境からはかけ離れており、現在の仕事では技術的な成長に繋がる環境に身を置けていません。
技術的な実力不足
現状の自分の技術スタックがレガシーなものに偏っていることもあり、弱いと感じています。
業務で利用したことがあるものを列挙すると以下のような感じです。
- PHP
- Laravel
- CakePHP
- Smarty
- JavaScript
- JQuery
- AWS
- EC2
- CloudFront
唯一、Laravelが使えているのはいいところですが、大規模なプロジェクトでの経験ではないので微妙、悩ましいと感じます。
将来エンジニアとしてどうなりたいのか
個人的に技術に触るのが好きで個人開発や勉強をやっている部分があるので、技術的な専門知識を持ちつつも、チームメンバーの技術的な課題を解決し、プロジェクトを成功に導くテックリード(リードエンジニア)になりたいと考えています。
ここで自分が言っているテックリードのイメージは以下の記事のものです。
テックリードという役割
叶えたいキャリアに対して、どういう行動をしているか
テックリードの立場になるために最低限、技術的な面での成長と、チームに対する影響を与えられるようになることが必要だと考えます。
技術のインプット・アウトプットの量を増やすことを意識しています。
アウトプットは技術記事の投稿と個人開発がメインになります。
最近は、自分の技術的な理解とコミュニケーション能力を同時に向上させるために、ライトニングトーク(LT)にも挑戦してみました。
上記のアウトプットを時々チームで共有するなどやってるアピールを見せることで先輩方のモチベーションをあげれているようです。
チーム内で、技術的な信頼を積み上げていけるように継続敵に努力しようと思います。
ほかには、プライベートで行っている先輩とのチーム開発をあえてNext.jsでやっていて、社内で公開しようと考えています。
サービスを使ってもらったり、新しい技術のメリットを実際に伝えるためのきっかけになればいいなと思います。
キャリアプラン
上記を踏まえて考えているキャリアプランを共有します。
技術力の強化
単に新しい技術を学ぶだけではなく、それが会社でどのように価値を生むのかを理解することにも焦点を当てて考えたいと思います。
個人開発や学習を継続し、その成果をアウトプットとして、具体的には技術記事やWebサービスの形で具現化していきます。
また、新しい技術を学ぶ際には、その技術が将来的にどのように自分のキャリアに貢献するのかを考慮します。
上記の価値とキャリアへの影響を軸に学ぶ技術を都度決めていきます。
さらに、積極的にチーム内で学んだことを共有し、新しいことを学んでいることをアピールします。
これにより、自分だけでなくチーム全体の技術力の向上やメンバーのモチベーションにつながることを目指します。
チームへの影響力の強化
私が目指すテックリードの役割は技術力だけでなく、チームへの影響力も必要とします。
そのためまずは自分の技術的な成果をチームで共有し、他のメンバーのモチベーションを高めることを続けます。
また、自分が学んだ新しい技術をチームに導入する提案を行い、チーム全体の技術力の向上に貢献することも目指します。
私のスキル向上がチーム全体の成果にどう影響するかについて考える時、私は以下の三つのポイントを重視して考えようと思います。
- 新しい技術の導入: 私が新しい技術を学び、それをチームに共有することで、生産性の向上を図る。
- メンターシップ: 私が学んだ知識や経験をチームメイトと共有することで、チーム全体のスキルレベルが向上します。
- 新しい視点の導入: 現在の問題を新しい視点から解決するためのアイデアを提供することができます。
これらのアプローチを通じて、私自身の成長がチーム全体の成果向上に直結すると考えています。
テックリードを目指す
参考にしている記事では、
自身の技術力、そしてリーダーシップをもってエンジニアチームのアウトプットを最大化させていくのがテックリードの役割である。
と記載されていて、これがエンジニアとして私が目指す姿に近いです。
私が目指すテックリードの役割は、単に技術力を持つだけではなく、チームへの影響力も必要とています。
そのため、自分の技術的な成果をチームで共有するだけでなく、他のメンバーの意見を尊重する姿勢も大切にします。
チーム内で浮いてしまわないように気を付けようと思います。
また、新しい技術を学んだ際には、その技術がチームやプロジェクトにどのようなメリットをもたらすのかを明確に説明し、チームに導入する提案を行います。
これにより、チーム全体の技術力の向上に貢献することを目指します。
さいごに
いろいろ書きましたが、今いるチームのメンバーが寛容な方ばかりで見守ってもらえる環境があるからこそ成り立つプランだと考えています。
チームに影響を与えたり自分がステップアップすることも大事ですが、会社に所属する身としては事業に貢献して売上を出すのが一番なので、今度は迷惑をかけないようにやっていこうと思います。
レガシーな環境を自分の働きかけで変えていくのは難しいと思いますが、チーム全体の成果を向上させるために、私自身のスキルを向上させることを最優先にしていきます。