見出し画像

SIer行きになりそうな人が読む記事

いや~、どうも。おれです。

先日、こちらの記事で、

SIerには気を付けろ、って書きました。とは言え、数多くの会社に応募した結果、どうしてもSIerにしか決まらなかった!っていうケースもあると思います。まぁ、何の経験もない人で、経歴もそんなに魅力的でなかったら、そういうこともあるかもしれません。というわけで、SIerに行くしかないという結果になった人が、なるべく有利に立ち回るにはどうすべきなのかを考えたいと思います。

※あ、どっちかというと、大手SIerより、小規模なSIerをターゲットにした話を書いてますが、大手SIerに当てはまる部分もあるとは思います。

SIerの普通の路線

SIerに行った場合、結局、ずっと続けてると、マネジメント系の仕事になりやすいですよね。要するに自分ではプログラムとか書かずに具体的な仕事は協力会社とか新人とかにやってもらう感じです。

SIerで特にそうなりやすいのは、プロダクトがお客様のもので、自分たちで握ってるわけじゃないからだと思います。お客様ごとに違うプロダクトなら、別のお客様の所に行ったら、また振り出しに戻るので、そうなると、その次の所で最初から実装とかやってる人なら、新人でも誰でも、第一人者になれるわけで、実装においては、ずっと居る人(年長者)が有利、とはならないと思うんですよね。それで、年寄りはマネジメントに流すって力が強く働くんだと思います。それで「いいね」ってことであれば、特に困らないんじゃないですかね。

とは言え、人間関係とか、スケジュール管理とか、顧客折衝、納期とか、自分の外側の要因でもみくちゃにされそうです。

あと、単に人をアゴで使ってるだけなら、別に他の人がやってもいいので、上役に目を付けられたら、スパッと切られたりとか、そういうのもありそうな気もします。具体的な開発の仕事を握ってるわけじゃないので、ある日、急に居なくなっても、現場レベルで特に何か困るわけじゃないので。。

かくして、イカロスのように、高みに到達したかと思いきや、一転、奈落に向かってしまう、なんて、ことになりそうな。。そのあたりにも用心して、上役やお客さんにも気に入られながら、がんばってください。

技術寄りで行こうとしたらどうなる?

「いや~、人間関係とか最小限にしたい」って人は技術寄りのほうが無難でしょうね。とは言え、基本的には、マネジメントに流す圧力が強く働くのがSIerだと思うので、ちゃんと技術力を積み上げてないと、圧力に負けて流されるのがオチだと思います。

圧力に負けずに踏みとどまったとしても、自分より年が下のマネージャーに使われる感じになりそうです。海外だとそういうのでも、普通なんでしょうけど、日本は儒教思想圏だからだと思いますが、年上が年下を使う文化なので、それとは違うってことなので、ギクシャクしやすいです。

実際、仕事はお客さんごとにどんどん変わって行って、新しい所に行くと、3~4年目以降ぐらいの人とだったら、あんまり差が付きにくいので、なおさら「年行ってる割に、大したことないなぁ」みたいな感じになりやすそうです。

あと、欧米のマネージャーと日本のマネージャーはちょっと感触が違う気がします。欧米のは「実作業をする人が働きやすくする仕事」って感じだと思いますが、日本だと「管理職でヒラよりもエライやつ」っていう感触が強い気がします。つまり、マネージャーのほうがエライってことです。技術者軽視ってことですね。とは言え、エライってことにしないと、ストレスの多い仕事なので、誰もやりたがらないでしょうからね。マネージャーをある程度、厚遇するのには、一理あります。

というわけで、技術寄りで行けたとしても、なんかちょっと面白くないポジションになります。まぁ、ここまでの話はSIerで特に当てはまるって話で、SIer以外でも、多少似たような話はあると思います。

技術寄りの終着地点 アーキテクト

アーキテクトって言って、設計とか要素技術選定に特化したポジションの人も居ます。技術寄りで行くなら、そういうのを目指すのが正統派なのかもしれませんが、自分で実装まで全部やるようなシステムならともかく、大勢で実装するようなシステムの設計となると、責任も伴いますからね。実装しながら設計も調整っていうのがいいんでしょうけど、いったん大規模に始まってしまうと、それもできなくて、大失敗して怒られたり、IBMみたいに訴えられたり、なんてことにも。。しかし、一方で「マネージャーも興味ないけど、そうかと言って、責任負ってアーキテクトやりたいわけでもないんだけど。。」みたいな人は、かなり立ち位置が微妙になります。まぁ、かく言う私も結構微妙な感じでして、アーキテクトっていう立ち位置ではないんですが、得意分野を作ってなんとかやってます。ただ、私は今はSIerじゃないので、なんとかなってるだけな気もしますが。。年齢がどうとかいう観念から解放されて、実装やりたい人は実装、って単純な世界になればいいんですけどね。。

