システムエンジニア(SE)になりたい人「SEになりたいと思っている。でも、なる前にSEに必要な知識について教えてほしい。できれば現役SEに教えてほしいな」
こういった疑問にお答えします!
この記事を書いている私は、SEとして9年ほど働いている現役SEです。
SEを目指しているあなた。SEになる前に、SEに必要な知識を調べるなんて、すばらしいですね!
SEというと「高度なプログラミング知識」「パソコンに関する深い知識」などが必須というイメージがありますよね?
本当にそうなのでしょうか?現役SEが教えるSEに本当に必要な知識について、知りたくありませんか?
とうわけで、本記事ではSEになりたいと思っているあなた向けに、現役SEの私が、SEに本当に必要な知識をお伝えします。
この記事を読めば、あなたも「SEって意外に簡単になれそう!」と思う事、間違いなしです。
3分ほど読み終わるのでどうぞお付き合いください。m(_ _)m
それでは以下の順番で進めていきます。
- システムエンジニア(SE)に必要な知識とは【2つだけ】
- システムエンジニア(SE)に必要な知識を身につける方法
システムエンジニア(SE)に必要な知識とは【2つだけ】
現役SEの私が考えるSEに必要な知識は以下の2つだけ。それぞれ解説しますね。
- お客さんの業務知識
- 最低限のプログラミング知識
お客さんの業務知識
SEには、お客さん(クライアント)の業務知識が必要です。
システム開発はお客さんの要望を理解することから始まる
「SEの仕事は“お客さんの要望”通りシステムを作ること」と思っていませんか?
確かにその通り。
でも、“お客さんの要望”を正確に理解するのってすごく難しいんですよ。
実績率の分母と分子を人の手で計算するのは大変だから、自動計算するシステムを作ってくれない?
利率変動が2%未満で正常先の場合は、営業店内の決裁でOK
上記の意味はわかりますか?わかりませんよね。
私はお客さん(銀行員)に、いつもこんな感じで話をされます(笑)。
お客さんの要望を理解するためには業務知識が必要
実際にシステムを開発する前に、お客さんがどういったことを実現したいのか、どういった業務を行っているのかなど、そもそもお客さんが言っていることを理解することから始めないといけません。
そこで必要になってくるのが、お客さんの業務知識。
「SE=プログラミングの知識が重要」というイメージがあると思いますが、実は、お客さんが実際に行っている業務への理解を持っている人が、かなり重宝されます。
このように、SEは、システムを開発する前に“お客さんの要望”を理解する必要があるので、お客さんの業務知識が必要になってきます。
補足:他業界からSEへの転職は意外と成功する
余談ですが、銀行やメーカーなど、全く別の業界から、SEの業界へ転職は意外と成功しやすいです。
その理由はSEの企業側も、お客さんの業務を分かっている人なら、プログラミングの知識が多少なくても、活躍する場所があることをわかっているから。
私は銀行などの金融系のお客さんの相手をしている部署に所属していますが、年に1回くらいは、元銀行員の人が転職で私の部署に配属されてきますよ。
最低限のプログラミング知識
SEには、プログラミング知識が必要です。
システム開発にはプログラミング知識は必須
SEは、「お客さんがどういったシステムを作りたいのか」という要望を正しく理解したら、その次に、お客さんの要望通りにシステムを開発します。
システムを開発するうえで、プログラミングの知識は必須。
プログラミングの知識がないのに、どのようにシステムを作れば良いかなんて、イメージが付くはずがありません。
例えば、料理をやったことがないのに、レシピを作れと言われても、作りっこないですよね。
SEも一緒です。プログラミングをやったがないのに、どういったシステムを作るかを考えることなんてできません。
なので、SEにはプログラミング知識が必要なのです。
最低限のプログラミング知識でもギリギリやっていける
プログラミング知識に詳しいに越したことはないのですが、正直、めっちゃ詳しくなくてもSEとしてやってはいけます。
理由はプログラミングはプログラマーにお願いすることが多いから。
なので、プログラマーとコミュニケーションが取れるくらいの最低限のプログラミング知識さえあれば、なんとかやって行くことは可能ですよ。
悲報:SEがプログラミングすることはほとんどありません
ちょっと悲報ですが、SEがゴリゴリ、プログラミングすることはほとんどありません。
プログラミングはプログラマーが担当。
SEは、どういったプログラミングをしてほしいかを書いた設計書を作成し、プログラマーへ渡します。
設計書を渡されたプログラマーは設計書通りにプログラミングをする、という感じ。
規模が小さなプロジェクトの場合は、SE自身が、お客さんの要望から設計書なしでプログラミングをすることも、たまにありますが、ほとんどの場合、SEがプログラミングをすることはありません。
SEは、お客さんの要望を正確に把握し、プログラミングをするための設計書を書くことが、メインのお仕事なります。
システムエンジニア(SE)に必要な知識を身につける方法
SEには以下の知識が必要とお話ししましたが、どうやって必要な知識を身につけていけばいいのでしょうか?
- お客さんの業務知識
- 最低限のプログラミング知識
SE歴9年ほどの私が、実際に行った、SEに必要な知識を身につける方法について、解説していきますね。
正直、そこまで大変ではないので、安心してください。
お客さんの業務知識を身につける方法
私がお客さんの業務知識を身につけるために、行ったのは以下の2つ。
- お客さんの基本的な業務知識の本を読む
- 仲の良いお客さんから色々聞き出す
お客さんの基本的な業務知識の本を読む
私の場合は、銀行員がお客さんだったので、銀行業務に関する本を1冊だけ読みました。
自腹で本を買ったわけではありませんよ(笑)。
大抵の場合は、配属された部署で、お客さんの業務に関する本を保持している場合がほとんどです。
なので、上司や先輩にお客さんの業務関連の本がないか聞いてみてください。もしなければ、会社の経費で買うというやり方でOK。
仲の良いお客さんから色々聞き出す
本を読んで得られる知識は、お客さんの業界の基礎知識なので、正直、役立つことは少ないです。
本当に役立つお客さんの業務知識は、お客さんから教えてもらいましょう。
このやり方が一番手っ取り早いです。
なるべく人当りの良さそうなお客さんを選んで、電話しまくればOK。
お客さん側も意外と面倒くさがらず、丁寧に教えてくれますよ。「お客さんの業務を理解しようとしてくれている」という姿勢が受けがいいみたいです。
というわけで、お客さんの業務知識は、SEとして働いてく中で、覚えていく知識なので、まだSEになっていないあなたは、一切心配しなくていいですよ。
最低限のプログラミング知識を身につける方法
最低限のプログラミング知識はSEになる前に身につけておいた方があとあと楽です。
プログラミングスクールもオススメですが、正直、以下のプログラミング学習サイトの無料枠でも十分です。
プログラミング言語ってたくさんあるけど、どれを学べばいいの?と悩んでいるなら、Javaがオススメです。理由はSEはJavaを使う機会が多いから。
詳しくは以下をどうぞ。
プログラミング知識を身につけることから始めよう
お客さんの業務知識は、SEになったあとに身につければいいので、とりあえずは、プログラミング知識を身につけておきましょう。
さいごに
今回はSEになりたいと思っているあなた向けに、現役SEの私が、SEに本当に必要な知識をお伝えしました。
簡単に振り返ると、SEに必要な知識は以下の2つ。
- お客さんの業務知識
- 最低限のプログラミング知識
お客さんの業務知識はSEになってから身につければいいので、プログラミング知識から身につけるようにしましょう!
以上です。