システムエンジニアを目指すうえで最初にすべきことは?

最近ではニュースでAIやクラウドといったIT関連のワードをよく耳にする方も多いかと思います。

また学校の授業にプログラミングも取り入れられており、幼児向けのプログラミングスクールも多く展開されています。子供の将来目指したい職業としてシステムエンジニアが上がることもあり、実際に現在ITとは全く関わりのない他業種の方からシステムエンジニアへの転職について相談を受けることがあるため、今回はシステムエンジニアになるには?について記載したいと思います。

①システムエンジニアとプログラマーの違い

まず最初にシステムエンジニアとプログラマーの違いですが、この2つは混同されることが非常に多いです。

と考えられている方は実は間違いでもないです。

一般的には下記のように分類されます。

・システムエンジニア

 お客様と実際に打ち合わせ等を行い、お客様の要望をヒアリングし
 要望を満たすための方向性などを決定する(要件定義)。
 要件定義を元に画面設計書やシステム設計書等を作成する。
 またプロジェクトメンバーを管理する。
 上流工程を担当する。
 

・プログラマー

 システムエンジニアが作成した設計書を元に実際のコーディング(プログラミング)を行う。
 プログラミングの実装の部分とは別にシステムの動作テストを行う。
 下流工程を担当する。
 

ただ、実際は会社によっては担当範囲がシステムエンジニアとプログラマーであいまいになっていたりプログラマーがシステムエンジニアに指示出しをしているケースもあります💦

私が働いている開発現場でもシステムエンジニアがシステムの動作テストをしたり、プログラマーが一部要件定義書を作成したりしています。
なのでネットの世界で見るような定義に明確に当てはまるわけではありません。

ですが、実際にプログラミングがすごい好きな方であればプログラマーを目指すべきですし
お客様との打ち合わせを通して、要望のヒアリングしたい場合やプロジェクトの管理をしたい場合はシステムエンジニアを目指したほうがいいと思います。

重要なのは必ずしもネットの世界で見るような定義通りの作業内容になるわけではないが
大まかな違いを理解するところです。

相談を受けた方の中にシステムエンジニアになるためにプログラミングスクールに通っているといった方もいました。大手のSler等は新卒からいきなり上流工程を担当し、プログラミングはおろか「データベース」や「ネットワーク」の基礎も分かっていない方も実際何人も見ました。
システムエンジニアでもプログラミングやITとしての基礎知識があるに越したことはなくプログラミングスクールに通うことは決して間違っているわけではありません。
ですが、入社する会社によってはシステムエンジニアにプログラミングの知識をほとんど求められていないこともあります。

まずは自分が目指すべき目標を決め(システムエンジニアになりたいだけでなく、どういった会社に入社するか)、その目標を達成するには何が必要か?を考える必要があります。

最初にシステムエンジニアとプログラマーの違いを紹介した理由としては
プログラマーを目指す方でプログラミングができないといったケースは厳しいですが
システムエンジニアを目指すうえでは、入社する会社や配属される部署によってはプログラミングの知識が求められるケースとそうでないケースがあるため


システムエンジニア=プログラミングが必須

とは回答できないということをお伝えしたかったためです。

②システムエンジニアを目指すうえで最初にするべきことは?

相談を受けた際には

ずばり基本情報技術者試験に合格することだと回答しています。

(すみません。基本情報技術者試験をお勧めしましたが基本情報技術者試験には受かっておりません)

では自身が受かってもいない試験をなぜ進めるのかですが
少し昔のお話をさせてください

新卒で入社したシステム会社で業務をする中でよく先輩社員から業務にならないから
「ネットワーク」や「データベース」の基礎知識は家で勉強してほしいと言われました。
恥ずかしいお話ですが、バッチとパッチの区別も当時ついておらずお客様との打ち合わせ時に指摘されたのを今でも覚えています( ;∀;)
またMACアドレスとIPアドレスの違いもいまいち分かっておらず、笑われてしまったことがあります。ただ、業務をする中で都度都度ネットで調べたり、先輩社員に怒られながら最低限と思われる知識を身につけました。

入社して3年くらいが経つ頃には、ある程度の知識を身につけていたわけですが
ちょうど会社から資格取得者を増やしていきたいということで基本情報技術者試験をうけるように言われました。
これまで基本情報技術者試験の存在は知っていましたが、中身を見ることはなく本屋で少し立ち読みしていたところ

衝撃でした( ゚Д゚)

システムエンジニアになってから業務で学んだ基本的なこと(システムエンジニアに必要な最低限の知識)が、詰め込まれていたためです。

当たり前ですが、独立行政法人情報処理推進機構(IPA)が実施する国家資格だけあり
最低限の必要な内容は盛り込まれているのだと感心しました。


1年目の時に家で勉強していたこともありますが、あまり業務で求められているような基本的な知識が網羅されている参考書に出会わず、「ネットワークの基礎」や「データベースとは?」、「オペレーティングシステムとは?」のような初学者向けの参考書を分野ごとに購入して読んでいました。勿論それでもいいのですが、今思うと基本情報技術者試験の参考書が一番求めているものに近かった気がします。ですが、結果としてその年に新卒で入社した会社を退職したため、基本情報技術者試験は受けないままとなりました。

退職した理由ですが、プロフィールに記載しております。

ここまで基本情報技術者試験のいいところ語ってきたわけですが
つい先日、後輩社員に基本情報技術者試験に受かるとシステムエンジニアとして転職時に有利になるかと聞かれ、あまり有利にはならないと回答したことがあります。

理由としては、確かに基本情報技術者試験はシステムエンジニアとしての最低限といえるような内容は盛り込まれていますが、近年システムエンジニアを目指される方が増えているのと昔と比べて参考書等が充実していることと他のIT資格の中には2年に一度更新が必要だったりしますが、基本情報技術者試験は一度合格すると資格を保持できるためです。

合格することだけを目的に丸暗記している方も多く
相談を受けた後輩社員も基本情報技術者試験に合格したのですが、業務でレイヤーのお話になった際に「あのピラミッドみたいなやつ、あんまり覚えていないです」とのことでした。

ピラミッド(◎_◎;)
と言っている時点でほぼ理解できていないことを悟りました・・・

基本情報技術者試験自体はシステムエンジニアの登竜門と呼ばれるだけはあり
最低限の必要な情報がまとめられていますが、合格することを目的に丸暗記するのではなく
中身を正確に理解することが必要です。

このあたりは他の資格試験にも言えることだと思いますが
基本情報技術者試験は特にほとんどのベースになる知識なので中身の理解が重要です。
ただ、最初に「基本情報技術者試験の中身を理解する」と伝えるとゴールが見えにくいので
「基本情報技術者試験に合格すること」だと伝えています。

③まとめ

・システムエンジニアにもプログラミングの知識は必要だが、就職する会社、配属部署によっては
 求められないこともあるため、何もシステムエンジニアとしての知識がない状態であればプログ
 ラミングにこだわる必要はない

・システムエンジニアとして、実際に業務を行う場合は聞きなれない用語やイメージしにくい概念
 があるため、可能であれば事前に「基本情報技術者試験」に合格しておく。
 重要なのは、資格試験に合格することではなく中身を理解すること。

・転職時等に「基本情報技術者試験」に合格していること自体はあまり有利にならないことが多
 い。

コメント