※2022/11/3追記。似たワードとして「テックリード」もあります。それについてはこちら。

アジャイル開発 vs ウォーターフォール

それと、「実装しながら設計も調整」と言えば、アジャイル開発っていうのが、そういうスタイルです。

そうではなく最初に設計かちっと決めて突撃~!みたいなのがウォーターフォール(滝)モデルです。大手SIerはウォーターフォールが多いです。融通が利きません。ただ、本当にその計画の通りにやれるんだとしたら、スケジュールや見積もりは決めやすくて、そういう意味じゃ、参加者にとって仕事はしやすいです。ただ融通が利かないので、実は設計は失敗してましたとかなると一気に雲行きが怪しくなります。それほどではなくても、予算をはみ出してしまい、その分のお金を誰が負担するの?とかなったり、はみ出さずに無理矢理突貫工事して、粗悪品をお客に押し付けたりとか、そういうことにもなりそうです。

一方、アジャイルはアジャイルで、自称アジャイルなだけで、ただ、ダラダラ開発してるだけの所もあるんで、自称してるだけじゃ信用できませんね。スクラムマスターとか、なんかそういうのの資格だか講習だか知らないですが、ちゃんとやってる人が絡んでるやつがいいですね。アーキテクトっていうか、そういう方向を目指すのもいいかもしれませんが、どっちかというとマネジメント寄りの仕事になりそうな気がします。ある程度技術にも絡んでるマネジメント寄り、っていう感じかな。スクラムマスターの印象って。。私は人間関係が面倒なので、あまり関心はないですが、興味ある方はそういうのを調べてみるのもよいでしょう。

※ここまでは大体将来がどうなるかを書きました。
 ここからはもうちょっと具体的な話を書きます。

常駐系SIerの選び方 その1 ~ チームの人数

まず、第1に、チームで常駐するのか、1人で常駐するのか、という差に注目してください。

1人だとSIerというか派遣会社と言ったほうがいいのかもしれません。それでも「うちは派遣会社です!」と言う所はなかなか無いですね。そう言ってしまうと、採用活動などの際に魅力が乏しく見えてしまいますからね。SIerと言っておいたほうが「なんだかよく分からないけど、ITの仕事なんだな~」っていう感じがして良いのです。実際それでみんながいくらかでも幸せなら、まぁ、いいじゃないですか。

で、ちょっと脱線しましたが、1人だとなかなか知識って増えないです。もちろん、常駐先の社員が何か教えてくれることはあると思いますが、それほど積極的ではないと思います。なぜなら、あなたはいつ居なくなってもおかしくない存在だからです。そんな人に一生懸命教えても無駄骨になるかもしれないじゃないですか。私だって無駄骨はイヤです。できれば「社員をちゃんと充ててよ。そうすれば、ちゃんと教えるからさ。」って思ったりしてます。

それに比べて2人以上だったら、もう1人居る同じ会社の人が色々教えてくれます。とは言え、それもめっちゃ積極的か?って言ったら、そうでもないです。なぜかというと、その2人のチームはいつ解散されるか分からないからです。自分の会社で100人ぐらい集まって自分の会社のシステムを作ってる、とかだったら、解散しても同じフロアに居るので「何かあったら手伝ってくれるかもしれないし」というのもあり、ちゃんと教えとこう!と思うかもしれませんけど、社外でたまたま居合わせただけなら、そういうのも無いですから、もし、積極的に何か教えてくれたとしても、それはただの善意であって、会社の仕組みとして必然的にそうなってる、ってわけじゃないと思います。

というわけなんで、なるべく、人数の多いチームで常駐してる会社を選ぶのが吉です。

常駐系SIerの選び方 その2 ~ 専門性

