伊藤淳一氏が語る「僕の9年間の無名時代」。2023年版ITエンジニアの生存戦略【前編】

2023年7月4日

伊藤淳一

1977年生まれ、大阪府豊中市出身。株式会社ソニックガーデンのRailsプログラマ、およびプログラミングスクール「フィヨルドブートキャンプ」のメンター。ブログやQiitaなどでプログラミング関連の記事を多数公開している。将来の夢はプログラマーをみんなの憧れの職業にすること。主な著書に「プロを目指す人のためのRuby入門 改訂2版 言語仕様からテスト駆動開発・デバッグ技法まで」(技術評論社)などがある。

エンジニアのキャリアづくりは、スキルの積み重ねだけでなく、選択の連続でもあります。本連載では第一線で活躍するITエンジニアに、キャリアに訪れた転機との向き合い方をお話しいただきます。

記念すべき一人目は、会社員として開発現場でコードを書きながら、技術本の執筆やイベント登壇などエバンジェリストとしても知られる伊藤淳一(@jnchito)氏。20年目もなお活躍の幅を広げ続けるエンジニアライフの送り方を全3回に分けてご寄稿いただきます。

はじめに

みなさん、こんにちは。株式会社ソニックガーデンという会社でRubyエンジニアをやっている伊藤淳一と言います。

筆者は今年で46歳になりますが、「プログラマ35歳定年説」に反して、まだ開発の現場でコードを書き続けています。プログラマ歴はもうかれこれ20年になりました。

プログラマ・ITエンジニアとしての実績
  • ・書籍『プロを目指す人のためのRuby入門』を執筆(技術評論社、第1版 2017年、改訂2版 2021年)
  • ・プログラミングスクール「フィヨルドブートキャンプ」のメンターおよび顧問(2021年〜現在)
  • ・Software Design誌(技術評論社)やIT系メディアへの寄稿多数
  • ・IT系勉強会、カンファレンスでの登壇多数
  • ・雑誌、webメディア等のインタビュー記事多数
  • ・はてなブックマークのホットエントリーや、Qiitaの週間ランキングに掲載された技術記事多数
  • ・Qiitaユーザーランキング1位(2023年5月現在)
  • Twitterフォロワー 1万2000人以上(2023年5月現在)
  • はてなブログ購読者数 2200人以上(2023年5月現在)

Ruby界隈での活動がメインであるため、Rubyとは無縁のITエンジニアの方は「あんた誰?」になるかもしれませんが、もしかすると筆者のブログやQiita記事を読んだことがある、という方も中にはおられると思います。

ところで、読者のみなさんは5年先、10年先のご自身のキャリアについて、どういうイメージを思い描いているでしょうか?「こんなエンジニアになりたい」とか、「これぐらい有名になっていたい」とか、何かしら「今よりもすごい自分(そして今よりも稼げている自分)」を思い描いているかもしれませんね。もしくは、「エンジニアとして自信がない」「5年先、10年先も第一線のエンジニアとしてバリバリ働けているかどうかわからない」と不安になっている方もおられるはずです。

そこでこの記事では、筆者のこれまでの経験を踏まえて、この先もITエンジニアとして生き残っていくにはどうすればいいか、もしくは、生き残るだけでなく、ITエンジニアとして名を挙げるためにはどうしたらよいかという話を書いてみたいと思います。

ただし!ここで書くお話はあくまで筆者の経験に基づく話、つまりn=1でしかない体験談です。同じようにやれば必ず成功できる、という保証はありませんし、筆者以外の著名なエンジニアに話を聞けば、全然違ったエピソードが出てくると思います。また、日進月歩で変化し続けるこの業界のことですから、筆者が体験したこれまでの20年と、読者のみなさんが体験するこれからの20年はまったく別物になるでしょう。

ですから、ここに書いた話はすべてみなさんの役に立つとは限りません。しかし、中にはためになるものもいくつかあると思います。「なるほど、これはやってみる価値がありそうだ」と思うようなエピソードや考え方があれば、ぜひ参考にしてみてください。

