島までは遠い

佐藤正志@サークルアラウンドのことが少しわかる場所。プログラマーを育てるトレーナーとして、現役のソフトウェア技術者として、経営者の端くれとして、想うことをつづる予定。しばらくは工事中。

IT技術者の勤める会社の分類、こんな感じで合ってます?

f:id:ms2sato:20180914090239j:plain

はじめに

ms2sato.circlearound.co.jp

前にこんなエントリ書いてたんですけど、結構ギリギリまで「言語で分けるか業界で分けるか」とか迷ってたんです。その当時はとりあえず言語軸で分けてみた書き方にしました。

最近「SES」「自社開発」を比べている言説が結構多いように見受けられますが「この分け方ってザックリし過ぎじゃないですか?」って思ったので自分なりの表現をしてみたいと思います。例のごとく私は統計を取ったわけでも確かな情報を元に書いているわけでもなく、見聞きしたことと自分の経験から書いています。というわけで「そうじゃねぇよ、こうだよ」というのがあったらどんどん出してもらえる方が、私もハッピーになれるのでよろしくお願いします。

前提・注意など

零細な会社や例外な会社

物事には必ず例外があると思うので、類型っぽくまとめることができたとしても「そうでないもの」は大抵あると思います。特に零細な会社は社長の力が強いので「分類としては何かに属しているかもしれないけれど、その実そんなことはない」という事がよく起こるのではないでしょうか。通常の倫理が働かずにとんでもないブラックとかも混ざっている可能性はあります。零細は良くも悪くも社長次第かと。

「パターンで考えすぎるの危険もありますよ」ってことで一つ。結局一社一社違う事やっているので、最終的には自分で何かを見極める必要があるはずです。

お金と余裕

もう一つ前提を。会社経営の余裕は結果としてキャッシュの話になると思います。余裕のなさは以下のようなところの反映されるはずです。もちろん「余裕はあってもやらない・やれない」という文化的なものもあると理解しておくと良さそうです*1

  • 新しい事業に時間やお金を投入する事ができない
  • 新人をゆっくり育てる事ができない
  • はやく帰る事ができない

そしてもちろん例外はあって、どんなにキャッシュに余裕があっても「もっとひたすら儲けたい」という考え方をする社長なら、結局余裕は無いわけですね。

自社開発系

自分の会社で開発できる会社を書いてみます。

スタートアップ

小規模・零細

基本的に調達をして、ビジネスが大きくスケールするのを目指しているのがこの界隈です。なので事業が小さいうちは全く余裕がありません。スピード優先で顧客を獲得していかなければキャッシュが無くなって会社は倒産しますし、VCの期待に応えられなければ次の調達が無いかもしれません。そういう事情から「もっと働け、死ぬほど働け。」になりがちです*2

また、人数が少ないということは多様な業務を要求される可能性もあり、プログラマーとして雇われたけれどプログラミングだけではない様々な雑用をしているようなケースもあるでしょう。高い給金よりも、ストックオプションや向かっているビジョンような「会社の将来」をモチベーションにして動く事が多いです。会社制度も整っていないことが多いです。

親切に何かを教えてもらえるような事を待つ人には向きません。誰にも教わらなくても自分で工夫して成果を出そうとするタイプの方がマッチしています。いい意味でギラギラしたエネルギーが必要な分野ではないでしょうか。

大規模・メガ

様々な苦難を乗り越えて安定を手に入れたスタートアップは、自分たちの事業から黒字を生み出してある程度の余裕を作っていきます。既に中心になる事業で会社が運営できている状態なので、さまざまなことに投資をしやすくなっているでしょう。

知り合いに聞いている感じだと、良い意味でスタートアップらしさを失っていなかったり、創業者がそれを失わないようにアクションしたりする様子で、余裕はあるけれど切磋琢磨する環境を大事にされている様子が伺えます。

持ち帰り受託

基本的に受託の会社は小規模なスタートアップに比べれば余裕を作りやすいと言えます。シンプルに「依頼を受けて見積もりをし、作成して納品をする」というオーダーベースの製造の商売なので、見積もりを大きく間違えるような事が無ければ利益を出しやすいです。上手にやっている会社なら社内で仕事を教えながらうまく伸ばしてくれると思います。

ここで紹介するのはお客さんから取ってきた仕事を社内に持って帰ってきて開発しているタイプの会社です。古式ゆかしいやりかただと思っていたのですが、ひょっとして今はSESとかの方が増えているのでしょうか?(ちょっとこの辺よくわかりません)お客さんがITわからない会社なら一次請けとして全てを決めてハンドルできるポジションです。逆にITわかる会社に対して二次請け的にうまく協力していくスタイルもあります。

弊社は以下二つの両方をお客さんに合わせてやったりします。どちらかというと準委任にしてしまうのが多かったのですが、最近は請負もバランス良くいれていこうとしています。

請負型

「こういう仕様のものをいつまでに納品で、いくら」と決まっているやつですね。マルッと全部引き受けるので責任も大きいですが自由もあります。新規の開発になる事が多いので、利用する開発の言語や環境の提案もしやすいですよね。新規の開発の経験的には一番増やせる業態ではないでしょうか。ちなみにこれで新規を作った上で保守で月額費用をいただいていく、というのが以前結構あったスタイルかと思います(ちなみに私が過去関係した会社では「保守はつまらないから作りしかやらない」という集団もいたりして、結構色々なスタイルがあるのかもしれません)。

