前回の記事(プロジェクト参加から9ヶ月経過して成長したこと)から随分時間が経ってしまいましたが、プロジェクト参画から2年2ヶ月経過してプロジェクトを完遂した今のS君の現状をお知らせします。

 

【担当業務】
今年に入ってからは、すべての機能を仕様を理解し、ほぼ全ての機能を開発・修正できるようになりました。

技術面では、Vue.jsの共通化を担当し、コード再利用を推進していました。

また、IronPDFなどのライブラリを使った機能については、マニュアルを確認しながら検証やコードを組み立てを行い、性能が低い部分の改善も行えるようになりました。

さらに、他の担当者のPull Requestに対しても、技術的な視点から指摘できるようになり、チーム全体のコード品質向上にも貢献しています。

他にも、Terraformを用いたサーバーやネットワークといったITインフラの構築・管理部分にも触れられるようになりました。

特に無駄な処理を減らす、可読性を高くする部分については意識が高く、以前とは比較にならないほど成長を感じています。

 

【上司の取り組み】

■ 技術の掘り下げ
 自社では月に3件以上新しい技術を学ぶ仕組みがありますが、「ただ技術を覚える」だけでなく、実務に活かせるように「疑問に思うこと」、「仕組みを知ること」を行ってきました。

 そのせいもあってか、S君に対してのPull Requestの指摘も厳しく深掘りして聞いてくるようになってきている気がします・・。

 

■ 相手に正しく伝える

 プロジェクト内では相手に語弊にないように、正しく情報を伝えるということが大切です。

 特にお客様相手となりますと、相手の視点・立場になって伝えられるようなスキルが必要となります。

 まだ、設計及びレビューで対策・実践していく予定ですが、以下が解決できるようしていきます。
 ① 相手の理解レベルに合わせる

 ② 簡素で具体的に伝える

 ③ 相手の反応を確認する

 ④ 一方通行にしない

 ⑤ 相手への思いやりを持つ

 

自主的に仕事ができるようになり、技術面も厳しい目線で語れるようになってきたので、本当に頼れる存在になってきたな・・と感じてます。

プロジェクトに参画して9ヶ月経ったS君の最近成長したこと。

 

前回の記事(プロジェクト参加3か月目)の要約】

 


【担当業務】
参画して3ヶ月間時点ではVue.js、C#、ASP.NET Coreを使った簡単な機能を担当しか任されていませんでしたが、現在(参画して9ヶ月間時点)では、Vue.js、C#、ASP.NET Coreを使った一覧系機能、登録・編集機能、Microsoft AzureのAzure Functionsサービスを利用した外部システムとのファイル連携する機能を担当し、主要機能を複数任せられるようになり、プロジェクトに欠かせないメンバーへ成長してきています。

 

最近では、他人がPull Requestしたコードを自主的に読んでコメントしたり、頭に思い描いたコードを書けるようになってきています。

中でも無駄な処理をしないようにする意識が高く、クラスの特性を理解したコード作成(計算量を減らすコードの書き方)は以前と比べて理解ができているように感じます。

 

【スキルアップ】

ここに上げてるのは、向上したスキルの一例となります。

 

■ PostgreSQLのスキル向上

 ・基本的なDML(SELECT/INSERT/UPDATE/DELETE)やDDL(テーブル作成や削除)などのテーブル操作

 ・テーブル結合(inner joinやleft joinの使い分け)やサブクエリを使用して複数のテーブルに跨ったデータ取得

 ・グルーピングを利用したデータ取得

 

■ C#のスキル向上

 ・Dictionary型やList型を利用したデータ生成や使い分けの理解

 ・LINQを利用したデータ抽出

 ・Dapper(ORM:オブジェクトリレーショナルマッピング)を使用したテーブル操作

 ・Dapper Plusを使ったバルク処理(データ一括操作)

 

