SEというお仕事の話
(`・ω・´)メリークリスマス!
(`・ω・´)プレゼントはこの記事だよ!
……
(´;ω;`)嘘ですごめんなさい許して下さい何でもしまむら
はい。
(´・ω・`)そんなわけで、おおかみさんです
今回はSEって何ぞや?とか、SEのお仕事で必要な能力は?とか、文系出身がSEになれるって本当?とか、そんな感じの話をダラダラと書いてみます。
1. SE (システムエンジニア) って何?
簡単に言うと、
コンピューターシステムの構築や運用管理、工数管理をする人のこと。
ちなみに、そのシステムエンジニアが構想計画したものを基にして
実際にプログラムを書く人のことをプログラマーと言う。
一般的には、そんな認識で良いはず。
ただ、実際問題として面倒なのは、
各現場によって呼び方がバラバラなところ。
参考までに自分が居た現場では、
案件や状況に応じて、開発したり設計したり割とみんな何でもやる感じで、
ある時はSEな作業、またある時はプログラマーな作業、とかでややこしいから、
その現場に居る人全員 SE ということになってた。
2. SEに必要な能力とは?
大抵の企業は、一番最初の面接段階あたりで
SEの適性試験をやると思うけど、
実際SEとして仕事してみると、
あんな試験でSEとしてやっていけるかどうかなんてわからないだろう
と感じる。
ただし、あの試験では
天地がひっくり返ってもSEなんて絶対無理な適性皆無の人を弾く
という効果だけは確実にあるけどね。
じゃあ、SEやるにはどんな能力が必要なのよ?
っていうと、
- 論理的思考力
とりあえずコレ。
まずは何よりもコレが出来ないと話にならない。
どんな物事もとにかく論理的に、徹底的に理詰めで考えられる人じゃないと無理。
- 向上心
徹底的に効率を追求するとか、より簡潔にシンプルにを追求するとか、
もっと良くできないか?もっと無駄をなくせないか?もっと便利にできないか?と常に考える姿勢とか、
そういう "今よりもっと良く!もっと上を!" って常時考え続ける姿勢は必要。
- コミュニケーション能力
当たり前だけど、コレも必須。
「コミュ障だから喋る機会少なそうなIT系に……」とか考えてるそこのアナタ!m9(`・ω・´)
世の中そんなに甘くないんだわ……
3. コミュ障でもSEに。
上にコミュニケーション能力必須と書いたばかりでアレだけど、
何を隠そう俺もコミュ障だ(`・ω・´)
うん、コミュ障でもSEやれるよ。
普段コミュ障でも、仕事のときだけはできるようになるのよ、いくつか条件満たせば。
その条件ってのが以下。
- 業務知識を多く覚える
そんなの当たり前じゃん、って思うでしょ?
ところがどっこい、その当たり前ができてない自称ベテランの何と多いことか。
覚えようと意識して仕事してないと、そんなの身に付かないよ、マジで。
- 自分の頭で納得いくまで考える
コレが特に大切。
他人の受け売り丸暗記では、ツッコミ受けたら何も答えられないし、応用が効かない。
この2つがあれば、何故コミュ障でもSEの仕事成り立つのか。
業務知識は覚えた、内容理解した、自分なりに納得いくまで徹底的に考え抜いた。
となったらさ、頭の中にしっかり構築された自分の考えだけならアウトプットできるじゃん。
この仕事に関しては胸張れる、俺がこれだけ考えに考え抜いて練り上げたんだ、どこをどう文句言われても、こう考えたからこうしたんだ!これが最良の選択なんだ!と答えられる状態になるじゃん。
仕事の真っ最中にいきなり仕事と関係ない雑談始めるバカなんて居ないんだからさ、
それだけアウトプットできれば十分なのよ。
うまい話し方とか気にしなくていい、
淡々と考えを、事実だけを順番に話せばそれでいい。
そして、そうやってるうちに、"それを軸に" して話を広げていくやり方も覚えるし、
話すの自体にも慣れてくる。
コミュ障だから無理、なんてことはない。
4. 文系出身がSEになれるって本当?
本当です。
だって、俺も経済学部卒だし(´・ω・`)
入社して研修受けるまで、プログラムって何ですか?状態だったし(´・ω・`)
プログラムって理系イメージあるかもしれないけど、所詮あれも言語だからね。
英会話習得するよりは簡単じゃないかな。
プログラミング自体は大したことないから、そんなのにビビらなくていい。
文系出身のプログラミング未経験でも、プログラマーもSEも問題なくなれる。
どこ出身であっても、
配属先の現場の独自ルールや業務知識、使ったことのない言語等、学ばなきゃいけないことは山ほどあるから、
出身の違いからくる知識量の差なんて些細な物。
日々学んでいく必要のある業界だし、
状況に応じて違う現場に配置替えとかもよくあるから、
初めて直面する状況でも自力で学んで、自力で打開策を見つけていく姿勢が何よりも重要。
その姿勢さえあれば出身どこだろうと関係ないし、
逆にその姿勢がなかったら理系出身だろうとプログラミング経験者だろうと無理。
5. 理想的なSEとは?
これはただの主観になるかもしれないけど。
一般的なSEとしての業務をメインでいく場合、自分自身がコーディングすることは滅多にないから、
プログラミングとか全然わかってなくてもSEやっていける、
と言われてるのをちょいちょい見かける。
が。
個人的な見解では、
最初の頃、最低でも1〜2年ぐらいは、コーディングをガッツリと経験して、実際の開発現場のことを理解しておく方が望ましい、と思う。
プログラマー側の心理からすると、
実際のコーディングイメージすら出来ないSEの書いた仕様設計なんかで仕事したくないからね。
それと、冒頭でもサラッと書いたけど、
SEたる者、プロジェクトの工数見積りや管理もしないといけないのよ。
この案件の規模はこんな感じ、これのプログラム作るとなるとだいたい何ステップ (プログラムの行数) ぐらいになる、となると凡そ何人月ぐらいになって……
とかをしないといけないの。
実際の現場で開発した経験無しにそんなことできる?
超絶難しくない?
見積り甘かったら開発現場からも非難轟々だし、お客様からも批判殺到よ?
だから、一通りの開発業務は経験して、工数見積りぐらいはできる程度に理解しておくべきだと思うの。
うん、何書いてたんだっけ
最後のほうは愚痴っぽくなってきたね(´・ω・`)
危ない危ない(´・ω・`)
そんな感じで、今回はここまでにしておこう。
べ、別にネタ切れとかじゃないんだからね!←
(´・ω・`)ノあでゅー