自主的20%るぅる

各々が自主的に好き勝手書くゆるふわ会社ブログ

ITエンジニアとして心がけてきたことを振り返ってみた【Agent Grow Advent Calendar 2023:3日目】

この記事は Agent Grow Advent Calendar 2023 の記事です。

気が付けば、自分のITエンジニアとしてのキャリアがスタートしてから
もうすぐ20年になります。1)あと2年くらい?

様々なライフイベントが発生しつつ、何とかここまでやってこられたので
このあたりで一度、自分がどんなことを考えて
ITエンジニアとして仕事を続けてきたのか
振り返ってみようと思いました。

どんな時にどんな事を考えてきたのか

あくまで個人のキャリアに基づく振り返りとなるため
奇遇にもこの記事をご覧いただけた皆さまに、お役に立てるものがあるかは分かりませんが
お茶請け程度に「へぇ~」と眺めていただければ幸いです。

まずはサラッとキャリア紹介

自分はエージェントグローに出会うまでに、 3つの会社で
主にエンジニアを経験してきました。

1つ目の会社はSESをメインの事業とする会社で、
初めての案件からずっとソロで案件参画していました。

2つ目の会社は、錬成解析と自社パッケージ開発を2本柱とする会社。
ここではパッケージの開発エンジニアをメインとしつつ、
社内サーバーの管理やセールスエンジニアも兼任しました。

3つ目の会社は、ふたたびSESがメインの会社。
ふたたび案件常駐型のエンジニアに返り咲きです。

それぞれの会社で4年程度働いたのち、エージェントグローと出会い、
現在もエンジニアを続けられています。2)つまり、エージェントグローで4社目ですね

エンジニアになる前

エンジニアを目指そうと思ったのは、大学の講義で情報処理の授業をサポートする
ティーチング・アシスタントの募集に参加したことで、
「ITに関わって仕事が出来れば、なんとなく楽しそうだな」と感じたのがキッカケでした。3)大学では教育学部に行っていましたが、教育学に興味はあっても教職に就く気はあまり無かったです

「こんなシステムを作って活躍してやろう」とか
「〇〇の言語を極めてテックリードになりたい」みたいな
メラメラとした情熱があるでもなく、エンジニアを目指すにあたって
アピール出来るような技術や経験を持っていたわけでもなく、
なんともゆるーい感じでエンジニアになってしまったんですね。

この時期に考えていたこととしては…

  • エンジニアとしてのキャリア的には、ゼロどころかマイナスからのスタートになるから、とにかく学び続けることは忘れないでおこう
  • 大学までに学んだことはすぐには役に立たないかもしれないけれど、いつかはきっと役に立つだろうから、無駄にはならない

というあたりでしょうか。

新人の頃

最初の会社では、入社前研修でC言語、入社後の新人研修でJava、OJTとしてC++を学んだあとに
入社後3か月で初めての案件に参画。

自社の先輩が入っている訳でもない、ソロで参画する案件で、
まったく経験のないC# + ASP.NET + SQLServerを使ったWebサイト開発に
実装メンバーとしてジョインさせてもらえるという、とてつもなく幸運な条件で
SESデビューすることが出来ました。4)まぁ参画翌月に本番リリースが控えていたのもあって、38時退勤とか、残業80hオーバーとか、色々あったんですけれどね!

この頃はとにかく、エンジニアとしてだけでなく
社会人として初めて経験することばかりということもあって

  • 大事なことや分からなかったことはとにかくメモしておく
  • 開発中に行き詰ったら一人で悩まず、苦戦していることを周りに言う
  • 先輩方に質問する際に、いつ質問していいか相手の状況をよく観察する

というあたりを意識していたと思います。

初めてユニットリーダーを任された頃

人生最初に参画した案件には、プロジェクトが解散になるまで
その後2年半ほどお世話になったのですが、参画から1年を過ぎたあたりで
複数システムの小規模な開発タスクを多数受け持つユニットのまとめ役として
白羽の矢が立ち任命していただけました。

参画先のプロパーや、他社から同じ立場でジョインしている年上のエンジニアも居る中で
『なんかそういうの得意かなと思って』みたいな理由で、任命していただけたのですが
まだまだ技術面ではヒヨコ同然。システム仕様も細かいところは全然分からない状態。

