なんやかんやで10年以上IT業界で働いています。
運よく様々な業態、規模の会社で働くことができました。
IT業界の中でも私が働いたことのある業態は以下の3種類です。
- ソフトハウス
- SIer
- 自社サービス(インターネットサービス)
これら3種類の業態について良かったところと悪かったところを書いていきます。
ソフトハウス
規模が小さく受ける仕事は基本下請けがメインとなっています。また出向して取引先に常駐したりもします。
私がいた会社では割と常駐することはなく、しかも自社パッケージも持っていました。
小さな会社ではありましたがよく言われるブラックな面はなく、残業もほとんどありませんでした。
今思えばすごくラッキーだったと思います。
ソフトハウスをわかりやすいイメージで言うと「ブラック会社に勤めてるんだが、もう俺は限界かもしれない」という映画に出てくる会社がピッタリです。
主な仕事
メインの仕事は発注元が作成した基本設計書から詳細設計書、プログラムを作っていくことが主となります。
書かれた仕様通りに動くものを作ることがメインとなります。
この「書かれた仕様通りに動くもの」というのは言い方を変えると動けば基本OKです。
どういうプログラムが書かれているかはほとんど気にされることはありませんでした。
社内ではコードレビューを行っていましたが発注元からコードに関しては何か指摘があったことはほとんど記憶にありません。
ソフトハウス会社の良いと思うこと
ソフトハウスでの良いと思うことですが以下の3つです。
- プログラミングができる
- 小さいので幅広く作業ができる
- 未経験でも入社できる
プログラミングができる
まずプログラミングができるですが「おいおいそんなん、当たり前だろ?」と思っている方も多いかもしれません。
一言にIT業界と言っても全くプログラムを書くことがない人もいます。大手のSIerの方とかだとほとんどの作業が上流工程(企画提案や要件定義など)となり、下流工程であるプログラミングをほとんどしなかったりします。
上流工程や下流工程はウォータフォールと呼ばれる開発手法の工程での順番のことです。
開発手法については以下の記事で書いていますのでよければご覧ください。
ソフトハウスに関してはメインの仕事が動くものを作ることなので、全くプログラミングをしないということはないと思います。
なので俺はガリガリプログラミングをしたいんだ!という人にはおすすめできます。
小さい会社なので幅広く作業ができる
ソフトハウスという会社は小さいことが多いと思います。
小さいと必然的に様々な作業をすることになります。
プログラミングはもちろん、サーバーの構築や運用保守を行うことができます。
私がいた会社は自社のパッケージもあったので小さい案件ではありましたが営業や要件定義も行うことができました。
未経験でも入社できる
ソフトハウスという会社は小さいことが多く比較的、未経験での入社が可能になっていることが多いと思います。
昨今はプログラマーになりたいという方が多いかと思います。
そんな中で実務の経験がないとなかなか就職するのは厳しいかと思いますが手っ取り早くプログラミングができる会社に勤めたいということでソフトハウスであれば入れる可能性は高いと思います。
一旦は1年程度プログラミングを勤めながら学んで、大体できるようになってきたら行ってみたかった会社に応募してみるなども良いかと思います。
会社にいきながら帰ってからも勉強しつつ、さらに自分でアプリなど作成してポートフォリオを作っていけば希望する会社への就職できる可能性がかなり高くなると思います。
ソフトハウス会社の悪いと思うこと
ソフトハウスでの悪いと思うことですが以下の2つです。
- 給料が低い
- レベルが低い
給料が低い
ソフトハウスは下請けとして仕事を受注していることが多く、単価が低くなっていることが多いです。
そのためそもそも会社に入ってくる金額が大きくないこともあり社員へ分配される給料も低いことが多いです。
レベルが低い
良いところで書きました「未経験でも入社できる」ということが逆にここで悪くなってしまいます。
例えばコピペプログラムが多いやプログラミングにあまり興味ない人多いなどがあったります。
ただ存続している会社なので全員が全員というわけではなく一人二人ものすごくできる人がいます。
その人たちからできる限り良いところを吸収できるようにすることが肝となると思います。
SIer
SIerとは「システムインテグレーター(System Integrator)」のことで、読み方は「エスアイアー」です。
お客さんが日々行っている業務の効率をあげるシステムを作り納品することがメインの仕事になります。
このSIerからソフトハウス会社へ発注されることが多い形です。
また一般的にSE(システムエンジニア)と呼ばれる人たちがSIerに勤めており、SEの人たちが要件定義、基本設計した仕様書をもとにソフトハウスのプログラマが動くものを作っていくという流れです。
私がいた会社は元請け案件も多く上流工程を経験することができたことは良かったです。
SIerの良いと思うこと
SIerでの良いと思うことですが以下の4つです。
- システムを作る全体の流れがわかる
- 上流工程の作業が経験できる
- いろんな業界に関わることができる
- 給料が高い
システムを作る全体の流れがわかる
SIerの元請け企業となると企画の段階から入っており、全体的なスケジュールを組んでいき調整することがメインの作業になってきます。
お客様が望んでいるものがどのような流れでシステムとして構築されているのかがわかるようになります。
システムを開発していく手法として多く取られているのはウォーターフォールと呼ばれる形式が多いです。
開発手法の種類については以下の記事に書いてますのでご覧ください。
上流工程の作業が経験できる
前述したソフトハウスで行うプログラミングは下流工程と呼ばれています。
SIerでは上流工程を担当することがあり、エンドユーザー(実際にシステムを使ってもらう人)の業務スペシャリストの方と打ち合わせを行い、業務の内容を確認しながらそれをどうシステムで実現していくかを考えていきます。
エンジニアの人は黙々とパソコンの前に座っているイメージがあるかもしれませんが目に見えないものを作るというのは非常に難しくコミュニケーションをとることがとても重要になってきます。
また業務スペシャリストの方はIT全くわかりませんという方は割と多く、その方達にもわかるように専門用語を平易なものに変えたり、わかりやすい例えにしたりして認識を合わせながら進めることが重要になってきます。
いろんな業界に関わることができる
SIerでは数多くのプロジェクトを担当していることが多いです。
担当する業界も多岐にわたります。金融、物流、製造、販売など様々な業界のことを知ることができます。
よっておのずと社会のいろんな業務知識をつけることができます。
給料が高い
業界の構造上、元請けに近くなればなるほど給料も上がっていきます。
SIerの方が元請けであることが多いのでSEとなると給料が高くなります。
大手SIerのPMともなると1000万は楽に超えてくると思います。
SIerの悪いと思うこと
SIerでの悪いと思うことですが以下の3つです。
- 枯れた技術が採用されやすい
- プログラミングを全くしないことがある
- フロー型のビジネスである
枯れた技術が採用されやすい
今稼働しているシステムを新しいものに作り替えると言ったプロジェクトがあったとします。
このようなプロジェクトの場合に旧システムの保守契約の関係などから納期がすでに決まっていることがあったりします。
そんなときに技術的な不確定要素をなるべく排除するために実績のある枯れた技術が採用されることが多々あります。
また枯れた技術を使った方が人材を確保しやすいということもあります。
せっかくITという業界にいるにもかかわらず使っている技術はすごく古いものという面白くない感じになっていたりします。
プログラミングを全くしないことがある
SIerでは上流工程を行うことが多くなるので全くプログラミングを行わないということがあります。
何をやっているかというと仕様書、設計書を作成しています。
SIerではウォーターフォールと呼ばれる開発手法をとることが多く、全てドキュメントが揃って、作成したドキュメントの内容を机上で整合性がとれていることを確認し、次の工程のプログラミングに進むということが一般的になっています。
なので担当する工程によってはただひたすらエクセルと向き合い文章を打ち込んでいくという作業になります。
私はおかけでエクセルのショートカットやマクロなどを覚えることができました。
フロー型のビジネスである
業務を効率化したい企業から依頼をもらい、システムを作り納める。その対価としてお金をもらうというフロー型、売り切り型のビジネスとなっています。
そのため確実にお金をもらえるもののずっと案件をやり続けないといけないビジネスモデルです。(ただ運用保守というストック型の売り上げもあります)
自社サービス(インターネットサービス)
最後に自社サービスです。
自社サービスはブラウザやスマホのアプリを通してサービスが提供されており、対象となるのは企業はもちろんのこと私たち一般の消費者も多くの人が利用しています。
よくIT業界ではSIerはだめで自社サービスが良いなどと言われることがありますがその多くはビジネスモデルの違いと技術に対しての考え方の違いからきていると思っています。
自社サービス(インターネットサービス)の良いところ
自社サービス(インターネットサービス)の良いと思うところは
- 自分達で何を作るかを考えることができる
- 最新の技術を活用している
- 柔軟な働き方をしている
- ストック型のビジネスモデルである
自分達で何を作るかを考えることができる
ソフトハウスやSIerがもちろん考えていないということではありませんが依頼元のユーザーからヒアリングを行い、要望をシステムの機能として作っていくという流れになっています。
一方インターネットサービスに関しては基本的には自分達でどういう機能を作っていくかを考えていきます。
どういう機能を作るのが正解なのか?というのはリリースをしてみないとわかりません。
まず出してみてその効果を検証して改善していくということを常に考えながら前進していく、これが自分のサービスを育てていくという一番面白いことではないでしょうか。
最新の技術を活用している
技術を選択することにほとんど制限がありません。むしろ新しいことにチャレンジすることが歓迎されます。
まずは試してみてダメだったらやめて違うのを使うというサイクルがとても早いです。
またそういう新しい技術をすぐにものして実際のサービスに使うということは高い技量が求められます。
よって所属しているエンジニアのレベルが高いことが多いです。技術に興味があり日々勉強しているというよりは好きで日々プログラミングをやっており、「こないだ土日にこんなの試したのでこの機能に使ってみよう」と思いますみたいなことがよくあります。
柔軟な働き方をしている
最近ではリモートワークが割と当たり前となってきており、週に1、2回しかオフィスに集まらないとかフルリモート(全て在宅)などが多くなってきています。
フレックスがただあるよというだけでなく実際に運用としてまわっていることなども挙げられます。
ストック型のビジネスモデルである
自社サービスはストック型のビジネスモデルとなることが多いです。昨今よく聞くサブスクですね。
ストック型のビジネスモデルの良いところは継続して積み上がって収益を上げていくところや経済環境に左右されにくいなど安定して収益が得られるところです。
また利益率も非常に高くなっていきます。
自社サービス(インターネットサービス)の悪いところ
自社サービス(インターネットサービス)の悪いと思うところは
- 飽きてくる
- 売れていない(使われない)と色々ときつい
飽きてくる
自社サービスでは同じサービスを同じ業界の同じサービスを磨き上げていくことになります。
なので人によっては2、3年やってくると飽きてくるということがあります。
スキルの高い人であればまた別の興味のあるサービスに移っていくという形がよくみられます。
売れていない(使われない)と色々ときつい
ストック型のビジネスは使ってもらえると安定して収入が得られるのですが使ってもらえないと全く収入がありません。
さらに使ってもらえないということはフィードバックが得られないため作っているものが良いのか悪いのかが全くわかりません。
エンジニアとしては後者の方がきついです。
作っている時も正解がわからない状態で作っているためまずはリリースしてみてその結果から改善していこうという考えで進めることが多いのですが使ってもらえない場合は改善が難しくなります。
おすすめするとしたらどれか?
おすすめするとしたらインターネットサービスです。
理由としては以下のこの3つが挙げられます
- 自主性を持ってサービスに取り組めること
- 新しい技術に触れるチャンスが多いこと
- 周りのレベルが高いこと
もちろん他の2つにこれがないというわけではありませんが自社サービス会社の方が高い可能性で上記のようなことが得られると思います。
やはり自分たちで仮説・検証を繰り返しながらサービスを育てていくことは苦しいこともありますが楽しいと思います。
自社サービスおすすめです!