エンジニアとしてのスキルアップと成長をリンクさせるには‥
バヅクリCTOの合原です。
昨年はメンバーが増員したこともあり、
プロダクト開発チーム(=以降DXチーム)の成長を考える機会が増えてきました。
エンジニアとして成長‥とは?
スキルアップ=成長なのか?
スキルアップすると、必ずしもエンジニアとしての成長につながるのか?
スキルとは
スキルと一言で言っても、とても多岐にわたります。
一般的には、
言語理解(これは各社お使いのappによりますかね)
コンピュータ基礎
webセキュリティ
フレームワーク
データベース
:
アジャイル、スクラム開発
マネジメント
‥etc
あたりでしょうか‥
こういった知識としての素養もあれば、
経験に基づくものもあります。
昨今では、バックエンド、フロントエンド(他にももっとある😅)技術領域は、担当領域内でも、さらに細分化されてきています。
スキルアップとは?
知識を得ること?
はてまた、開発経験を多く積むことでしょうか?
どちらも、間違いではないと思いますが‥
結論を先に👇
現在地(差分)を知ること
現在地を知り、目標との距離(差分)があるのかを把握すること。
そして、大切なのが、それをどう縮めて行くのか、
これが本質であり、
スキルアップ=成長につながる、
と考えています。
今の自分(現在地)を知ること
あるときは、今の自分と自分以外のエンジニアとの差。
また、今の自分と理想の自分との差であったり。
この差分を理解することが、
エンジニアとしての成長の第一歩につながる、
のではないかと。
現在地とは、今の自分。
もっと言うと、
「今の自分にできること」
一方、逆にできないこと。
これが他者(同僚、先輩、上司‥)との差分になります。
この差分を同定し、埋めること。
できなかったことができるようになること。
この経験をいかに多く積めるか。
知らなかったを知る
分からなかったが分かる
だけでなく、
自力て実践できるようになることが、
大事な点でもあると考えています。
できないことを知ること。(私の例)
記憶をたよりに、私の例を考えてみます。
‥私が2回目の転職したばかりの頃の話‥
当時サーバーサイドができる、と自分で豪語しているほどでした😅(恥)
※今にしてみれば、単にphpが読み書きできるだけでしたがw
あるとき、テーブル設計及び新規作成含む
アプリケーション開発を初めて業務で行うことになったのですが、
下記のような事態に直面しました。
エラー解消に何時間もかかってしまう‥
テストデータのテスト環境への適用に何時間もかかってしまう
原因は明らかでして‥
効率の良いデバッグができていなかった
SQLクライアントツールを使いこなせてなかった(そもそも、SQLを書けるようになっていれば良かっただけ)
(このときは、タイムアップになり、先輩代わりにやっていただき、結果、数分で解決‥😂)
一言で言えば、経験が足りなかったということに尽きます。
なんとも不甲斐ない経験でしたが、
こういったシーンがあるたびに考えされられたのが、
「自分は何を理解していなかったのか?」
何ができていたら、自分で解決できていただろうか‥(自分を振り返る、客観視する)
今の自分にできないことは何なのか?
できる人との差は何か?
何を理解してないのか?
業務中、業務外でも、
できなかった、知らなかったことがある度に、
愚直に調べ、公式ドキュメントを、読み漁り、
説通りに通りにいかないケースは、
本家のコードを読み込み、徹底的に理解することに努めていました。ときに、何時間もデバッグしたりと‥
また、実際「動かして、利用する」ということをしないと身にならない、ということも、経験上わかっていたので、インプットするだけでなく、
新しく学んだ技術を利用したプロダクト開発をし、自力で動くものにする、
というところまで、実践していました。
さらに‥
モチベーションが上がらないと物事続かないので、マネタイズもできないかと‥企み‥😅
学んだ技術を個人開発で、
実践、運用するということまで、
必ずやるようにしていました。
結果、
わからない、できないことに、直面するたびに、
何が理解できていないのかを理解し、
自分、人に聞くなどして勉強する(インプット)、
実践する(アウトプット)、
というのがあたり前になり、
気づけば、一介の
サーバーサイドアプリケーションエンジニアでしかなかったはずが、
DevOps対応をインフラエンジニアとともに進めたり、
Elasticsearchの選定、検証、導入までやったり‥
‥できることが増え、やれることも拡がりました。
開発以外の部分にも視点が行くようになり、
データ分析基盤構築の提案したり、redash導入し、非エンジニア向けに分析用のSQLを200本用意したり‥
ときに、改修案件に伴い統計的仮説判定まで、
仕組みを構築するといったことまでやれるようになりました。
今にして思えば、
技術的なスキルアップ=成長として、
ダイレクトに感じられていた時期でもありました。
技術的な成長から、自身のやれることが拡がる。
エンジニアとしての一つの成長の形だと考えています。
さて、技術的なスキルアップ=成長へとつなげられる経験を私はしてきましたが‥
このフローを、いかにバヅクリのDXチームに仕組み化するか。
組織としてのスキルアップ=成長の仕掛けが不可欠
嬉しいことに、
昨年入ったフロントエンドエンジニアは、
目まぐるしいスピードで、成長をしています。
ただし、
彼女自身の仕事のスタンス、パーソナリティに
起因するところが大きく、
チームとして、組織として、
この「成長」の仕組みを構築できていない点を
課題として捉えています。
もちろん、メンバー自身にも、主体的なスキル向上は望みますが、やはり、仕組みとして構築し、チームとして自然に開発力な恒常的に上がり続けるようにしたいところ。
エンジニアの「成長」が自然に生まれる仕掛けづくり‥現在、いくつか案がありますが、実践して、workしたら、また改めて報告させて頂けたらと思います📝💫
さて‥
そんなバヅクリですが、
上述したメンバーが、目まぐるしいスピードで、成長をしているのは上述したとおり。
自ら不明点あれば悩み過ぎず、
質問をする、調べる、
プライベートでも、日々、TypeScriptの課題をこなしていたり、と。とても行動力のあるメンバーです。
今の自分。
周りにいるエンジニアとの差分。
理想の自分を理解し、何ができたらいいかを考え、行動に移せる頼もしいメンバー🤓📝
当メンバーの技術記事はこちら👇(バヅクリエンジニアはzenn始めたのです🤓✨)
まとめ
スキルアップと成長をリンクさせるためには、
今の自分=現在地を知り、差分を埋めるための行動を起こすこと。
差分も会社内だけてなく、外にも視点を広げ現在地を把握すること。
結果として、最短ルートでエンジニアキャリアも的確に積めるのでは?と思う次第です📝✨
(‥恒例のですが)
さて、そんなバヅクリエンジニアご興味がある方は下記よりカジュアルにお話でもしましょう🤓💫
お待ちしております。まずはコードで語り合いたい‥という方は、
お気軽にペアプロなども柔軟に対応しますので😊🙇
この記事が気に入ったらサポートをしてみませんか?