そんな中でも、何とか任されたことをこなしていくために

  • 自分用のホワイトボードを用意して「今日やること(頼むこと)」「進んでいること」「後で確認すること」をまとめておく
  • 設計チームからやってきた連絡事項をかみ砕いて、実装チームが迷わないように受け渡す
  • 事あるごとにチームメンバーに感謝する

みたいな事を考えて、毎日必死にチームの皆さんに縋り付いていました。5)この時のチームメンバーとは、会社を越えて仲良くなり、今でも関係が続いている方も居ます

炎上PJとの出会い

エンジニア人生で最初の案件のあと、スポット開発的な案件に携わり
その次にやってきたのは、歴が長いエンジニアなら経験した方も少なくないであろう(?)
いわゆる「炎上案件」に、実装メンバーとして放り込まれることとなりました。6)残業を含めた月の労働時間が300時間だと「今月はちょっと落ち着いたかな」という錯覚に陥ってました

参画前の面談の時点で「身体は丈夫なほうですか?」なんて聞かれましたし、
WBSの工数見積もりは1人日=12時間で引かれているし、
参画1週間でリタイアするエンジニアが居たり、
エンドユーザーと打ち合わせが行われている部屋では
怒号が聞こえてくるのが日常になっていたりと、まぁ中々な状況でした。7)案件を選べるようなスタイルの会社ではなかったし、そもそも当時は「案件は会社がアサインするもの」というのが
普通だと思ってしまっていたので、自分としては「ついに自分の番が来たか…」としか思わなかったのは
ある意味幸運だったのかもしれません。。

とにかくここで生き残ってシャバまともな案件に戻るために…と願いつつ

  • 昼ご飯や夜食など、確実に見えている少し先のことを楽しみにする
  • みんな残業漬けで疲れているし、タイポエラーや設計ミスを見つけても怒らない。
    『こんな感じに修正してもいいですか?』と提案する。
    何なら(事前に相談した上で)別担当の設計と実装まで巻き取る
  • ビルドが通るだけ、単体テストが通るだけでも、とにかく周りのメンバーとこまめに喜び合う

みたいな事を1年弱ほど考えつつ、どうにか釈放生還してこられました。

ただ、この時の会社は帰社日こそあったものの、会社のスタイルがそうさせたのか
帰属意識もみんな高いわけでもなく、ここで長くやっていこうという気にはなれなかったため
ある程度、エンジニアとして食べていける自信がついたところで、1回目の転職を決断しました。

初めての転職

1社目でずっとソロ案件参画だったこともあり、2社目に選んだのは
自社のエンジニアとチームで仕事ができる会社。

SESではなく、自社パッケージの開発と顧客に合わせたカスタマイズや
導入支援を行うポジションを選びました。

小ぢんまりとした会社の規模であったこともあり、自分にとっては
部署の移動もなく、同じ仲間と長く開発が出来るため
流れ者のエンジニアとして数年を過ごしてきた当時の自分にとっては、魅力的に映りました。

また、開発エンジニアとしてだけでなく、新たな顧客開拓を行うために
パッケージの導入を検討する会社に対してプレゼンを行う
セールスエンジニア的な立場も経験することになりました。

SESとは異なるスタイルに対応していくために、この時期は

  • 繰り返し行う仕事を楽にするために、小さなスクリプトを作って社内で共有する
  • たまにしか行わないけれど、手順が複雑な作業は、ドキュメントにまとめておく
  • チームメンバーの性格・志向に合わせて、コミュニケーションの取り方を変える
  • 自分が任されたタスクに、価値や魅力を感じられるように仕上げる

というあたりに、意識を向けていたように思います。

自社パッケージにまつわるアレコレ

自社のパッケージソフトといえば、聞こえは良いものですが
顧客に導入してもらうための準備や、導入後にスムーズに利用してもらうための
サポート・カスタマイズなど、システムを作って渡して終わり、にはしておけません。

時にはシステムの導入とトレーニングを兼ねて、顧客の会社の拠点へ
出張することもありました。

