ママ友の話なんだけどね。
中学生のお兄ちゃんが、プログラミングに興味があるみたい。
それで、プログラマーになりたくて調べていたんだけど、調べるうちにシステムエンジニアっていう職業もあって、何がどう違うのか分からなくて困っているんだって。
そうなんだー。
プログラマーとシステムエンジニアには、明確な定義があるわけじゃないんだよね。
でも、その2つの違いを簡単に言うと、
システムエンジニアは設計する人。
プログラマーは実際に作る人
と言えるかな。
うーん。
もう少し分かりやすく言うと?
家を建てる場合で例えてみるよ。
その場合、
プログラマーは、現場で実際に家を作る大工さん
システムエンジニアは、どんな家にするかお客さんと話し合ったり、スケジュールを管理する人だね。
じゃあ、システムエンジニアはプログラムは書かないってこと?
そこは微妙なところなんだよね…。
プログラマーが設計したり、システムエンジニアがプログラムを書くこともある。
これは、規模の問題だね。
犬小屋を作るときなんかは、大工さんが設計して、作っちゃうでしょ?それと同じことかな。
小さいプロジェクトの場合は、一人でプログラマーもシステムエンジニアもやる”何でもやさん”になることがあるんだ。
なるほど。
逆に、大きいプロジェクトになると、プログラマーとシステムエンジニアに分かれて、それぞれの仕事をするということね。
プログラマーとシステムエンジニア。それぞれどうやったらなれるの?
中学生の段階で、プログラマーになるか、システムエンジニアになるか決めておいたほうがいいのかしら?
基本的に大学までは進路は同じかな。
今、ぴかり(夫)は、システムエンジニアとして働いているけど、高校生のときまではプログラマーになりたかったんだ。
質問してきたママ友のお子さんのように、プログラマーとシステムエンジニアの違いも良く分かっていなかったしね。
ぴかり(夫)の場合
良く分からないまま、ぴかり(夫)は、大学の工学部情報システム科に入学したんだ。この学科で、プログラムをじっくり習ったんだよ。
そう聞くと、そのままプログラマーになりそうだけど、なんでシステムエンジニアになったの?
実をいうと、たまたまなんだ(笑)
違いが分からなかったんだけど、1000人以上社員がいる大きな会社に入れば安泰かと思って、そういう会社を希望したんだ。
大きな会社に入社すると、プログラムは下請け会社に任せるため、自然とシステムエンジニアになっていくんだ。
専門的な学科を出ないとなれないの?
ぴかり(夫)は、大学の情報システム学科でプログラミングを学んだのよね。
やっぱり、専門的な学科を出ないとプログラマー・システムエンジニアにはなれないの?
そんなことないよ。
特に、システムエンジニアはプログラム能力だけが求められているわけではないから、文系出身の人も半分くらいいるよ。
でも大学には、行かなきゃだめな感じ?
大手の会社に就職したいとなると、大卒でないと、そもそも募集がないのが現状かな。
だけどそれ以外、ベンチャー企業であれば、腕がものを言う世界だから学歴は関係ない世界だよ。
システムエンジニアの具体的な仕事内容
プログラマーはプログラムを書くっていう、仕事内容は理解できたけど
システムエンジニアの仕事内容のシステムの設計って具体的にはどういうことをするの?
システムエンジニアは、お客さんが要求しているシステムを完成させるまでコーディネートする仕事なんだ。
その、コーディネートの流れについて
”お客さんが欲しいシステムをブランコに例えた”
とても、わかりやすい絵があるので、それを見ながら説明していこうか。
※出典:「オレゴン大学の実験」 クリストファー・アレグザンダー (著) 宮本雅明 (翻訳)
まず、お客さんが上の図のようなブランコを作って欲しいと依頼してきたとする。
ん?なんか座るところが、3つもあるわね
そうなんだよ。
お客さんも、ブランコで遊びたいんだけど、どんなブランコにするかは決まってないことが多いんだ。
”3つ座る所があったほうが、きっと楽しいよね~”的なノリで、あれも欲しい・これもあったらいいんじゃない?と要求されることが多いんだ。
次に、この絵が、プロジェクトリーダー、つまりシステムエンジニアが理解しているブランコだよ。
???
これじゃ、木にあたってブランコ漕げないわよね(汗)
そうなんだ。
お客さんは、さまざまな業種の人がいる。
なので、システムエンジニアがその業種の仕事内容の細かいところまでを把握できず、誤解をしてしまうことも多いんだ。
上の絵は、「ブランコ」っていうものを知らないまま
「木」に「板」を「紐」でぶら下げるのが「ブランコ」という情報だけで、お客さんの理解とは違う理解をシステムエンジニアがしてしまった絵だよ。
3つめは、プログラマーが実際につくったブランコの絵だよ。
なにこれ?残念な感じになっているわね。
プログラマーも「ブランコ」を知らず、
「木」に「板」を「紐」でくっつけたんだ。
それで出来たのがこれ。
これでは、ブランコに乗ることも出来ない(汗)
で、最後に、これが本当に必要だったブランコだよ。
最初、お客さんが欲しがっていたブランコとも全く別物ね。
そうなんだ。そして、これは実際によくある話なんだよ。
お客さんは、今よりも楽に・便利に仕事が出来るようになりたくてシステムを注文するんだ。
でも、お客さんの希望をそのまま聞いて作っただけでは、本来必要な”楽に・便利に仕事が出来るようになるシステム”というものからずれてくることがあるんだよ。
また、しっかりとお客さんの希望の”核”の部分を聞き取らないと、システムを作る側が誤解して解釈したまま、使えないシステムを作ってしまうこともある。
上の絵で起こったような失敗をしないため、
お客さんと良く話し合って
理解して、プログラマーが分かるように設計して・・・
と、いうのがシステムエンジニアのお仕事だね。
なるほどー!
コメント