JuniorからIntermediate developerへの道のり。カナダの会社で昇格に効果のあった4つのポイント

プログラミング

先日、JuniorポジションからIntermediateポジションに昇格しました。

その人のスキルや会社の状況によっては、1年くらいで昇格をする人もいるようですが、僕の場合は結局1年半ほどかかりました。

ジュニアで入社して、自分の書いたコードをデプロイするのに、ものすごく緊張していたあの時と比べると、ここまで成長できたんだなと感慨深いです。
と、同時にもっと自分のキャリアパス的なことを、真剣に考えなければいけないなとも感じております。

と言うのも、ここまで特にポジションなんてあまり関係ないでしょというスタンスで働いていたからです。
すると仲のいいシニアポジションの方から、「そのマインドではダメ」とアドバイスを頂きました。

彼曰く、

  • 自分のやっていることが認められると、自信に繋がり、更に上を目指そうというモチベーションに繋がる。
  • ジュニアではなくなると、周りももっとシステムデザイン的な要求をし始める。そして、そういった部分の勉強を自分でもするようになる。

こういうのが総じて、プラスになる。とのこと。
まぁ間違い無いです。

とういうことで、僕がこのジュニア期間を振り返ってみて、今回の昇格に効果があったのでは無いかと感じるポイントをまとめてみました。

僕がやったこと。

プロダクトをとにかく知り尽くす

デベロッパーとして働くと、コーディングスキルを磨くことに、フォーカスしがちですが、自分の会社のプロダクトを理解することもとても大切です。

なぜこれが昇格の為に大事になってくるかと言うと、

  1. プロダクトを隅々まで知ってると、ミーティングで的確な発言をしやすくなる
  2. ミーティングで的確な発言ができるようになると、「こいつは色々理解しているな」と認められる
  3. すると、他部署とのミーティングにも、「ちょっと君も出てくれない?」と声がかかる
  4. 結果的に会社内でのプレゼンスが高まる

当初は、デベロッパーは「技術がなんぼでしょ」みたいなことを思ってガリガリ勉強してました。

しかし、結局会社で働く以上、評価されるのは、やっぱり存在感があるかないかみたいなところはあります。

個人的には、昇格にはこれが一番効果があったのではないかと思っています。

シニアを真似る (メンター的な人を見つける)

綺麗で、わかりやすくて、パフォーマンスも良いコードを書けるようになるには、自分で勉強するより、お手本となるコードを参考とする方が効率がいいです。
経験のあるシニアの人たちのコードを読むことは、一番の勉強材料になります。

同じチーム内に、「このようなコードを書けるように自分もなりたい」と思えるような人がいたら、それは絶好のチャンスです。

僕は幸運なことに入社してからずっとそのような人が近くにいたので、その方のコードを隅から隅まで読んで、わからないことを質問するようにしていました。

それを理解して、次のタスクでは、自分でも同じように実装できれば、ワンランク上のコードが書けるようになります。

見て学び、パクって自分のものにする。以上

自分より歴の浅いジュニアポジションの手助けを積極的に行う

自分より後に入ってくる、ジュニアポジションの手助けをすることは、たくさんメリットがありました。
一つは、説明する中で、自分がちゃんと理解しているところ、理解できてないとこが明確になることです。
しっかりと理解できてなくて、何となーくでやってきた部分がこんなにあったのかとショックを受けます。

ただ、この機会を利用して、しっかり理解しようという気にもなるので、チャンスです。

もう一つのメリットは、何より責任感が出ることです。
コードを書くにしても、何をやるにしても、お手本となるような事をしなければいけない。という気持ちになります。

このような経験を何度かするうちに、もうジュニアポジションでは無いかなと、周りからも、そして自分でも思うようになってくる気がします。

とにかくなんでもやる

最後は、ちょっと精神論ぽくなってしまいますが。

ジュニアデベロッパーたるもの仕事を選ばず何でもやれ

これは、一つ目のプロダクトをしっかり理解するにもつながってきまが、どんなバグが起きた時でも、色々なタスクをこなしてきた経験があると、すぐに問題解決できるようになります。

僕は現在フルスタックポジションで働いています。
フロントエンドでも、バックエンドでも、データベースでも、多種多様なタスクを行うことで、プロダクトをしっかりと理解できるようになったなと思います。

また、これからもウェブアプリを中心に働いていく上で、どこかスペシャルなものを持っていくことは当然大事ですが、サーバーからUIまで一連の流れを理解していくことは、同じくらい大切なことなのではないかと思います。

まとめ

カナダのWebデベロッパーと聞くと、完全実力主義という印象を持っていましたが、コーディングスキル以外のソフトスキルもかなり重要です。

実際に、昇格が早い人は、コミュニケーション能力が長けている印象です。

とにかく、ジュニアポジションで職に就いた場合、様々な観点で真似できるような、インターメディエートやシニアデベロッパーがいるとラッキーです。

とりあえず、今後は、まだまだ未知の世界、「シニアデベロッパー」を目指して精進します。

コメント