業界研究
受託開発企業でのエンジニアの働き方:閑散期
writer: 新城
投稿日: 2024.04.26
受託開発の仕事には閑散期と繁忙期があります。プロジェクトが始まれば忙しくなりますし、終わったら次のプロジェクトまではやることがなくなります。また、自分のスキルによってはすべてのプロジェクトフェーズに参加できる訳ではないので、プロジェクトの中でも空いている時期が出てくることでしょう。
今回の記事では、自分自身の経験や先輩方を観察して感じた受託開発企業であるあるの暇な時期と、その時期をどう活かしているかに焦点を当ててお話していきます。
プロジェクトが終わってから次の配属まで
これは想像がしやすいことと思いますが、受託開発企業にいるエンジニアはプロジェクトが終わると、次のプロジェクトが始まるまでは仕事がありません。これは新人、ベテラン問わず同じことです。早ければすぐに次のプロジェクトがスタートしますが、遅いと数か月空く時もあります。この期間の長さは営業とエンジニア間の力関係が関係しているのではないかと考えています。営業組織の強い企業だと、エンジニアの負担よりも売上を重視してどんどん引き受けるので、プロジェクトも次々と配属されることになります。一方、エンジニアの力が強いと、エンジニアの負担を考慮しながらの引受けになるので、切羽詰まったスケジュールになることは少ないでしょう。
弊社の場合、セールス部門がなく、エンジニアの力が強いので、プロジェクト間の平均空き時間は体感、1か月弱くらいではないかと思います。ちなみに、1つのプロジェクトの長さは数か月から数年です。
仕事はないが、お客様が開発担当者をキープしておきたいとき
意外とよくあるケースが、直近で依頼したい仕事はないものの、2~3か月後の案件に入ってもらいたいので、お客様があらかじめ特定の担当者をキープしておくことです。(実際は、本当に何もしないのではなく、調査依頼などの名目でキープすることが多いです。)2~3か月空くと、大抵は次のプロジェクトに配属されてしまうので、その前に押さえてしまおうということですね。お客様は仕事がない間もそのエンジニアのコストを負担しなければいけないのですが、予算が多いお客様と優秀なエンジニアの間にはよく見られる光景です。
もちろんその間、そのエンジニアは簡単な調査などはありますが、比較的時間ができることが多いです。優秀な人が多いので、そういった時間帯は調査以外にも他のプロジェクトの簡単な手伝いや自己研鑽に時間を使っている人が多い印象です。
担当できる業務範囲が少ないとき
【業界研究】エンジニアの種類と関係性で使用した図ですが、エンジニアはスキルや経験によって担当できる業務範囲が異なります。
例えば、経験豊富なシステムエンジニアであれば、お客様との渉外、設計、開発、テストとすべてを担当するので、お客様からニーズを引き出す段階から納品が終わるまで仕事が途切れることはありません。プロジェクトマネージャーもプロジェクト全体の進行に責任を持つので、最初から最後までプロジェクトに関わる必要があります。一方、駆け出しのプログラマーは、設計などのスキルがないので、プロジェクトが始まっても開発工程に移行するまで割り振られる仕事はありません。もちろん、その間に別プロジェクトでちょうど良い期間の開発案件があればそちらに入ることはできますが、そうは問屋が卸さないでしょう。そして、いざ開発が始まると、開発期間は意外と短かったりするので、プログラマーは急に忙しくなります。
筆者の場合だと、まだエンジニアとしての経験が1年ほどしかないので、開発・テストの工程しか担当できません。なので、設計がもうすぐ終わるプロジェクトがあったり、開発やテストフェーズで人が足りていないプロジェクトがないと仕事が入りません。仮に開発やテストフェーズのプロジェクトがあったとしても、難易度が高い場合は担当できません。もちろん営業組織の力が異様に強く、経験豊富なベテランがいっぱいいっぱいの職場だったりすると、経験の少ないエンジニアにも難易度の高い仕事が回ってくることはあります。ただ、それは一時的だと良いのですが、常態化すると新人ベテラン問わずエンジニアの離職につながるので、組織としてはあまりよくない状態かもしれませんね。少し話がそれましたが、このようにスキルや経験が少ないうちは案外社内に仕事があったとしても割り振られないことが多いものです。私の場合は、空いた時間をポジティブにとらえて、自己研鑽に時間を使うようにしています。将来、手が空くことがなくなったら一人前のエンジニアの証だと思って、日々、努力しています。
このように自分がプロジェクトに入っているからと言って必ずしも忙しいという訳ではなく、担当できる業務が少ない場合は仕事がない時も結構あります。同じプロジェクトメンバーのAさんが忙しくて、Bさんは忙しくないという状況は開発においては当たり前のことかもしれません。
実際、筆者が今、入っているプロジェクトではアプリケーションの開発が終了し、インフラ環境の構築を別のベンダー企業を交えて話をする段階に入っています。そのため、まだインフラ構築経験のない筆者は比較的空いている状態になっていますが、先輩方はお客様や他のベンダーと協議しながら作業を続けています。
このように、受託開発企業では季節ごとに閑散期や繁忙期がある訳ではありませんが、個人のスキルや経験によってはプロジェクトの最中でも時間ができることはよくあります。
空いた時間はなにするの?
では、プロジェクトに入っていない間は何をしているのでしょうか。筆者がしていることを具体的にあげてみると以下の通りになります。
-
HPにブログコンテンツを作成・投稿
-
自社製品「みんなでガント」の改修
-
次のプロジェクトで使用する言語の勉強
-
>自分が習得したい技術や資格の勉強
弊社の場合は自社製品の開発も行っているので、プロジェクトの合間はその手伝いをすることが多々あります。もちろん、それ以外にも時間はあるので、自身が習得したいスキルや将来やってみたい分野の勉強をすることもできます。この期間中を適当に過ごすことはもちろん可能です。ですが、この業界の成長速度や身につけるべきスキル量を考えると、サボらずに自己研鑽に努めた人と、そうでない人とでは、その後のプロジェクトで任せられる仕事内容も変わってくるので、知識と経験の両方で数年後には大きな差が開いてしまうでしょう。
勉強する時間があっても、目標や学びたいことが特にないため、何を勉強すればいいかわからない方もいると思います。就活中や転職活動中の方で同じ悩みの方もいるでしょう。 実際に筆者自身も最初は勉強したいことや目標がありませんでした。
そこでおすすめなのが、「とりあえずざっくり目標を決めて、とにかく行動してみる」ことです。意外と走り始めてみれば、「案外好きな分野だったとか」、「まったく興味がなかった」など良くも悪くも自分が進みたい方向が見えてくるものです。
筆者が決めたのは「やりたいことが出てきたときに、実現できるように基礎知識をしっかり身につけよう」でした。具体的にはITSS(ITスキル標準)レベル4の資格取得を目指して勉強しています。
まとめ
受託開発企業の閑散期と、その過ごし方についてまとめました。受託開発企業のエンジニアは、繁忙期・閑散期に季節性がある訳ではないですが、営業とエンジニアの力関係や、個人のスキルによって仕事の割り振られる量が大きく異なります。閑散期は自分自身のレベルアップに時間を使えるため、サボらずに自己研鑽できた人とそうでない人で大きな差がつきます。