エンジニア職以外の方とも付き合いが生まれる中で

  • エンジニア用語ではなく、顧客の文化に合わせた用語で話す
  • 機能追加の要求を安易に請けるのではなく、既存機能の応用や運用でカバーできる部分がないか落としどころを探る
  • いったん完成させた機能でも、初めて操作する気持ちで使ってみて、さらに良く出来るところがないか検討する

みたいな部分を、大事にしていたような気がします。

結婚・子どもの誕生

2社目にいるうちに、結婚と第一子の誕生という大きなイベントもありました。

独り身のあいだは、気の向くまま、仕事の状況によるまま、高稼働を繰り返していましたが
愛する家族と長く一緒の時間を過ごしたいという気持ちが生まれるのは自然なもの。

ワークライフバランスを考えるうえで

  • その日ごとのゴールを考えて、定時までに間に合うように逆算して仕事に取り組む
  • 定時までに終わらなさそうな見込みがあれば、終わらなかった場合の影響を考えて事前にアラートを出す
  • タスクを他の人と分担する場合、どこまで自分が注力すれば十分間に合うか見積もる

は、しっかりと考えるようになりました。

仕事の効率はメキメキと上がっていったものの、上司との仕事の進め方の方針や
会社の状況と自分の目指すものに、少しずつ溝が出て来たことも感じられて
2度目の転職をすることに決めました。

育休を取った

3社目は、1社目よりは小規模ながら、ふたたびSESの会社にお世話になることに。

前職からの大幅な給与アップが見込めたことも魅力的でしたが、
男性の育休取得に対する理解があることが決め手になりました。

昨今は珍しくなくなってきた男性の育休取得ですが、この時期はまだ実績が少なく
実際にこの会社で育休を取得すること自体、自分が初めてのケースでした。

人生2度目の炎上案件に鉢合わせてしまう不運はあったものの、
案件の鎮火とほぼ同時期に、育休を取得。

初めての育休は3ヵ月ほどとなりましたが、ここまで大きな不調もなく
エンジニアとして仕事を続けてこられた自分にとっては、
こんなに長く仕事から離れたのは初めての経験。

エンジニアとして心掛けてきたこととは、ちょっと別になりますが
家族とじっくり過ごす時間を持てたことで、支え合う家族がいることの有難みや、
新卒以外からエンジニアを目指す方、別のキャリアを挟みながら
エンジニアを続ける方に対する敬意を、改めて抱く機会となりました。8)ちなみに第2子でなく、第3子の誕生のときは
エージェントグローで育休を取得しました。
その時のお話はコチラの社内ブログで!(謎の宣伝)

動くモノが見えないPJ

3社目で関わった案件で、いちばん印象深かったのは
とある金融事業に関わるプロジェクト。

ここまで関わってきた案件は、ブラウザ経由で利用するWebサイトの開発など
GUIで操作するものがほとんどだったのですが、この案件では
店舗で利用する端末と、ホストコンピュータとの間に存在する中継サーバで
通信内容の変換や制御を行うミドルウェアの開発を行っており
『担当内の処理すべてが、画面の無いところで完結する』に関わったのは
ほぼ初めての経験でした。

30年以上も前に書かれた、文字コード間の変換処理プログラム(C言語製)をJavaで書き直したり
かなり後ろのほうのテスト工程でないと使用許可が出ないテスト用ホストサーバの代わりに
簡易的なテスト用ホストサーバを構築したりと、技術的な要求も高いものがありましたが
開発経験のないプロパーが設計レビュー担当者になっており、ここのレビューをどう通すかが
大きな壁となって立ちはだかりました。

キャリアの異なる相手に、目に見えないものを説明し、理解してもらうために

  • ホワイトボードやたとえ話を使って、抽象的な概念・機能をイメージしやすくする
  • いきなり設計レビューに持ち込まず、相談や確認の名目で、設計の完成イメージを事前にお互いで共有しておく
  • 細かい部分の説明に終始せず、実現したい目的に対して適切な手段を用いているか
    理論立てて説明する

は欠かさず意識していました。