新人時代、未経験&中途入社の筆者が意識していたこと

なんだかんだ20年、エンジニアとしてのキャリアを積んできましたが、実は筆者はもともとプログラマを目指していませんでした。大学でも文学部(の社会学科)を専攻していました。完全な文系人間ですね。

大学卒業後は就職せずに塾講師のバイトをやりながらバンド活動をしていたのですが、そのバンドがあえなく解散し、25歳の頃に「パソコンを触るのは好きだから、プログラミングの仕事もなんかやれる気がする」という理由で大阪のSIerに完全未経験で中途入社しました。

大したモチベーションもなくこの業界に入った筆者ですが、プログラミングの仕事は想像以上に楽しく、一気にのめり込んでいきました。

この業界に入った当時から筆者が考えていたのは「手に職を付けよう」ということです。もっと正確にいうと、「社外でも通用する技術力を身につけよう」ということです。

SIerなので、いろんな案件にアサインされていたのですが、その案件は大きく分けて「オープンかつ新しい技術を使った案件」と「クローズドかつレガシーな技術を使った案件」の2つがありました。具体的に言うと、前者は当時流行していたJavaのwebフレームワーク、「Struts」を使うような新規開発案件です。こういった技術は社外でも使われます。一方、後者の案件は、太古の昔(≒COBOL時代)から秘伝のタレのように継ぎ足し継ぎ足しで作られてきた保守案件で、そこで使われている技術はどう考えてもその社内でしか通用しませんでした。

ちなみに「オープンかつ新しい技術」と判断する条件は、新しい技術書が刊行されていたり、困ったときにネットを検索したら役立つ情報が出てきたりする技術で、「クローズドかつレガシーな技術」は反対に古い技術書しかなかったり(そもそも技術書が全くなかったり)、ネットを検索しても役立つ情報が見つからなかったりする技術です。

「社外でも通用する技術力を身につける」という観点でいうと、前者のような案件が良いのは間違いありません。そこで筆者は「Strutsみたいな新しい技術を使った案件がやりたいです!」と、折に触れて上司にアピールしていました。

また、単に「やりたい」と叫ぶだけでなく、技術書をたくさん読んだり、プライベートの時間を使ってコードを書いたりしていて、その実績も上司にアピールしました。

そのおかげか、上司からは「伊藤くん、こんな案件がやってきそうなんだけど、やってみる?」と、面白そうな新規案件のお誘いをもらったりしました。このときに実務を通じて学んだオブジェクト指向プログラミングやテスト駆動開発の知識は、筆者の現在のスキルの源泉になっています。

初めての転職活動で意識したこと

結局そのSIerには4年ほど在席していたのですが、残念ながら待遇はそこまでよくありませんでした。夜遅くまで頻繁に残業したり、土日に出勤したりしても、お給料は「う〜ん……」という感じでした。結婚して子どもが生まれ、妻から「この頑張りでこのお給料はちょっと😢」と打ち明けられ、筆者は転職を決意します。

妻は兵庫県西脇市という田舎町の出身なのですが、当時その西脇に「待遇がとても良い」と評判の外資系半導体企業があり、たまたまそのタイミングで社内ITエンジニアの中途採用をやっていました。そして筆者は運良く、その会社に転職することができました(そして、大阪から西脇市に引っ越しました)。

……と書くと「へえ〜」で終わってしまうので、「運が良かった」以外の転職成功の要因を考えてみました。

まず、筆者は前職のSIer時代から、社外でも通用する技術力のひとつとして「英語力」に目を付けていました。そして、英語に少しでも慣れ親しむために、英会話学校に通ったりしていました。決して外資系の会社に転職するためではなかったのですが、英語を頑張って勉強しているということは、少なからず面接時のアピールポイントになったと思います。

また、転職活動時には職務経歴書を書くことが多いと思いますが、筆者は職務経歴書に加えて「今までに読んだ技術書のリスト」を提出しました。SIer時代にはかれこれ200冊ぐらいの技術書を読んでいたので、普段からこれぐらいいっぱい勉強しています!」というのをアピールするためです。