保守まで持っているような会社さんだと、最初は簡単なバグ対応やログ管理から始まって、徐々に新規開発のメンバーへステップアップできるような環境を作れる会社もありそうです。

期限が決まっているのに納期直前にお客さんからの仕様変更を受けて大変な目に合うとか、営業がホイホイ「やるやる」って言ってきて社内リソースが全く足らずに大変な目にあうとか、過去あったりしましたね。そういう会社は慢性的にそうなるので、注意ですよね。社内のエンジニアさんと腹割って話せないと回避できない感じしますけど。

準委任型

「能力は貸すよ。完成は保証しないよ。一時間おいくらだよ。」のようなやつです。手は貸すけれども、完成を保証しないスタイルですね。稼働量の調整がしやすいので、請負型にあった納期直前に大変!みたいなのは基本的には(契約上基本的には、です)無いものです。逆に必死になって早く終わらせてもあまり実入りがよく無いとも言えます。ただし、長期的に考えると価格に見合ったスピードや品質は大事になるので「手を抜ける」というわけではありません。

完成は保証しないのだけれども、相手側の都合によって結果的に急かされるとかは発生します。ただ、長い時間稼働するならそれは請求できるものになるので「もっと長時間働け」という圧力は会社によってはあるのかもしれません。

ある程度開発の進んだコードを途中から見ることも多いです。「まず読み込んでいく」ことが必要ですし、技術的負債のようなものに向き合わなければならないシーンも多いです。ただ、新規案件ばかりやっていると「とにかくはやく仕上がって一旦出せれば良いや」という思考に陥りがちなのに対して、こちらは既に動いているものをいかにより良く変容させるかが大事になるので、別の意味での成長ができます*3

弊社の場合にはトレーニングをやっている都合上、あまりに納期納期で追い詰められるとトレーニングの品質に影響してしまうので、この準委任型を中心に受託を構成しています。

新規事業型

既に別の事業で安定されている企業が、新しい領域としてインターネットのシステム開発をしている場合があります。あまり表に出なかったりしますが、私はこの界隈の話も何本か聞いたことはあって、環境がとても良いケースがあるのではないかと推察しています。パターンとしては以下くらいがありそうなんですけどね。

新規事業を短期で立ち上げないといけない追い詰められ型

「試しにやってみよう」という形で始まっていたりするとかなり予算を絞っているケースがあるようです。しかも短期間で、のような条件付きだったりするようです。

仕事としては面白いものがあるかもしれませんが、短期間で成果を出さないと維持できないようなところだと、そういう一定の追い詰められ環境に耐性がないと難しいかなと感じたりします。こちらのタイプだと即戦力求めるので力ある人をとにかく取りに行く気がします。もしくはマルッと社外に委託するかでしょうか。

将来に備えて別事業を求める分岐型

本業とシナジーのあるようなWEBサービスをやるなどして、会社の行く末に長期的に寄与する目的でシステム開発を始めているケースを伺ったことがあります。上記の追いつめられている感じがあまりなく、安定して開発することができたりする様子です。

最近聞いた話ですとエンジニアとしては給金が少なくなってしまう様子ですが、いわゆる労働の条件が良かったりするので*4、求めているものの本質がお金ではない方とか、子供のいらっしゃらない方など、ライフスタイルによってはとてもマッチしそうだと思いました。

ただ、エンジニア組織としての成熟がどの程度かというところがあり、成長できる文化があるかとか、良い上司がいるかどうかなどは実際に確かめていかないと難しいかもしれませんね。

社外系

派遣・SES

私は派遣社員の経験はあるのですが、SESは自社でも個人でも経験が無いです。社外に出て働くという切り口でザックリ書きますね。

基本的に自社への帰属意識は薄れます。日々一緒にいるのは派遣先のプロジェクトの人たちなので、その人たち次第で随分環境は変わると思います。

もしも能力がまだ足らない場合だとできる誰かと一緒に現場に配属されることがあるようですが、この一緒に派遣された人が育てることに意識を持っている方だととてもハッピーです。そうで無い場合にはかなり自力で伸びていくことを望まれるでしょう。

何より私がこの働き方のメリットとして感じているのは「様々な現場」を短期間に見て回れる可能性の高いことです。派遣の時期にはいわゆる大企業の二次請け三次請け、もちろん一次請けの会社も見ることができました。その中でいくつもの世界を見ることができたことは自分にとっては大きなプラスになっています。

私の頃はかなり昔の話なので、この界隈が大きく変わっている可能性は感じています。

おしまいに

一旦ザザッとこんな感じかと思うので、業界で職を求めている皆々様にあられましては色々と調査した上でご検討いただければ幸いです。冒頭にも書きましたが不足点のツッコミや誤りについてのご意見など期待しています。私の目的は「概ねこういう感じじゃないか?」と掴めるような情報が得られるようにすること、その一点です。

*1:例えば、新人をゆっくり育てるようなことは現場がそういう文化を持っていなければなかなかできないです

*2:でも、そういうことが好きで世の中を変えるようなアクションの為に今の激務に耐えられる人がいる界隈ではないでしょうか

*3:個人的にはこちらの感覚は大切にしています

*4:本業が別途進めている働き方に合わせて内容が決められているからかと推察しています