チームの雰囲気やポジションに対する充足感はあったものの、この環境に長く居ては
これ以上のスキルアップや進歩は望めないかも…と不安が頭をよぎり
ふと登録してみた転職サイトで、今まで出会ったことの無いタイプの会社に
出会ってしまったのでした。

自分で案件を選べるSES企業、エージェントグローとの出会いですね。

初めてのアジャイル開発

エージェントグローへの入社後は、案件を自由に選べる制度を
最大限活用しようと思い、今までに体験してこなかったことに
チャレンジしようと思いました。

これまで経験してきたプロジェクトは、すべてウォーターフォール型の
開発スタイルをとっており、アジャイル開発は名前だけは知っていたものの
まったく縁が無かったため、この形式にチャレンジできる案件を選びました。

ごく短いサイクルで開発とフィードバックによる改善を繰り返し、
変化を許容し、対応していくスタイルは
自分が知っていた狭い常識の中には無かった概念だったため
最初は衝撃を受けました。

この時に意識していたこととしては

  • アイディアも悩みも、自分の中に留めずに発信する
  • 分からないことに真っ先に手を付けて、自ら進んで失敗を共有する
  • 誰の考えであっても尊重するし、いっぽうで忖度なく指摘も行う

などで、自分には相性が良かったのか、程なくして
アジャイル開発の虜になっていきました。

リモートワーク

直近で参加している案件では、コロナ禍に見舞われたこともあり
リモートワークとなっています。(現在進行形)

エージェントグローの社員総会で使っている、Remoのようなツールで
常に意思疎通を図りながら、毎日の開発を進めているのですが
リモートワーク開始当初は、リアルに顔を合わせて勤務していた頃とのギャップが大きく
かゆい所に手が届かないような、もどかしさがありました。

参画先の担当社員にも、同じような立場で開発に関わるメンバーにも
毎日少しずつでも「今日もいい1日になったな」と思ってもらえるように

  • チームで会話中に発生した誰かの沈黙は、考えをまとめている最中のサインとして見逃さない
  • 感謝の気持ちや感情表現はオーバーなくらいにしっかり出す
  • 相手が画面を見ていなくても分かるよう、はっきり声に出して相槌を打つ
  • どんな事でも、チーム内で2番目の理解者になることを目指す

などについて、日々忘れないようにしています。


以上、ここまで続いてきたエンジニアライフを振り返ってみました。

大変なこともそれなりにありましたが、その場その場で出会った人への
感謝とリスペクトを大事にして、何とかやってこられた
キャリアの前半だったような気がします。

これからもまだまだ、エンジニアとして学ぶ姿勢、
チャレンジする姿勢を忘れずに、
日々楽しくエンジニアを続けていきたいものです。

振り返り雑記的なものをご覧いただき、ありがとうございました!

注訳はこちら

注訳はこちら
1 あと2年くらい?
2 つまり、エージェントグローで4社目ですね
3 大学では教育学部に行っていましたが、教育学に興味はあっても教職に就く気はあまり無かったです
4 まぁ参画翌月に本番リリースが控えていたのもあって、38時退勤とか、残業80hオーバーとか、色々あったんですけれどね!
5 この時のチームメンバーとは、会社を越えて仲良くなり、今でも関係が続いている方も居ます
6 残業を含めた月の労働時間が300時間だと「今月はちょっと落ち着いたかな」という錯覚に陥ってました
7 案件を選べるようなスタイルの会社ではなかったし、そもそも当時は「案件は会社がアサインするもの」というのが
普通だと思ってしまっていたので、自分としては「ついに自分の番が来たか…」としか思わなかったのは
ある意味幸運だったのかもしれません。。
8 ちなみに第2子でなく、第3子の誕生のときは
エージェントグローで育休を取得しました。
その時のお話はコチラの社内ブログで!(謎の宣伝)
Let’s share this article!

{ 関連記事 }

{ この記事を書いた人 }

この世界で飯を食って早15年以上。
技術の理解の遅さと、その遅れを最終的に取り戻すまで努力するところには定評があります。

趣味はいろいろ手作り、子どもと遊ぶこと。
猫が世界で2番目に好きな動物ですが、飼ったことはありません。

記事一覧