[/pc] [nopc] [/nopc]
まず、
SE(システムエンジニア)と
PG(プログラマ)の違いについて。
一番違うのは、プロジェクトにおける”役割”です。
かんたんに表現すると、
お客さんの求める要件に合わせて、SEが設計書を作り、
設計書を元に、PGがプログラムを作る、
という感じですね。
少し詳しく説明すると、
それぞれの仕事の流れは、次のようになります。
SEの仕事は・・
▷お客さんと打ち合わせ
お客さん側の業務の把握、必要な機能の洗い出し、納品までのスケジュール管理。
▷見積りの作成
機能を満たすために「いくらかかるか?」を算出する。
▷設計書の作成
必要な機能を実現するために、プログラムが実現可能な範囲で、設計書を作成する。
▷PGへ仕様の説明
PG(プログラマ)が理解できるような表現で、仕様の説明を行う。
内部設計書を作成する場合もあり。
▷社内スケジュールの管理
PGが計画通りの日数でプログラムを作れているか、確認する。
遅れが出ている場合は、社内や社外との調整が必要になる。
▷完成したプログラムのテスト
完成したプログラムが、設計書の通りに動くかテストする。
通常はチェック表などを作り、 1 つ 1 つチェックする。
▷プログラムの納品
お客さんのマシンに完成したプログラムを入れ、
正常に動作するか、テストする。
お客さんに確認してもらい、納品完了。
▷サポート
お客さんがプログラムを使い始めてから、
トラブルが起きた時に対応する。
という感じ。
一方、PGの仕事は・・
▷見積りの算出
プログラムを作るために必要な期間を算出する。
▷開発環境の作成
プログラムを作る環境を、社内に作る。
これが無いと、開発がスタート出来ない。
▷設計書を元に、プログラミング開発
あなたや、他の誰もがイメージする仕事、
プログラムを作る作業。
▷他案件とのスケジュール管理
PGは基本的に複数(2〜10)のプロジェクトを掛け持ちする。
そのため、他案件の納品に間に合うかを調整する。
(SEがやる場合もあり)
▷プログラムのテスト
作ったプログラムが、正常に動くかテストする。
(エラーの場合は、エラーが出るか?など)
通常はチェック表などを作り、 1 つ 1 つチェックする。
▷SEに確認をもらう
SEにもテストをしてもらい、
OKが出たら、開発終了。
▷開発環境の破棄
開発が終わったら、開発環境を破棄する。
(破棄しない会社もある)
▷プログラムソースの保管
今後、設計書の変更が出たときのために、
プログラムしたソース(プログラムの中身)を保管・管理する。
という感じです。
少し詳しく書いてみましたが、
どうでしょう?
それぞれ、
SE(システムエンジニア)=上流工程、
PG(プログラマ)=下流工程、
なんて言われますが、
あなたのイメージと合っていますか?
もちろん、
「絶対にコレだけ」
なんてことはなく、
企業や案件によっては、他の役割もありますし、
それぞれの役割を 1 人が兼任してることもあります。
SE自体も、
インフラ系のSE、ハード系のSE、ソフト系のSEというふうに、
複数あったりしますね。
ちなみに私は、6 年間で、
ソフト系のSEとPGを同じくらい、
他に営業なんかも、経験しました。
上の仕事の流れを見てもらうと分かると思うんですが、
基本的にSE(システムエンジニア)は、
PG(プログラマ)が理解できる設計書を作り、
見積りの金額を算出します。
つまりSEは、
「お客さんの業務の仕様」と、
「プログラムで出来ること」の両方を知っている必要があるんです。
「お客さんの業務の仕様」は、
個人で勉強するか、お客さんに対するヒヤリングで知ることが出来ます。
ですが、「プログラムで出来ること」は、
実際にPGを経験し、プログラミング開発を行ってみないと、
身につかないんですね。
プログラムが分からなければ、
“仕様の決定”と“見積りの算出”、“スケジュール管理”ができませんからね。
仕事になりません。
そのため、
通常、SE(システムエンジニア)になるためには、
最低一度は、PG(プログラマ)を経験することになります。
SEで就職を考えてる、あなた。
最初からSE見習いとして、打ち合わせに同席させてもらうことは可能ですが、
プログラミング開発からは、避けて通れませんよ。
ちなみに、最近はオンラインで全くの未経験からプログラミングを学べるサービスも増えてきました。
完全無料のところもありますが、出来ればカリキュラムが決まっていて、サポート体勢もしっかりしているサービスを利用することをオススメします。
そのほうが、正しいコードの使い方を覚えることができますよ。
個人的には、以下の【CodeCamp(コードキャンプ)】が最も親切で、使い勝手が良いと思います。
複数の言語に対応していますし、マンツーマンで教わることが出来るのが特徴です。
プログラミングは、直接教わって→即書くのが最も身につくので、このサポートは嬉しいですね。
講師はさまざまな方がいて、自分にあった講師を選ぶこともできます。
今だけ無料で体験レッスン(プログラミング+エンジニアのカウンセリング)を受けることが出来るので、興味のあるかたは登録してみてはどうでしょうか。
無料の体験レッスンの申込はこちらから。
さて、IT系に就職を考えてる人が気になるのが、
「ブラックって本当なのか?」
という話。
まあ、そもそも、
“ブラック”の定義が曖昧ですが、
個人的な感想をぶっちゃけると、
SEも、PGも、『ブラック』だと感じる仕事はあります。
その例を挙げると、、
・納品間近は、終電帰りが続く。
・そのうち 3 割ほどは、終電がない。
・プロジェクトによっては、それが 1 ヶ月〜半年続く。
というところ。
分かりやすく言うと、
帰れません。
寝れません。
遊べません。
家族や友達に会えません。
仕事がブラックになってしまう原因は 2 つあり、
・作業の知識・技術が不足している。
・そもそも無茶な案件。
のいずれかです。
1 つ目は、新人に多い話ですね。
プログラミングが遅いとか、
資料作成に時間がかかるとか。
こればかりは、勉強と経験を積まないと解決できません。
しかし、
もう 1 つは、企業全体としての問題です。
仕事をとるために、
「うちは他の半分の納期でやる」
なんて言ってしまった結果、起こります。
最初から「ブラック」なんですね。
ブラックな案件があるところは、
会社全体でもブラック色が強くなります。
ブラックを見抜くために、かんたんな方法があります。
それは、オフィスの見学をさせてもらうこと。
「今日、行っても良いですか?」と、
ほぼ抜き打ちで、オフィスの見学をさせてもらい、
以下のポイントをチェックしましょう。
▷PCが 2 つ以上置かれているデスクが、空き瓶や空き缶などで汚れている。
▷デスクの上に、書類が山積みになっている。
▷トイレの大が、常に使用中になっている。
▷服装が汚い社員が 1 割以上いる。
このうち、3 つ満たすようであれば、ブラック率が高くなってきます。
そういうところは、先輩社員とアポをとり、
話を聞いてみたら良いですよ。
意外と、ちゃんと事実を話してくれます。
IT系の企業だけでなく、どこの企業でも同じですが、、
就職先を選ぶときは、
「その仕事がしたいか?」
よりも、
「その会社に合いそうか?」
で選ぶと良いですよ。
そもそも、
会社に入る前に見えてる”仕事”なんて、全体の 1 割程度なんです。
結局、入ってからする仕事は、
イメージしてなかった仕事の方が多いくらい。
それで、
「やりたい仕事じゃなかった」
となるよりも、
「どんな仕事でも、その環境なら働ける」
となるほうが、幸せじゃないでしょうか。
例えブラック色の強いIT企業でも、
その会社に合ってる人なら、居心地の良い環境だったりします。
だから、
「仕事の内容」よりも、
「会社」で選んで欲しいですね。
以上、今回はIT系の仕事の実態について、
お届けしました。
まだまだネタがあるので、
今後も出していこうと思います。
これが、誰かの参考になれば、
幸いですね。
それでは。
ちなみに、
SEでもPGでも、だいたい視力は落ちます。
私はレーシックをやりましたが、
2 年間で 2.0 ⇒ 1.2 になりました。
もし、IT系に進むなら、
ブルーライトカット眼鏡はあったほうが良いですよ。
以下を参考にしてみて下さい。
▷『元SEがオススメしたい、ブルーライトメガネ。その効果とは?』
文系大学⇒PG(プログラマ)、SE(システムエンジニア)として就職したときの、
将来のキャリアについてまとめてみました。
興味がある方は、どうぞ。
▷『文系から進む、SE(システムエンジニア)の道。上へ昇るには?』
▼もしIT系に進むなら、この資格は必ず押さえておきたいところ
昇級したければ、この資格の取得は必須です。
なぜ開発系の話ししかないんでしょうか?
「開発」以外のSEはひとこと触れただけですか?
いまどきはインフラSEのほうがよほど多いのに。
>>チキンさん
記事内でもあるように、私がソフト系をメインにやってたからですね。
インフラやハードに関する仕事をしたこともありますが、
はっきり言って詳しくありません。
“知らないこと”や”経験のないこと”を、さも知っていることのように書きたくはありませんので、このような内容としています。
この記事がSEやPGの全てを網羅しているとは思いません。
ですが、ここに書いてあることは全て私が経験したことです。
なので『あくまでIT業界の一面として捉えてもらえれば』と考えています。
こんにちわ。僕は今高校1年生で、将来システムエンジニア関係の仕事に就きたいと思っています。
そこでなんですが、大学は国公立をめざしています。ですがどんな科に入るといいのですか?
自分でもしらべては見ましたがまだ実態がわからず、手探りで悩んでいます。あと、やっぱりSEというと科目は理系を選択したほうがいいのでしょうか?
因みに将来的にはスマホやタブレット、ウェアラブルコンピューターやそのまた次世代を行く、常に人間のそばにあるようなコンピューターの開発に携わりたいと考えています。僕はコンピューターは大好きですがそこまで知識を持ってるわけではありません。どうかアドバイスを宜しくお願いします。
>>ダイマルさん
はじめまして。
>常に人間のそばにあるようなコンピューターの開発に携わりたいと考えています
>どんな科に入るといいのですか?
これは一般的な職業のSEではなく、研究者を目指すことになりそうですね。
研究者となり最先端技術の研究・開発をするのであれば、システム系の研究室・研究所に入る必要があります。
となると、やはり情報処理系の学部・学科を目指すのが近道でしょう。
学部は工学部や理工学部ですが、学科は大学によって様々なので一概に言えません。
(ちなみに、私の友人は東京工業大学の工学科+大学院を卒業し、現在サーバ管理+ソフト開発の仕事をしています)
ハード(コンピュータ)を扱いたいのであれば、”機械知能システム学科”や”制御システム工学科”などでしょうか。
>やっぱりSEというと科目は理系を選択したほうがいいのでしょうか?
一般的な職業としてのSEなら、理系科目よりも文系科目の方が大切です。
(コミュニケーションや一般常識の方が業務上必要になるため)
しかし研究者になるのであれば、理系科目(特に数学)が必須になりますね。
ただ、「常に人間のそばにあるようなコンピューターの開発に携わりたい」と思うのであれば、人とのコミュニケーションに関する研究も必要でしょうし、そのために文系科目(国語・英語・歴史など)の勉強も避けられません。
(人を理解するために必要な要素であるため)
つまり、大学受験としては理系科目優先ですが、研究者としては文系科目も勉強することになるでしょう。
ちなみに、現在ITについてほぼ知識がないのであれば、ITパスポート試験などを受けてみることをオススメします。
簡単ですし「IT・システム・コンピュータとは何か?」について理解できるようになりますよ。