今エンジニア(プログラマー/SE)が足りない・・・そんな話、よく聞きますよね。その一方で、エンジニアになりたいなーという話も良く聞く。
じゃぁ、なんでなりたい人がならないか(就職/転職しないか)というと、なり方がわからないからかなと思いまして。
なり方を僕の経験交えて書いたりすると需要あったりするかな?と書いてみる次第です。
SIってなんぞ?
企業や公官庁のシステムを作る事と思っていただければ、大体合ってます。
- 社内の会計システム(簿記の記帳をシステムでやると思って頂ければ)
- 社内の在庫管理システム
といった企業内で閉じるものはもちろん
- オンラインバンキングシステム
- オンライン証券システム
といった、その企業の顧客が使うものを作ったり
- 受発注システム
といった企業間のやりとりをするようなものまで色々作ります。
SIの闇って?
金がかかる
上にあげた様な諸々を作るにあたって、少人数のプロフェッショナルが短期間で作り上げるかというと、大抵そうではありません。
2桁億円の予算で作るシステムや、3桁億円の予算で作るシステムなど珍しくありません。
公官庁が導入したシステムは予算みる事ができるので、ちょっと調べてみたらこんなのを見つけました。
http://www.cas.go.jp/jp/seisaku/nenkin/dai9/siryou4.pdf
これをみると、年金システムの刷新で1150億円と書いてますね。恐ろしい。
もちろん、こんな大規模なのばかりという訳ではないですが、単位が億の案件は少なくないです。
何が言いたいかというと、1つのものを作るにあたって、大量の人が必要になります。
人手が必要
システム開発じゃーとなって、必要となる人数。先ほど挙げた様な大規模なものだと、3桁人とか4桁人の人でが必要になってきます。
いわゆる大企業。N○TデータとかI○M、日○製作所などなどが自社からそれだけの人数を出せるかというと、まぁ無理です。
じゃぁどうなるかというと、いわゆるゼネコン構造で人を集めます。
NTT系列や国内大手ITベンダー(日立、NEC、富士通)の三社、外資系ITベンダー(IBM、HP、Oracleなど)系列のSIerが大手の顧客を囲い込み、インフラ構築からコンピュータ機器の設置、納入後の運用メンテナンスに至るまでを一括受注して利益を得ており、実際のプログラミングやテスト作業を中小のSIerに丸投げしている状態となっている
丸投げというのは言い過ぎ感ありますが、大手が受注し、それを「協力会社」という呼び名で中堅SIerが入ってきて、その中堅の下にもまた「協力会社」という名で人貸しが行われます。
ピラミッド構造が発生する訳ですね。
ピラミッド構造の上と下
いわゆる大手と呼ばれる会社。世間的には丸投げするだけで楽をできると思われがちですが、全くもってそんな事はありません。
「え?お前この○○億円プロジェクトの責任どうとってくれるの?」というプレッシャーや「は?協力会社に残業させるとその分金出さないといけないんだよ?」といったプレッシャーにさらされつつ、(特に赤字が見えてるプロジェクトだと)残業代もまともに出ない中連日徹夜するなんて事も多いです。
いわゆる中小企業と呼ばれる会社。言葉を悪く言えば下請け。
やってる事は人貸しなので、残業代が出ないという事は少ないです。これがメリットと言えばメリット。
ただし、烏合の衆の一員として働く事になるので、全体感が見えないなか、周りを知らない人ばかりななか、よく分からない要件を元に設計書を描いたり、よく分からない設計書を元にコードを書いたり、どう動くのかが正解なのかわからないコードに対してテストをする・・・といった事はよく発生します。
参画するプロジェクトによりけりですが、一つ言えるのはどのポジションでも辛い。というかお仕事って基本辛いものだよね・・・といった感じです。
ピラミッド構造の下に潜り込む
「協力会社」という名の下請け人貸し会社。
実際に手を動かす人たちだから、技術力が必要に思えるじゃないですか。実際そうではなかったりするんですよ。
http://employment.en-japan.com/search/search_list/?occupation=401000&topicsid=102_105&aroute=1
転職サイトで「未経験可 学歴不問」とかでエンジニアの求人を検索してみた結果がこちら。
なんと150件も出てきます。
これらの9割が人貸し企業だと思ってくれて良いと思います。勤務地が地域表記だったり「プロジェクトによる」と書かれてたら、ほぼそうです。
エンジニアなのに未経験でいい。なんでだと思います?それだけ人が足りてないのと、それでなんとかなってきたなってきたという現実があります。
実際に潜り込んだらどんな感じ?
何を隠そう、僕のエンジニアキャリアの始まりはこういった会社ではじまりました。
研修期間は2週間くらいだったかな?まず「10日でわかるJava」という感じの本を渡された記憶があります。そして放置。なかなかひどい会社でした。
その後、協力しにいく会社(言い方悪く言えば、派遣先)が決まり、面談となります。
派遣先も10日でわかるJavaをやっただけの未経験者なんて取りたくないでしょう。会社主導の元、捏造された職務経歴書が用意され、経歴を捏造します。
模擬面接など練習をして、面談に挑みます。
なお、この時、大抵の会社では経験者と抱き合わせ販売されます。最初の最初は、さすがにフォローできる人がいないとクレームになりかねないので。
初めてのプロジェクト
そりゃもう悲惨でした。聞いたこともないフレームワーク、触ったこともないデータベース。設計書?ふーん、システムってそういうの作ってからコード書くのね、でもこれだけ見ても何していいか全くわからないんだけど。
1ヶ月くらいずっと頭真っ白でした。周りから、なんか頭から湯気が出てる様に見えるんだけど大丈夫?と言われた記憶もあります。
炎上案件だったので、連日の徹夜。いやー、辛かった。
ただ、多分どんな仕事でもそうだと思うんですが、わからんなりにも段々とわかることが増えてくるんですよね。
しかも、僕が仕事始めた当初、まだネットも貧弱な時期。会社からネットを使えなかったので、本片手に作業してました。
それに比べれば、わからないことがあればネットで調べられる今の時代は、もっとやりやすいんだろうなぁとか思います。
その後、お前はどうなったの?
そんな会社でしばらく仕事を続け、それなりにコードも書けるようになり、システム開発の進め方というの見えてきて。
2007年だったかな、ちょうど今と同じような感じでエンジニアの人手不足が叫ばれてた時期がありました。エンジニアだけでなく、どんな業種でも人が足りないと叫ばれてました。いわゆる好景気ってやつですね。
その時に転職でもしてみるかと、転職活動をしてみたら、いわゆる大手と呼ばれる所になぜか内定を頂き、今もその会社で仕事してます。
まとめ
何が言いたかったかというと、エンジニアってなる為のハードルが高く思われがちですが、実はそんなことなかったりするんですよ。
もちろん、知識や経験がモノを言う業界なので、「デキる」人になる為にはそれなりの努力は必要。
ただ、「勉強して少しはできる人になってから」という入り方だけでなく「まず入ってから実力つける」というやり方もあるよ、と。
こういう業界の構造自体が「そんなんだから日本のSIは・・・」と言われる要因になってるのはあるんですけどね。
どんな業界だろうと人は育てなきゃいけなくて、それをOJTとしてやると考えると、こうやって揉まれながらステップアップしていくというのはアリなんじゃないかなとも思ったりしてます。
もし、「仕事辞めてから就職活動してるけど、全然内定取れない・・・」とか「今の仕事辞めてシステム関係やりたい・・・」とか「そろそろニート脱したいと思ってる・・・」という人がいて、その人たちが選択肢の一つとして考えてくれると嬉しいなーと思ってます。