今までコードを書いてこなかったけど、先々大丈夫かな?
ITエンジニアといってパッと思い浮かぶのが、フロントエンドエンジニアやバックエンドエンジニアなど、いわゆる「開発」を行うエンジニアです。
「開発」=プログラムを書くイメージが強いので注目されがちですが、直接的に開発を行わないエンジニアもたくさんいます。
たとえば、ある程度規模の大きい組織の管理職やITコンサルタントなど上流寄りの仕事だとコードを書く機会は少ないです。
ITエンジニアの仕事は、「開発」=コードを書くことだけではありません。
ただ、近年では手を動かせるエンジニアが評価されつつあるので、先々の転職を含めたキャリア形成に不安に感じるITエンジニアの方は多いのではないでしょうか。
何か、、すごく不安になってきたよ。
こちらの記事では、「開発」経験の少ない40代ITエンジニアを取り巻く環境について過去や現状を比較しながら、実際にどう戦っていけばいいのかを解説します。
ぜひ、最後まで読んでいただき、転職活動を進める参考にしてください。
心配はありません。コードは書けなくても、それに代わるほかの武器を作ればいいんです。
プログラムを書かないエンジニアは結構いる
まず、先述の通り、ITエンジニアはプログラミング以外にも非常に多岐にわたる分野に関わっています。
たとえば、コンピューターサイエンス系で一例を挙げると
- インフラ/SRE
- データエンジニア
- アナリティクスエンジニア
- プロジェクトマネージャー
- システム管理者
などがあり、これ以外にも多くの仕事があります。
実際、ITエンジニアという肩書きで働いている人の中には、プログラムを書かない(書けない)人は結構いるんです。
何を隠そう、僕がそうだって話ですね。
最初のキャリアでインフラやPL/PM寄りの仕事に関わることになった場合、その後に改めて開発経験を積めることは多くありません。
そのため、一般的にはそのようなITエンジニアは、開発には関わらないでキャリア形成をしている方が多いです。
プログラミングの工程は全体の3割程度
次に、ITエンジニアでもプログラミングだけが仕事ではないことは、システムを作る工程からも見て取れます。
◆システム開発各工程の工数割合の一例
工程 | 工数比率(%)※ | 概要 |
---|---|---|
要件定義 | 20%前後 | 実装すべき機能や納期、必要な人員や工数などをまとめる |
設計 | 25%前後 | 要件定義をもとにして、システムに実装する機能やデータをまとめる |
実装 | 30%前後 | 設計書をもとにして、システムをプログラミングしていく |
テスト | 25%前後 | 開発したシステムに不具合や、動作に問題がないかを確認するテストを行う |
運用・保守 | – | 継続的に稼働させるために、運用や保守を行う |
本当だ。全体の工程からすると、プログラミングは3割くらいなんだね。
システム開発はプログラミングだけでは、完成しません。
どんな機能のシステムを作るのかや納期、人員などをまとめた上で、実装する機能やデータを明確化して設計したり、実装した後も問題なく動くのか検証する必要があるからです。
また、リリース後の運用や保守まで含めると、システム開発には多くの工程があり、プログラミングはその工程のひとつであることがわかります。
役割次第ではプログラミングをする機会が少なくなる
また、ITエンジニアは、その役割次第でプログラミングする機会が少なくなる場合もあります。
再度、システムが開発される工程を見ていくと
クライアントの要望をもとにしてシステムの内容を決める
計画した内容をもとにしてシステムの大まかな内容を決める
システム全体の大まかな構造を設計する
基本設計をもとにしてプログラムを実装するための計画を立てる
設計内容を計画書をもとに実装する
完成したシステムに不具合がないかや動作確認をする
リリース後に問題なく稼働するように監視したり改修したりする
小さい規模のシステムの場合では、プログラミングやテストまでITエンジニアがやることはあります。
しかし、システムの規模が大きくなればなるほど役割分担が明確になるので、担当した役割によってはプログラミングをしない機会が増えることになるでしょう。
僕も最初のキャリアで上流工程を担当したので、業務でコードを書く機会がなく来ましたね。
手を動かせるITエンジニアが評価されるようになった背景
2000年を過ぎた頃のIT業界では、ITエンジニアが転職をするのに求められるスキルは、マネジメントや大規模なプロジェクトでの経験などでした。
また、プログラミングに対する考えも、当時はただ手を動かすだけという考えが業界にはあったので、転職活動でも苦戦を強いられていました。
しかし、昨今では、手を動かせるエンジニアがより評価されるようになっています。
手を動かせるITエンジニアが評価されるようになった背景をまとめました。
目まぐるしい技術変化に、ITエンジニアに求められるスキルも変遷していった印象だな。
各項目についてざっとポイントをまとめてみました。
大手IT企業の内製化へのシフトチェンジ
ITを活用するビジネスが増える中、多くの企業が内製化に力を入れるようになりました。
ウェブサービスは顧客と直接つながるため、日々の改善が欠かせません。
そのため、外部委託よりも自社で開発する方が効率的だと考えられるようになりました。
内製化が進むと、固定的な仕事だけでなく幅広いスキルを持つ人材が求められます。
プログラミングや設計の両方ができる、つまり手を動かせる人材の価値が高まっているのはこのためです。
なるほど。企業内で案件を進めるとなると、手を動かせることはマスト要件になってくるよね。
スマートホンの普及によるアプリ開発の増加
また、スマートフォンの登場により、アプリ開発市場が急成長しました。
アプリストアという新たな販路ができたことで、個人や企業がアプリを通じてビジネスを展開しやすくなったのです。
アプリ開発には、単なる人手ではなく、知識と経験を持った少人数のチームが必要です。
ユーザー目線で考えられるプログラマの価値が高まり、グロースハックなどの新しい分野でも、実際に手を動かせる人材が重宝されるようになりました。
グロースハックはまさしく、手を動かせてマーケティングの側面からも提案できるマルチな能力が求められます。
クラウドの発展によって求められるスキルの変化
そして、クラウドサービスの普及により、ひと昔前に比べてITビジネスの立ち上げコストが大幅に下がりました。
これにより、少人数のチームでスタートアップを始めるのが容易になり、ITエンジニアが増加しました。
クラウドサービスを利用する環境では、開発や運用をより効率的に行うために、AWSやGoogle Cloudなどパブリッククラウドの様々なサービスを使いこなせる人材が重要です。
さらにはリーンスタートアップの考え方も浸透し、顧客と対話しながら柔軟に開発できる人材の需要が高まっています。
リーンスタートアップとは、少しずつ試行錯誤を繰り返しながら顧客やマーケットを探す新たな手法のことですね。
新興企業の参入によるスキルの多様化
加えて、ITを活用した新興企業が従来の市場に参入し、業界構造を変える動きが活発化しています。
例えば、 UberやAirbnbのような企業がタクシーや宿泊業界に大きな影響を与えました。
こうした海外からの「黒船」に対抗するため、既存企業もIT企業化をいやが応でも進める必要があります。
そのため、ビジネス戦略を理解した上でテクノロジーで実現する方法を考えられる人材、すなわち手を動かせる人材が求められるようになりました。
プログラミングスキルは、将来の起業家にとっても重要なスキルとなっていくでしょう。
手を動かすことが前提で、プラスαを求められるようになってきている。
この先、ITエンジニアが転職市場で求められる能力とは何でしょうか。
今後のITエンジニアには
- 単なるプログラミング能力だけでなく、問題解決力や提案力
- 大規模プロジェクトの管理よりも、少人数で効率的に開発できる能力
- 技術だけでなくビジネス視点も持ち合わせた「顧問プログラマ」のような存在
などが求められるでしょう。
また、手を動かせるプログラマの活躍の場は増えていますが、同時に求められるスキルのハードルも上がっています。
技術力を磨くだけでなく、その技術で何ができるかを常に考える姿勢が大切です。
ウリが感じたITエンジニアを取り巻く環境の変化
ITエンジニアを取り巻く環境は、この20年で大きく変わってきています。
ここでは少しひと休みして、僕ウリの体験ベースで少しお話をさせてください。
今昔ばなし〜ウリの実体験〜
ひと昔前までは、ITエンジニアとして大きな給料を貰おうとした場合、コードが書けるよりもプロジェクトをうまく回せるのが評価されるケースは散見されました。
今でも引き続き、プロジェクトマネージャー(PM)/プロジェクトリーダー(PL)自体は評価されています。
その上で、エンジニアリングに強い人材(手を動かせるエンジニア)も評価が上がってきた印象です。
また、以前は40代でのITエンジニアの転職というと、管理職クラス前提という印象が強くありました。
しかし、今の時代は40代もバリバリのプレーヤーとして働くことは、普通に起きます。
今までずっとスタートアップやベンチャー系の会社で働いてきた人には、そこまで問題にはならないと思います。
しかし、ある程度大きな規模の会社で働いてきた人が、急にスタートアップなどの規模の小さい会社に転職する場合は注意しましょう。
それは、今までのキャリアで経験しなかったことが必要となるから、です。
これを理解しないままに転職してしまうと、悲劇が生まれてしまいます。
開発経験がなく転職してしまうとどうなるの?
次の章では、開発経験がない40代ITエンジニアが転職時に直面することについて解説します。
開発経験のない40代ITエンジニアが転職時に直面すること
仮に転職した会社で、直接手を動かさない(プログラミングをしない)ポジションになったとしても下記のような事象に直面することがあります。
- クライアントのからの要望を正確に落とし込めない
- 上流工程の設計が甘くなってしまいがち
- 障害時に原因の解明や対処ができない
クライアントの意図がうまく汲み取れないまま作業を進めた結果、要望とは異なる仕様で開発してしまったり、正確に修正したりできないことが少なくありません。
この状態が続いてクライアントの要望に応えられないと、会社の信頼を失ってしまうでしょう。
また、プログラミングのスキルが不十分な場合、要件定義やシステム設計のために必要な情報が把握しきれず、設計が甘いものになってしまうことがあります。
開発段階までミスに気づかないと、大きなスケジュールの遅れや作り直しとなってしまうかもしれません。
そして、障害時にうまく対処ができないと、こちらも結果会社の信頼を失うことにつながってしまいます。
ミスが続くと社内・社外からの評価がなかなか得られず、キャリアを狭めてしまいかねません。
どんどん不安に。この先、、大丈夫かな。
大丈夫です。上記のようにならないためにできることはあります!
上記は最悪の想定ですが、コードが書けないことによるリスクを補う努力は進んでしなければなりません。
最後に、この状況を切り抜けるための方法について解説します。
また、このようなミスマッチな転職を防ぐ手段として、転職活動の際には
自分の適性やどういった会社に勤めたいかなど、エージェントさんと話すことで見えてくることもたくさんありそうだな。
また、自分で興味のある会社に応募したりスカウトを受けたりしてより多くの企業と出会いたい場合は、
開発経験のない40代ITエンジニアの戦い方
以前書いたスキルセットの身に付け方の記事も参考になりますので、ぜひご一読ください。
今の時代、学ぶ気持ちさえあれば無料・有料に関わらず、いろんな学習ツールが存在します。
ここでは、開発経験のない40代ITエンジニアの戦い方について、技術面と仕事のやり方の2つに分けてポイントをまとめました。
技術面について
- チーム開発に対しての知見(Git/GitHubなど)
- ちょっとしたPython/シェルスクリプト136などの実装
仕事のやり方について
- 最新のSaaS系サービスへの柔軟な適応
- チケット運用(Backlog、Redmineなど)
- Slackなどを利用したコミュニケーションへの適用
- 1on1文化への適応
- LLM(ChatGPTやClaudeなど)の活用は当たり前
僕の所感ですが、今学ぶといいものをおすすめして厳選したので、ぜひ参考にしてくださいね。
たとえコードは書けなくても、知識としては学んで身に付けておく必要があります。
クライアントの意図を汲み取った設計をしたり的確な指示出しをしたり、社内でのコミュニケーションを円滑に図るためにも、基礎知識は押さえておきましょう。
また、技術革新の早いIT業界では、情報のインプットやアウトプットはXを活用するのがおすすめです。
こちらの記事も参考にしてください。
Git/GitHubについては、Udemyの講座で基礎は十分に抑えることができるのでこちらもおすすめです。
頻繁にセールを行なっているので、お得なタイミングで購入するのがおすすめです!
そして、仕事のやり方も時代とともに新たなものへと変移していきます。
コミュニケーションの取り方やツールの変化などに柔軟に対応するために、常にアンテナを張り巡らせて取捨選択をしながらも、情報を取り入れていきましょう。
まとめ|学ぶ意欲さえあればいくらでも戦える
今まで、開発経験のないITエンジニアの過去や現状を振り返りながら、そういった中でキャリア形成をするための戦い方について解説してきました。
40代である程度ITエンジニアとしてのキャリアもあるからと受け身の状態では、この技術革新の目まぐるしい現状についていけなくなる可能性があります。
たとえ、開発経験はなくても知識や技術を学ぶ方法はいくらでもありますし、アウトプットして共有したり高め合ったりする場もたくさんあります。
学ぶ意欲さえあればいくらでも戦えるので、自分の得意分野を見つけながら、転職を含めたキャリアアップを目指していきましょう!
転職を考える際は、ひとりで悩むよりも
また、自分から興味のある会社に応募したりスカウトを受けたりしてより多くの企業の中から選びたい場合は、