■ Vue.jsのスキル向上

 ・propsを使用して子コンポーネントと親コンポーネントのデータ受け渡し方法

 ・emitを使用して親コンポーネントから子コンポーネントへのイベント発火(親から子へのデータ受け渡し方法)

 ・コンポーネント作成やslotを利用したコンポーネントの再利用方法

 ・watchを使用してプロパティ変更の検出

 

■ Microsoft Azure(クラウドサービス)のスキル向上

 ・C#のプログラムからAzure Storage Blobへのコンテナへの接続やBlobのフォルダやファイル読み書き操作

 ・Potalサイト上でAzure Functionsの実行や開発ツールからAzure Functionsのデバッグ実行など

 

【上司の取り組み】

■ Vue.jsの仕様理解の向上
 参画直後はC#、ASP.NET Coreを中心に習得をしていましたが、本人も希望もあって最近ではVue.jsやJavaScriptを中心としたタスクを中心に担当してもらい、Vue.jsの仕様理解するような機会を多く作っています。

 

■ 問題を考える力の向上

 何か問題があった時に今までは上司に答えやヒントを聞くというやり方が多かったですが、「その行動に何が問題なのか」「どう行動するのが良かったのか」を考えてもらい、自主的に行動を起こせるようにしています。

 

■ 報告の精度向上
 報告内容が以前は全くできなかったですが、報告の必要性を理解することで、「報告内容の方法」「報告タイミング」が改善し、仕事が円滑に進むようになってきました。

 

お世辞ではなく本当に仕事がやりやすくなり、プロジェクトメンバーからもS君へ相談が増えてきた感じはします。

3ヶ月間の研修を終えたS君は、2023年2月から研修時の上司がいる5名のプロジェクトチームへ配属しました。

 

【概要】
プロジェクトでは、開発言語にC#、フレームワークにASP.NET Core、フロントエンド技術にVue.js、クラウドサービスにMicrosoft Azureを使ったWebシステム。

 

S君の上司がPL(プロジェクリーダー)で、参画している開発メンバーは別の会社の社員ですが、3名とも20代半ばで開発経験も1-3年目と若手メンバー中心の構成となっています。

 

普段はリモートワークで仕事を行なっていますが、S君が初めての開発で不安だったため、最初の3週間は事務所に集まりマンツーマンで作業を行うようにしました。

【担当業務】
S君は最初の3ヶ月間は、Vue.js、C#、ASP.NET Coreを使った簡単な機能を担当。


最初はコードの良し悪しを説明できず、他の開発メンバーの不適切なコードをコピペして利用していたり、gitが正しく使えずconflict解消などにハマっていましたが、参画して3ヶ月が立つ頃にはコードを理解せずにコピペしていると他の人に正しく説明ができかったり、古い書き方を何も考えず使っているのは技術者として間違いだと気づき自分で考えてコードを作成できるようになり、CLIを使ったgit操作やconflictの解消も一人でできるようになりました。

 

【上司の取り組み】

Qiitaなどからコピペ元を探すやり方を身につけてしまうと、答えを見つけて自分で解決したと勘違いしてしまう技術者になってしまうため、公式サイトを見て自分で考えてプログラミングするやり方を実践してもらっています。

 

また、可読性を高めるようなコーディング、最適なコードになっているか、アルゴリズムの考え方を1つ1つ確認し、なぜこの書き方がダメなのか、どういう方法にするべきだったのかを考えてもらうようにしてもらっています。

 

【初めてプロジェクト参加してみた感想】
プロジェクトに参加する前は、新しいことに対する挑戦、成長していくこと、スクール・研修で身に着けた実力を発揮したいという高揚感がありましたが、それと同じくらい新しいプロジェクトに対する不安を感じていました。

自分自身も研修で成長した実感はありましたが、経験のあるプログラマーと比較するとまだまだ未熟なため、これから関わっていく人達に迷惑をかけてしまい見捨てられててしまうのではないかと不安を感じていました。


しかし、実際に入ってみると見捨てられることなどなく、上司は常に親身に相談にのってくれ、成長を実感する日々を過ごしております。

 

と、プロジェクト参加して3ヶ月経った今、S君は過去を振り返って上記のように話してくれました。