面接の際はできるだけポジティブに、自分が会社にどういう貢献ができるのか、どう頑張っていきたいのか、といった点をPRしました。日本社会では「謙虚さ」や「謙遜」を美徳としているので、「自分はすごい」と語るより「自分なんて全然です」と語る方が好ましいと考える人が多いかもしれません。ですが、面接で「自分なんて全然です」と語っていたら採用されません。ウソは付かない範囲で、「こんなことができます」「こんなふうに貢献できると思います」と堂々と話した方が、きっと採用される確率は上がると思います。

そしてこれは転職後に上司から聞いた話なのですが、「実は伊藤さんは実務経験は合格レベルに達していなかったが、職務経歴書と一緒に「今までに読んだ技術書のリスト」を出してくれたから、今後の成長を期待して採用した」とのことでした。やった!「今までに読んだ技術書のリスト」が役に立ちました!

2社目の外資系半導体企業での勤務で意識していたこと

2社目の外資系半導体企業は前評判通り、前職とは比べものにならないぐらい待遇がよくなりました。給料は倍になり、土日出勤はゼロになり、定時で帰るのが当たり前、残業は「どうしても」という日に限って数時間、といった具合です。ちなみに、この時点では筆者はまだ完全に無名のITエンジニアです。

最初の2〜3年はとても楽しく働けていたので、「この会社に一生勤めたい!」と本気で思っていたのですが、数年経つと以下のような違和感が出てきました。

2社目で感じた違和感
  • ・社内の業務は半導体製造に関連するシステムの保守や開発しかないので、仕事にマンネリ感が出てくる
    ・半導体製造が本業で、ITシステム部はサポート部門なので、自分の仕事をいくら頑張っても会社の業績=半導体の売上には直接貢献できない
    ・半導体の売上が下がるとITシステム部の予算も削られ、最新の開発マシンや開発ツールの導入が見送られる

