SEでプログラミングできないのはヤバイ?
SE(システムエンジニア)というと、プログラミングやコーディングをする職種のようなイメージがあります。
一方、実際にはプログラミングができないSEは多くいます。
- SEでプログラミングできないってアリ?
- コーディングできないけどSEになれる?
- SEとして活躍するにはプログラミングのスキルは必要?
など、不安を抱えている方も多いのではないでしょうか。
結論、SEはプログラミングスキルがあると有利な職業ではありますが、なくても成り立ちます。
プログラミングスキルよりも求められるスキルが多くあるためです。
この記事では、下記についてまとめました。
- SEがプログラミングできない理由、課題
- SEがプログラミングできなくても成り立つか?
- SEに求められるスキル
SE・エンジニアとしてのキャリアで悩み始めたら、レバテックキャリアに相談してみることをオススメします。
IT/Web業界を知り尽くしたアドバイザーに、SE・エンジニア特有の細かな悩みや要望を気軽に相談できます。
目先の転職だけでなく、長期的なキャリア形成から提案してくれます。
一人で悩む前にまずは相談!
SEがプログラミングできない理由
プログラミングができないSEが存在するのは、SEの役割がプログラミングだけに限らず、
- プロジェクトの管理
- システムの設計
- クライアントとのコミュニケーション
などといった、より広範なスキルを要求されるためです。
SEの仕事は、コードを書くこと以上に、多様なスキルや知識が求められる職業であると言えます。
上で紹介した通り、SEの仕事内容は多岐に渡ります。
確かに、システムを作るにはプログラミングスキルが必要ですが、その前段として、
- お客とシステム仕様の調整をする
- 設計書へ落とし込み、仕様を顧客と合意する
- 納期や必要な工程について認識を合わせる
といった作業が必要です。
また、プロジェクト中も進捗・課題管理を行い、適宜顧客とコミュニケーションを取る必要があります。
SEにも色々な役割がありますが、中にはコーディングは全くせず、顧客調整や管理業務に徹するSEもいます。
反対に言えば、こういった役割のSEがいないと、仕様の合意などができず、プログラミングをする工程まで辿り着けません。
本当に小さなプロジェクトであれば、管理者 兼 プログラマーといった役割が存在する可能性はありますが、基本的にはSEには顧客窓口や管理者に徹する役割もあると考えた方が良いです。
ちなみに、顧客窓口や管理者の役割のSEをプロジェクトマネージャー(PM)と呼びます!
システム開発には、プログラミングをする以前に顧客と仕様を握るなど、様々な工程が必要とされることは上で触れました。
実は、SIerが担当するような大規模システム開発では、プログラミング工程に移る前に、顧客としっかり要件を握ることが最重要です。
特に、プロジェクトが大規模になればなるほど、顧客調整は難易度が高くなります。
システム開発の規模が大きいと、SIerと顧客双方としてどうしても最初の時点で全体感を見切るのが難しくなるからです。
- 顧客側から途中で追加要件が出てくる
- PJ課題が発生し、顧客に要件やスケジュールの調整を依頼する必要がある
といったイレギュラーパターンが発生します。
こういったプロジェクトの舵取りを、開発チームの代表として顧客の矢面に立って調整をするのがPMです。
うまく調整できないと
- 顧客からクレームを受けてしまう
- プロジェクトが赤字になってしまう
など大きなプレッシャーを背負う、難易度・重要度ともに高い仕事です。
なので、一次請けに近づけば近づくほど、社員はPMスキルに磨きをかけ、プログラマーは2次請けに外注するといったパターンが多いです。
SEの仕事についてももっと知りたい方は、下記の記事をご覧ください。
現役SEが実体験を踏まえてSEの仕事内容をまとめています。
SEがプログラミングできない場合の課題
上で説明した通り、プログラミングができなくてもSEは務まりますが、できるに越したことはありません。
プログラミングができないSEにはプロジェクト管理上、いくつの課題が発生するリスクがあります。
日々の業務において、プログラミング知識がある人に比べ、知識がない人は、下記の点で難しさを感じるでしょう。
プログラミングができないと、どこかで技術的な理解の限界が来ます。
- ソフトウェアの内部動作
- 開発プロセスの技術的な側面
についての理解が不足する可能性があります。
これは開発チームとのコミュニケーションや問題解決に影響を与える可能性があります。
プログラミングの知識がないと、プログラマーの言っていることが理解できず、誤解や要件の不一致が生じやすくなります。
また、ソースコードやテスト結果がプログラマーから納品されても、それを理解できないと、プロジェクトが誤った方向に振れてしまうリスクがあります。
極端な話、プログラマーに「システム開発がわかっていない人」の烙印を押されてしまうと信頼関係に傷が入ってしまうケースもあります。
もちろん、役割分担の中でやっているので、プログラマーほどに理解をしている必要はないかもしれません。
しかし、プログラミングの基本的な考え方や構造が分かっていること、キャッチアップする姿勢は、どのSEにも必要です。
プログラマーに全部丸投げ、はNGです!
SEは一般的にPMとしてのキャリアを歩むことになります。
実際、一次請けSIerの多くのSEはプログラミングができないので、流れに身を任せているとPMとして育成されることが多いです。
システム開発に絶対に必要なポジションであり、客観的には何も不自由ないキャリア形成です。
一方「マネジメント業務だけでなく、実際にシステム開発にも踏み込んだキャリア形成をしたい」という場合、プログラミングスキルの無さがキャリアの制限になってしまいます。
マネジメントだけでなく、実際の開発も行える人材は“アーキテクト”などと呼ばれます!
特に一次請けのSIerにはPM型のSEが多いので、アーキテクト的な存在は重宝されます。
また、キャリア開発の選択肢も幅広くなるので、20代3、0代の若い世代はアーキテクトの指向を持った人が比較的多い印象です。
このように、目指すキャリアによってはプログラミングスキルの有無で選択肢が制限される可能性があります。
SEにプログラミングスキルは必須か?
これまで解説してきたように、プログラミングスキルがなくてもSEになることは可能です。
実際にプログラミングスキルがなくても活躍しているSEは多くいます。
プログラミングスキルのあるSEの方が、コミュニケーションやシステム設計の精度といった観点で有利なのも事実。
その一方で、SEにはプログラミングスキル以外にも求められるスキルがあります。
SEに求められるスキル
SEとして活躍するために求められるスキルは、大きく分けて下記の3つです。
- ITスキル
- 論理思考
- コミュニケーションスキル
もちろん、上記のスキルがまだ足りていなくても、諸々仕事をする中で育てていくことができるスキルでもあります。
まず大切なのは「ITスキル」です。
プログラミングスキルとまでは言いませんが、最低限、基本情報技術者レベルの知識は持っておくべきです。
システムエンジニアは顧客の窓口になり、開発プロジェクトを推進・調整する役割。
前述の通り、実際のシステム開発はプログラマーが行うため、システムエンジニア自身はプログラミングをしないことがほとんどです。
しかしながら、開発プロジェクトは常にプログラマーやインフラメンバーなどと共同して行うため、会話する場面は多々あります。
その際にシステム開発の知識が無さすぎると、適切に会話することができません。
そうするとプロジェクトメンバー間で認識齟齬が発生してしまい、プロジェクトが失敗する大きな要因になります。
つまり、SEとして一定の成果を残したいならば、システム開発に必要なIT知識は持っておくべきです。
特にクラウド化が進んでいる近年では、
- AWS
- Azure
など、クラウド周りの知見を求められることは増えています。
資格や勉強用テキストなどもあるので、上手く活用しながら知識習得をするのがオススメです。
特に最近では、クラウド人材やセキュリティ人材は重宝されているイメージです!
ビジネスにおいて論理思考はどの職種でも重要ですが、システムエンジニアは特に求められる場面が多いです。
数ヶ月〜数年に及ぶプロジェクト期間中、様々な課題が発生する中で、システムエンジニアは常に顧客・社内の双方に納得感のある説明が求められるからです。
関係者の利害関係を絶妙に調整しつつ、プロジェクトの舵取りを行うのがシステムエンジニアの役割。
その際、関係者が納得する説明をするために必要なのが論理的思考です。
- 各関係者の要求事項は何か
- 何がどこまでなら許容されるのか
- 検討漏れ、リスクはないか
など、落とし所を探るのです。
実際、信頼されるSEは論理思考のスキルが身についている人が多いです。
システムエンジニアの仕事を突き詰めると、実際やっていることは
- 調整
- 相談
- 報告
がほとんどだったりします。
黙々と一人でずっと作業をしている場面はほとんどないです。
そういった意味でも、システムエンジニアとして働く上で、コミュニケーション力は重要なスキルです。
コミュニケーションスキルとは、
- 周囲と良好な関係性を築ける
- 周囲の意見に耳を傾け、正しく理解できる
- 自分たちの意見もしっかり伝えられる
といった、相手を理解し配慮しつつ自分の意見も伝えるという双方向なコミュニケーションです。
プレゼンが上手であることや、頭が良くて正論を言えることと、必ずしもイコールではありません。
キャリアに悩むあなたへ
- 「エンジニアとして5年位は経験を積んだけど、そろそろ転職したほうが良いのかな…」
- 「将来性あるのかな…」
- 「今後のキャリアをそろそろ本気で考えないとな…」
こういった悩みを抱えている方は、まずは一度転職エージェントのプロに相談してみることをオススメします。
レバテックキャリアなら、IT/Web業界を知り尽くしたアドバイザーに、SE・エンジニア特有の細かな悩みや要望を気軽に相談できます。
目先の転職だけでなく、長期的なキャリア形成から提案してくれます。
キャリア形成は、タイミングも重要。
悩み始めた今こそ、キャリアと真剣に向き合うチャンスです。
一人で悩む前にまずは相談!
その他、SE・エンジニアにオススメの転職エージェントは下記にまとめています。
【大手企業へのSE転職】ITエンジニアとしてキャリアアップ•年収アップならコレ!オススメ転職エージェント5選SEにプログラミングできないのはヤバイ?
まとめ
今回は、SEでプログラミングできないのはアリなのか?というテーマについてまとめました。
プログラミングスキルがあるに越したことはありませんが、なくてもSEとして活躍することは可能です。
SEの職務は多岐に渡るため、対顧コミュニケーションやプロジェクト管理などのスキルを活かすこともできます。
少しでも興味があれば、SEにチャレンジしてみることをオススメします。
最後までお読みいただきありがとうございました。