たとえば、データベースに強いとか、ネットワークに強いとか、WEBの最新技術に常時キャッチアップしてますとか、何か得意分野のある会社がいいですね。そういう会社は長期間同じ所に常駐してたりしますから、割と安定しています。まぁ、どうせ常駐系SIerは辞めるから、って前提ならあちこち行くのは悪くないかもしれませんが、色々やらされて大変ですし、どれも中途半端ってことにもなりやすいです。あと、結局、どうやっても、その常駐系SIerよりマシな会社に行けずにずっと居るんだとしたら、安定してる所のほうが続けやすいです。

とは言え、なーんにも知らない若い人が面接の時とかにちょっと話を聞いたくらいで、その専門レベルを把握するのは難しいかもしれないですけどね。せいぜい、ホームページとかで、具体的な専門性をアピールできているかを見るぐらいしかできないと思います。知り合いに詳しい人が居たら、「この会社のレベルってどう思いますか?」って聞いてみるのもいいかもしれません。それか、同じ所に長く居るチームがあるのか、何かそれは強みがあるからなのか、理由を聞いてみてもいいかもしれません。

あ、ただし、金融系の古~い、誰もやりたがらないようなシステムを延々とメンテしてるだけ、っていうケースもあるので、同じ所にずっと常駐してるから、それだけでいいって話でもないです。それについては次節で。。

それと、データベースに大して興味ないのに、データベース専門の会社に行ったら、もちろん興味持てないですよ。自分が興味ある専門性のあるところがいいです。とは言え、ある程度、やってみてないと、何に興味持てるか?なんて分からないでしょうけど。。そういう意味でも、事前にある程度いじっておけると良いですね。いや、いじってても、完全に分かるって話でもないでしょうが。。まぁ、それぞれの仕事の魅力、とかも、ひまがあったら別に書きたい所ですね。

常駐系SIerの選び方 その3 ~ 先進性

その2とかぶる部分もありますが、専門性は高くても、古い技術に詳しいのだったら、今はいいかもしれませんが、先が不安ですね。最新技術に詳しいかどうかも大事ですね。たとえば、開発だったら、当然Gitは使ってて(この期に及んでSVNとかCVS、VSSとかマジ化石)、できればAWSやGCPも使っててほしいですし、TypeScriptも使っててほしいですし、jQueryじゃなくて、VueとかAngular使っててほしいですし、Dockerも使っててほしいですし、テレワークもしててほしいですし、とか色々ありますね。何が先進的なのか、今度ひまがあったらキーワードの整理もしたいですが。。

SIer脱出方法 その1 ~ 最新技術の習得

このへんの記事にも書きましたけど、

ITスクール等に通って、最新技術を教われば良いです。最新技術ってナンだよ?ってなるかもしれませんが、WEBのフロントエンド開発なら、VueとかAngularですね。VueはTypeScriptでも書けるので、TypeScriptで教われればなおいいですが、やってる所あるかな~。Vueのほうが使ってる会社は多そうですが、TypeScriptじゃなくてJavascriptで書いてる所が結構ありそう。。どっちか選べる状況なら、私ならTypeScriptでやれるほうを選びますね。どっちもTypeScriptでやれるんだったら、Vueのほうが人口多そうだからVueかな。まぁ、そのへん要調査です。

WEBのバックエンドに何が良いかは迷いますが、Nest.jsを使ってTypeScriptで書くとかが最先端な気はしますが、それを教えてくれる所があるかというと、無さそうな気もします。。KotlinでSpringBootとかでも新しいほうだとは思います(Javaでも書けますが)。PHPならLaravelが新しいです。Windows系でもいいのであれば、C#で.NET Coreとか。。ついでにPythonもやりたいって人はPythonを合わせるのもいいですね。DjangoとかFlaskになるのかな。ただ、まぁ、バックエンドはフレームワークとか無しで、素のPHPとかで教わるのも、仕組みを理解するのには分かりやすいかもしれません。

他にAIやデータ分析の講座もイイとは思います。ただ、いきなり素人にAIを任せてくれるとは限らないので、そのあたりに興味あるなら、まずはPythonからかな、とは思います。

SIer脱出方法 その2 ~ 資格取得などお勉強

それについてはこちらに書きました。

SIer脱出方法 その3 ~ 転職活動

それについてはこちらに書きました。

おわりに

最後のほう、既存の記事の流用で済ませちゃいましたが、まぁ、どれも自信作なんで、たぶん、大丈夫でしょう!今日はこのへんで。。また、思い出したら加筆しときます。

続編はこちら


この記事が気に入ったらサポートをしてみませんか?