身につくスキル、役立つ能力は?
SIerでシステムエンジニアとして働くと、実際どのようなスキルを身につけられるのでしょうか?
これは人によってや、担当した仕事によるとは思いますが、
- パソコン全般
- プログラミング
- 開発しているシステムの業務知識(会計、銀行、証券など)
- プロジェクト管理能力
と、一般的にはこのような感じではないでしょうか?
それでは、ひとつずつ細かく見ていきたいと思います。
パソコン全般
SEにとって、やはりパソコンは必須です。
現場に入れば、一日中パソコンを使って作業をする毎日が続きますので、自然と細かいところにも詳しくなっていきます。
エクセル
仕様書を作成していればエクセルの機能に自然と詳しくなりますし、大量のデータを検証する時にはエクセルの関数なしにはとても仕事になりません。
FTP
またサーバーにアップロードする時にはFTPソフトなどを使いながら、開発環境とサーバー環境のイメージなどを理解していくのです。
マイクロソフトのAccess、SQL
システム開発はプログラミング言語だけでなく、データベースにも携わります。
本番環境のデータベースは閲覧できるくらいですが、単体テスト・連結テストでは、自前でデータを用意してデータベースを整えたりすることも多いです。
その時に必要になってくるのでSQLやマイクロソフトAccessの知識です。
開発現場によって何が必要になってくるかはわかりませんが、よく取得されていた資格がオラクルマスターの、
- ブロンズ
- シルバー
- ゴールド
などですね。
WEB系の開発ですと、MySQLになってくると思います。
SQL言語を特にプログラミングを意識せず触れるのがマイクロソフトのAccessです。
最低限のSQLを使えるようになるまでのハードルはそれほど高くないので、いきなりAccess等には向かわず、MySQLなどを独学で勉強するのも良いと思います!
あるあるネタ
もちろんPCの知識はSEだけが身につくわけではないですが、一般の仕事をしている人よりかは遥かに詳しくなると思います。
ただ、「SEやってます」なんて言うと、知人・友人から、急に電話をもらうことあります。
要件はだいたい決まって「パソコンがおかしいんだけど」です笑
- パソコン起動しない
- ずっと再起動してる
- セーフモードというものになって戻らない
などなど。
ですがSEは毎日パソコンを触ってはいますが、パソコンにとても詳しいというわけではないのですね。
なので、自分が体験したことのないPCトラブルだったりすると、グーグルで検索しても解決策がわからないことが多いです。
せっかく「パソコンに詳しい人」として頼ってもらったにも関わらず、お役に立てなかった。
という経験を持っているSEはとても多いのではないかと予想します。
プログラミング能力
入社時にまったくプログラミングができなくても、現場に配属されてから毎日のようにしていれば、誰でも自然とできるようになります。
ただし、SI業界で身につくプログラミングスキルは、そこまで高いものにはならないのが一般的です。
なぜなら単純作業的なものが多く、関数なども出来上がっていることが多いので、コピペやパーツの組み合わせだけでもできてしまうからです。
もし本格的なプログラミングスキルが必要だとしたらSI業界は回りません。
素人でもすぐにコードが書けるくらいの難易度まで下げてあるから今のような下請け構造が成り立つのです。その仕組み化はある意味スゴイと思います。
また、先ほども書きましたが、同時にオラクルのSQLやマイクロソフトのアクセスの知識も必要になることが多いので、きちんと勉強すれば技術として身につけられると思います。
どのプログラミング言語に携われるかは運
プログラミング言語を学ぶなら、やはり将来のことを考えて使い勝手の良いものを覚えたいですよね。
ですが、SIerのシステム開発現場はレガシーなところもまだまだ多く、金融系では特に、
- COBOL
の保守を行っているところも多いです。
そんな現場に配属になったら、そもそも覚えられるがCOBOLですし、保守となるとプログラミングスキルも大して伸ばせないのがオチです。
なので、意見を言うタイプの人は、3ヶ月程度で部署異動を上司に申請している人もいました。
その当時は、
- javaScript
などが人気だったので、COBOLからの異動ですね。
ただ、数年先は何のプログラミング言語が主流になっているのかはわからないので、組織で生きる以上は、ある程度は会社の意見を飲むことも必要なのではないかとも思います。
なので、この言語に関する判断は非常に難しいです。
運要素もあると思います。
業務知識
ひとつのプロジェクトというのは、ある銀行の帳票システムを作っていたり、証券会社の営業員のためのツールを作っていたりするので、開発現場に入るとその業界の業務知識が必要になってきます。
その業界のことなんて、もちろん最初はまったくわかりませんから、プログラミングや仕様を作ったりする上で、少しずつ身に付けていくのですね。
そこで一つアドバイス的なことがあるとすると、最初に入った現場がその人の一生を決めるかもしれないということです。
というのも、現場としても業務知識に詳しい人が重宝されますので、そのプロジェクトが終わったとしても、また違う同系の案件に配属されることが多いからです。
また、転職する際も、銀行系のシステムを運用している会社は、過去に銀行系の開発をしたことがある人を採用することが多いので、業務知識は非常にクリティカルな問題と言えるでしょう。
なので、若い頃に応用の効かない業務の開発を行っていると、そのプロジェクトが終わって他に移った時に、非常に惨めな思いをすることもあります。
当時の先輩なんかは30代前半で他のチームから移ってきたものの「その業界のことについて知らないから使えない」ということで、後輩のチームに入れられたり、半分干されているような状況になっていました。
逆に、例えば銀行などからSIに転職してきた人は、プログラミングもできないしシステム開発についても素人同然なのですが、業務知識があるというだけで非常に重宝されたりします。
各プロジェクトには、そのような人が数人いて全体的な仕様を決めたりしていました。
管理能力
これに関しては、本当に身につくのか?SIでプロジェクト管理したことがあるところで、他で通用するかどうかもわかりません。
ですが、大なり小なりのPJ管理を担当しておくと、転職時の面接でその時の話をアピールできるというメリットが出てきます。
SEのキャリアを活かして転職
SI業界に見切りをつけたSEが続々と転職している業界はこちら!
異業種転職なら社内SEでチャンスをつかもう!
社内SEから異業種を目指す堅実な戦略とは?
すぐに辞めたい、もう辞めてしまった方は派遣から!
IT・WEB系の派遣は高時給で、すぐに働けるのがメリット