この会社で使っていたのは.NET系の技術(C#やASP.NETなど)がメインだったのでオープンな技術ではありました。しかし、仕事がマンネリになると「自分が成長できていないのではないか」と不安になりますし、開発ツールや実行環境(Visual Studioや.NET Framework)のアップデートが何度も延期されると、「このまま古いバージョンを使い続けることになるのではないか」と不安になってきます。

ここで筆者が考えたのは「もし、5年後に今の会社が突然なくなったとして、自分は家族を養っていけるぐらいの仕事をすぐに見つけられるか?」ということです。給与面や勤務時間での待遇には十分満足していましたが、上で挙げたような不安を考えると、「5年後に会社がなくっても大丈夫?」という問いには、自分の中では「NO」という答えが出てきました。

そこで筆者は社内での評価に満足せず、社外から自分を見たときにエンジニアとしてどう評価されるだろうか、ということを再び意識していくことになります。

将来に備えるために、まずはいろんな資格を取ってみた

とりあえず、筆者は自分のスキルを客観的に証明するために、いくつか資格を取ろうと思いました。

取得した資格
・基本情報技術者試験
・TOEIC (最高860点)
・簿記(3級、2級)

このほかにも中国語検定3級とか、なんとなく「将来役立つかもしれない」と思って取った資格もあります。

資格の勉強は学ぶべき内容と目指すべきゴールが明確なので、自分が身につけたいスキルと一致する資格試験があれば、その分野について効率良く勉強できるメリットがあります。

もちろん、「資格さえあれば将来安泰」というわけではないですし、資格そのものが何か直接的に役立つ場面というのはあまりありません。ですが、基本情報技術者試験は筆者のような文系出身で情報系の学部とは無縁だった人間にとっては、コンピュータの基礎を浅く広く学ぶのに役立ちました。

また、簿記に関してはこのあとに入社するソニックガーデンで個人事業主として副業を始めたため、確定申告をするときに簿記の知識が思いがけず役立ちました。

TOEICは外資系の会社に勤めていたこともあり、会社ではTOEICで高得点を取ることが推奨されていました。とはいえ、外資系かどうかに関係なく、ITエンジニアの仕事をするのであれば英語力はいくらあっても損になることはありませんTOEIC以外でも社内では頻繁に英語のメールやドキュメントを読み書きしていたので、そのおかげで筆者は働きながら英語力をアップさせることができました。これはちょっとラッキーでしたね。

ブログやTwitterを使った情報発信や、IT勉強会への参加を始めた

そして、筆者はこの会社に勤めているときに個人ブログを始めました。ブログを始めたきっかけは「自分が今までたくさん助けられてきたように、自分も誰かの役に立ちたい」と思ったからです。

最初は「こんなエラーはこうやって解決する」というようなトラブルシューティング系の記事をメインで書いていましたが、徐々に日々の業務を通じて感じたエッセイっぽい内容も書いたりするようになりました。

また、ほぼ同じ時期にTwitterも始めました。Twitterは国内外の著名なITエンジニアをフォローして、何か有益な技術情報をゲットするために始めたのですが、筆者自身も他のエンジニアに役立ちそうな内容を発信することを心がけていました。

そうすると、ブログのコメントやTwitterのリプライを通じて、知らず知らずのうちに外のエンジニアとのつながりが生まれ始めました。それまでのエンジニア活動は会社の中で完全に閉じていたので、社外のエンジニアとやりとりが生まれるのはとても新鮮な感じがしました。

それから、そのときに初めて外部のIT勉強会にも足を運びました。最初に参加したのは「XP祭り関西 2011」という勉強会でした。生身の人間がその場で発信する情報と、来場している技術者が生み出す「熱」を感じ、「すごい、自分もがんばろう」という気持ちになったのを覚えています。

それまでも「社外でも通用する技術力を」と考えていましたが、ブログやTwitterのスタート、勉強会への参加といった新しいチャレンジによって、筆者は「社内よりも社外での自分の立ち位置」をより強く意識するようになっていきました。

忍び寄る「プログラマ35歳定年説」とソニックガーデンとの出会い

ところで、2社目の外資系企業で筆者の年齢は30歳に到達しました。入社してからはコードを書く仕事をメインでやっていたものの、プログラマとしてある程度昇進すると、社内の1 on 1ミーティングなどで「次はそろそろマネージャーに」という空気が漂ってきました。

しかし、上司を見ていると会議とドキュメント作成に忙殺されているようにしか見えませんでした。さらに、筆者自身も在籍が長くなるにつれ、会議やドキュメント作成の割合が増えてきましたが、同じ仕事でも会議やドキュメント作成に喜びを見い出すのはなかなか難しかったです。当時の筆者は「自分はコードを書きたい。会議やドキュメント作成はイヤだ。でも、プログラマのままでは昇進に限界が出てきてしまう。いったいどうすればいいんだろう?」と悩んでいました。

そこで出会ったのが今、僕が勤めている会社「ソニックガーデン」です。

……と、次のエピソードに進む前に、ここでいったんキャリア形成のポイントをまとめておきましょう。

まとめ

ここまで、筆者がこの業界に入ってからの最初の9年間(2003〜2012年)を順を追って振り返ってみました。

すでに「伊藤淳一」というエンジニアを知っている人は「有名で技術力も高い、あの伊藤さん」というふうに筆者のことを見ているかもしれませんが、この9年間、筆者は「完全に無名の、ただのエンジニア」でした。

しかし、この頃の筆者と同じように、この業界に入って間もない人や、エンジニア歴はある程度あっても自分の名前はほとんど知られていない人にとっては、もしかするとこういう時代のエピソードの方が現実味があって参考になる部分が多いかもしれません。もしご自身のキャリアや、今後の生存戦略について、今回の記事が何かお役に立てば幸いです。

さて、次回はソニックガーデンに転職してから現在に至るまでのエピソードを書いていきます。次回もどうぞお楽しみに!

関連記事

人気記事

  • コピーしました

RSS
RSS