はてなキーワード: SiERとは
http://anond.hatelabo.jp/20160123131828
やれ技術が古い、テストをしないだのと叩かれまくっているけど、SIerって言っても色々だと言いたい。
俺が勤めている会社は、100人に満たない小さな会社だけど、ちょっとしたニッチな固有の技術を持っていて
それを売りにした製品を自社開発すると同時に、受託開発も引き受けている。
固有技術なので顧客には完全なブラックボックスということがあって、それが顧客との間で有利に働く。
当然論文も特許もあるけれど、それを理解できる客など殆ど居ないので商売としては相当な強気を通していて、
受託受注額も業界屈指だと思うけど、技術力の高さに関する評判の為に顧客も文句は言われないし、その結果として給料はいい。
平均年収は800万程度だったはず。残業はないわけではないけど、社員平均で月間40時間は切ってたはず。
同時に社内にも、うちは技術力を売りにしている、という自負があるので、現場の環境整備に関する要求も当然の様に行われる。
アジャイル開発が話題になれば、いち早くそれらを試す位の事はしてきたし、gitを始めとして話題になったものは積極的に使う事はいとわない。
JIRAなど有償のものなら、それを購入するのも躊躇いなく行う。
社内勉強会も活発で、いわゆる流行りの言語ついてとか、機械学習など流行っているものの専門書の輪講など様々に行っている。
例えば、論文を執筆して発表すれば、出した会議や学術誌のインパクトファクターなどで評価値が決まっていて、これは公開されている
エンジニアでも、コードのコミット行数、ビルドの失敗回数、バグを出した数、修正した数などが、ビルドサーバーで自動的に計測されており、
一方で、ここで下位扱いになっても、クビにはしない。ただ、相当期間の再学習期間を与えられ、様々にテストを課される事にはなる
まず、役職者には工学博士を持ってないとなれない。新入社員も当然ながら全員修士卒以上を要求しているが、学部卒も稀にとる
しかし、博士がないと出世は出来ないので、優秀であれば、どこかのタイミングで大学院に進学する事を求められる。
その間は、午前中のみ会議や、ちょっとした仕事をするために出社を要求されるけど、ほぼ一日を研究に割り当てる事を業務にする
テーマは殆どが自社製品に関するものなので、修了者全員が業界屈指の専門家として帰ってくる事も会社の強みにしているのもあり、
その間に給料が下がることはないし、海外留学する場合にも学費も何もかもが会社で負担してもらえる。
海外留学や海外との取引を行うために、英語学習も推奨されていて、某大手英会話学校の講師が会社にきてレッスンを行うなどするが
社員にはTOEFL80点を常に維持することが求めれられている。高額な受験費も会社もち。
一方で育休などの制度も充実していて、企業内保育所を作り保育士を1名雇っているので安心して出産を行えるなど、女性にも受けがいい。
ちなみに社内結婚も推奨されていて結婚時には50万円一律で支給されるとあって、何組かカップルがいる。
さらに、家賃の半分を会社が持つなど優秀な人材を一人も社外に出さない事に社長は余念がない。社内では人材コレクター呼ばわりされる所以だ
という具合に、SIといっても様々なので、ひとまとめにして貶されることに抵抗がある。
いいコードを書くことってのは凄く大事なことなんだって気がついた。
保守性がどうこうとかよくわかんない。動きゃいーじゃんぐらいの気持ちでいたんだ。
今、人の書いたそういうコードを触らなければいけない立場になって痛感している。
どういうコードがクソかっていう話はネットを探せばいろいろ見つかるからここでは書かない。
ただ、設計書と実際のコードが全然一致していないということがザラにある状況のなか、
可読性のあまりにも低いクソコードをソースコードを鼻血が出るほど苦労しておいかけて、
設計書とは名ばかりの「こんな風にできればいいな?」ということが書かれただけのよくわからない書類を解読しながら
作業を進めるというのは、本当にきついことなんだと思い知った。
コードに殺されるかと思った。
http://cpplover.blogspot.jp/2015/11/linus-torvals.html
Linus tovalsがクソコードに対して物凄く切れているっていう記事。
クソなコードは実際に人を殺すまではいかなくとも、鬱に追い込んだりする破壊力があるんだ。
1行のクソならまだいい。でもこのクソはそのうち積み重なりクソの山になる。
クソコードは人を傷付ける。
俺は自分の書いたコードで人を傷付けるようなことはしたくない。
自閉症スペクトラム(アスペルガー)の人間に向く職業として、プログラマが挙げられているが、これは誤解を招くのでやめた方が良いと思う。
このあたりの特性から、コミュニケーションスキルが壊滅的になってしまうため、チーム作業やスクラム開発等に従事することがかなり厳しい。また、要件を聞いて設計するということもかなり厳しい。
では、どのあたりならいけるかとなると、コッテコテのSIer的ウォーターフォール開発での「PG」になってくる。このポジションは、仕様書に従ってコードを書けばよい(自閉症スペクトラムの人間は、会話よりも文章で伝えた方が良い)ので、比較的問題が出にくい。また、1つの作業に没頭してしまう傾向から、デバッグ関係が比較的得意なのと、(あまり良いことではないが)残業耐性が比較的高いというのも、「PG」向きではないかと思う。
趣味でプログラミングはやってたけど、なぜか30越える今になるまでそれを仕事にしようとしたことはなかった。
ネット上でいろいろなIT業界関連の恐ろしい情報が飛び交っていたし、ビビッていたのもあったと思う。
でもこのままだと人生詰んじゃうなーと思って、とにかく実際の業務を知るべきだろうと思って飛び込んでみた。
本当はWeb系の会社で働いてみたかったけど、汚しまくった経歴と、その当時の金欠ゆえに、その選択はかなわなかった。
ネットでよくみる、「経歴が山のように盛られて、研修終わったら気付いたら実務経験○年のエンジニアになっていた」(これ普通に詐欺だと思う)とか、「FizzBuzzすら解けない人がプログラマーやってる」とか
どうせ業界の人たちが冗談で大分脚色して書いてるんでしょ?って思ってたことが、現実にあるということを知った。本当に信じられないが。
もちろん、全員が全員酷いというわけじゃなくて、ちゃんとしてる人もいるけどね。
1個目は中小SIerという人月単価で人を送り込んで金を得るという、実質は人材派遣会社みたいな仕組みなんだけど、何でこんなに横行してるんだろう?
プログラミングの作ったプログラムはほぼノーコストで複製可能であるっていう点と、そのプログラムが何をしているかというと、自分がやらなければいけない仕事の自動化で
人がやるべきことをコンピューターがやること(もしくはコンピューターのその圧倒的な処理の早さによって実現できる人間にはちょっと無理なこと)によって、利益を生むんだと思ってたけど、
その利益の源泉となりうる「プログラムが書ける人」を自社で利益を作るためのサービスに使わないで人に貸して金取るっていうのは、戦略的に間違ってるんじゃないかなと思うんだよね。
その点Webサービスやってる会社とかは、最初の立ち上げの時にはリスクがあるとは思うものの、よく自分達の持ってる武器の性質を理解しているように見える。
2個目はSEという仕事とPGという仕事が何故分かれているのかがわからない。
俺が素人なりに独学でやってきた感覚では、コーディングと設計って切っても切り離せないものであって、設計をする人がSE、コード書く人がPGってのは感覚的に物凄い違和感がある。
なんでこのSEって言葉ができたかっていうと「単価」を高くするために誰かが作り出した言葉にしか思えないんだよね。
もしくは、このウォーターフォール開発っていう方式の中で、分業するときの名前ってことで作り出されたのかもしれない。
けどこのウォーターフォール開発ってのも、あんまりピンとこないんだけどね。無茶言うなっていうやりかたな気がしてる。
趣味でプログラミングやってるっていうことが結構役に立つということを知ったこと。
所詮自分のやってたことは独学遊んでる程度で、クソの役にも立たないものだと勝手に思い込んでたけど、全然そんなことなかった。
今もまだ知りたいことは山ほどあるし、趣味を継続してやっていく価値は非常に高いんだということを知れたのはよかった。
あと、実際に働いてみて「これはもっと改良できるよな」とか「これは自動化できるよな」とか「これはもっといい意思疎通の方法があるよな」っていう反面教師みたいなのもたくさん知れた。
下っ端なりに、提案はしてみて、却下されたら素直に引っ込んでるけど。一緒に作業してるのお客さんだしね。
上にあがったらマネジメントやって、どうこうみたいな話しか聞かないんだよな。
そっちのほうが「単価」が高いからなんだろうけどね。
IT企業を自称していてもSIerあがりの人だらけの企業だと誰も手動かさないし全員が自分の立場守ろうとするし、その上大して給与も高くない、でもWeb系の給与は知らないから満足してる
・PHP
とにかくエンジニア採用を楽にしたい。質より量。技術は目的を達成する手段に過ぎない。
・ruby
目立ちたい。イケてる風にみせたい。多少コストをかけても良いエンジニアを集めたい。技術寄りスタートアップに多い。オフィスはチャラい。技術力ありそうだが稀にビックリするようなポカをする。
・Perl
古くから居る老害エンジニアが「採用?流行り?クソ食らえ。俺がPerlったらPerl」と、のさばっている。経営者も手を焼いていて
正直辞めてほしいと思っている。
・ジャバ
SIer出身のエンジニアがCTO、ないしそれに近いポジションにいる。信頼性第一でサイトデザインが総じてダサく、UI/UXはクソ。
・その他有象無象
変態。
それはおいといて、本来なら投稿を自分のブログやTwitterでかきたいところだが、キャリアポルノっぽいからモザイク付きでここで書くぜ。
自分が入社した頃からSIer崩壊論は提唱されてきたけれども、今後業界が生き残るにしてもどっちでも有意義な業界にはならないだろう。
数年前、社長がしたり顔で「これからはクラウド(時期によっては、ビッグデータ、SaaS、IoT、etc...)などの従来の開発にはない高付加価値を!!そのためには社員には技術力を今よりも更に磨いてほしい」みたいな話を会議でしていた。
受託開発でお客さんのいうとおりに作って保守しても身になりづらいし、複雑化して保守もお金がかかる。 お客も楽して僕らも楽してWINWIN!!クラウドサイコー
みたいな話を毎回似たようにするわけだ。
さぁ、その高付加価値ってのはなにをしたのか?
「これからは○○っていうパッケージ(フレームワーク、製品)を売って短い間に開発をして、サービス化していくぞ!」
どこぞの会社から買ってきたか提携を結んで、俺達は”設定”をするだけでシステムを売る。もしくは出来上がっているシステムを従量課金で貸す。そんな仕組みで儲けようと考えている。
ビッグデータも高名な大企業様の製品を”設定”して統計をすることで売っていこうとしている
なんだよ設定力ばっかり求めやがって!
モノを早く多く売って客を喜ばせるってのは分かる。
でも道をまちがっちゃーいませんか?
営業力に力を入れて技術者は外注任せにしようとして、じゃあ俺達は何屋なんだよ。 設定屋か?
そんなの技術じゃないし、
よく分かんないパッケージ買ってきては、社内で使ってみては社員は使いづれーって思っていて、売ろうとしてる奴使ったことあるの?これユーザー欲しがる?
関連会社に開発やってもらって、コアコンピタンスないじゃない。
ウェイターだけの高級レストランみたいなもんだ。
このレストランはウェイターだけだけど、お客さんの要望に素早く答えることができる。
ウェイターはメニューになにがあるか、膨大な量の項目を知っているんだ。
でも食べたいものを要望どおり出すのも標榜しているから、メニューをアレンジしたり新しく作ることも承る。
だが、「今日のこのワインに会う美味しい白身魚の料理がほしい」とかいうお話は出来ない。ウェイター味も料理も分からない。
だから「予算と、どれくらいで出して欲しいか、それからどういう材料が入って欲しいか決めてくれ」とお客さんに言っちゃうんだ。
シェフ、つまり厨房を統括するポジションはなぜかウェイターなんだよな。シェフ兼ウェイターなんだ。
そして出す。
でも、ワインにあう美味しい白身魚とは程遠かった。
お客さんはグルメでも料理のプロじゃない。 要望はあっても要件は決められないんだ。
ウェイターシェフは料理の種類のプロでも、なぜか料理のプロじゃない。
要件は決められてもそれが美味しいか、作れるか、分からないんだな。
料理人は、料理を作れる。だけれどもシェフの要望通りにしか出せない。
そもそも安い賃金だし、そんなに頑張っても報われないし
その高級料理店はブランドのちからはあったけれど、安くするとピントのずれた料理しか来ないし、本当に美味しいものを客が食べるには相当な金と時間をかけなければならない。
ところが、料理人が直接安いけどそれなりに美味しい店を出すようになった。
グルメな客は、安いけど旨いしということでそっちに行くようになった。
そのうち、高級料理店の方はレンチン料理しかでないことになり、
顧客企業常駐、大手SIer常駐、自社請負開発、いろいろやったけど
前者ほど勤怠面では安定する、後者ほど残業休出の程度がひどくなる
客が常に周囲にいる状況なので前者ほどストレス値は高い、ただ後者がストレス値が下がるかというとそうでもない場合も多い
当然ながら情報は前者ほど手に入りやすいし意思疎通もしやすい、後者ほど開発に集中しやすくはなる、はず
短期間で精度の高いものを少ない人数で作れって言われたら、顧客に開発チームごと常駐させる
客が過干渉で物づくりが進まない状況なら、要件切るチームだけ常駐させて、開発部隊は自社に置く
で、常駐チームメンバーを頻繁に自社と客先を行き来するようにする
自社の待遇と評価の問題について、これはどの環境かには依らず、自社社員が多い現場ほどやりやすくなる
少人数・場合によっては一人の現場では、問題はプロジェクトの問題としては認識されず、
SIerが欲しがるプログラマーなしでもシステムできちゃう製品あるでしょ。
分岐をアイコンのようなやつでつなげるとか、ものっすごく単純にしたドメイン固有言語をコピペするだけでシステム完成するやつ。
パソコンのノの字も知らないオッサンは、上流の設計をそのまますぐに設定をしてお客に売る。
人月がめっちゃ安くなるよ―!!っていうアイドルと付き合えちゃうくらいなレベルの妄想をもっているらしい。
でもね。
今まで見てきたけど全部燃えてたよ。
ガソリンがたんまり仕込まれている焼夷系の地雷なんだよあれは。
大体お客さんは安い安いとか言っときながら、SIでシステム買おうとしているから絶対に自分らの社内ルールに合わせた複雑な要望を持っている。
社内ルールをパッケージに合せることや、システムの設計と社内のルールを歩み寄らせるというのは理想だが根付いていない。
本来ならばシステム担当役員が企業全体のフローごと改革するような強い権限を持っていればいいが、システムを買う窓口になっているお客サンがわのSEは普通の平だし、ヘタしたら外部の人間だし、
だから企業ごとのカスタマイズが必要になるのだが、あのノンプログラマー大丈夫系製品はほっとんどかゆいところに手が届かない。
ノンプログラマー大丈夫ってことは、プログラミングでの抽象度の高い操作を極力無くしてほぼ設定段階で済ませようとしているのだとおもう。
そしてノンプログラマーでも大丈夫系製品なので本当にノンプログラマーで構成された上流たちが、お客の要望をきいて「できそうじゃね?」「販売元にきいてみっべ」「いざとなれば誰か外注すっか」みたいなノリでやりがち。
で、「仕方ないプログラマ様にきていただぐべ」とかなるんだけれども
プログラマ様も謎の製品について学習するコストもかかってしまって余計時間がかかってしまう。
はっきりいってピュアJavaで書いてくれたほうがわかりやすい。
この手の製品で本当に挙動が分からなくて、サポートに電話しても要領を得なくて、でも上からは「おら、やれよバカ」っていわれて
しかたないからClassをデコンパイルして読んで、できません…っていうこともできないから、結局別プロセスで動かす逐一データを変換するような物をつくらなくちゃならなくなった。
それ誰が面倒を見るの?
納期に迫られてしかたねーしかたねーでとりあえず作ったし、オレは外部の人間だからすぐ抜けちゃうけどさ
こんなことここ五年で4回くらいみた。
簡単にする仕組みは良いよ。
ブラックボックスだし小回り聞かないし、でも色々な要望がでてきて結局袋小路に追い詰められるんだよ。
使って良いのはプログラミング言語の上を覆うくらいのフレームワークまでだね。
あとね。
作っている途中で思い出す感じなんだよ、
そんな状態なのに機能が制限されている簡単ツールなんて使うなよ。
ねえねえ。
あの発表の場にいたわけだけど、感想はよくわからないポエムな理由だ、でした。
今日の彼のSeasar2打ち切り宣言ブログ記事も読んだがやっぱりポエムだった。
あの発想は正直私にはよくわからないです。飽きたなら飽きたと言えばいいのに。
つうか、開発を打ち切ったあの時に言えばよかったんじゃないですかね。
かっこいいのかもしれませんが半分言い訳が入っているようにも思えます。
あのフレームワークには大変お世話になっているので、
とりあえずは本当にありがとうございます。
ま、でもすぐは消えないでしょ。この国ガラパゴスだし。
そもそも日本はまだStruts1.2.9ガチで新規開発に使ってるSIerがいたりするくらいだし。
来年で打ち切られたとして、確かに今後新規開発に使う人はほぼいなくなるだろうけど、
それでも5年いや10年以上既存アプリのメンテとかで普通に使ってるでしょ。どうせ。
フレームワークのフの字もない時代に作られたサーブレットだけで書かれた昔のゴミアプリを書き換えたいと
5年以上主張してても顧客から改修費用もらえない(後そこにリソース取れない)
という理由で書き換えられない人も世の中にはいるわけですよ(私だけど)。
もちろん最終的にはSeasarが緩やかに消えていくのは確かだろうけど皆さんが思ってるほど早くはないんじゃないですかね。
で、とりあえず今うちの会社は現在(かなり)Seasarの資産を使って作ったアプリが稼働中なので
いきなり移行する気もないわけです(つかそんなリソースない)
そもそも確かにメーリングリスト見て参考にしたところは多少あるけど、
サポート打ち切られたからってああそうですかでしかないとも言う。
どうせ何かあったら最初からこっちでメンテするしかないんですよ。
ぶっちゃけ今もそうですし結局当面はなんも変わらないわけです。
(あ、でもメーリングリストのバックアップは消えないうちに全部取っておこうかな)
フリーの環境を使わせていただくというのは究極的にはそういうことなんだと思っています。
それは多分Springに移行してもそう変わらない(最新の機能は随時提供されるだろうけど)
とは言え、新規に今後Seasar2を使うのがためらわれる状態なのは確かなので、
今後の新規開発案件では多分Springに移行することになるでしょう。
当日SpringBootのセッションも聞いたので日曜さらっと動かしてみてます。(ほんとにさらっとですが)
ひと月も触ってみればある程度Seasar2と変わらない程度で代替としては使えそうだとは感じてます。
バージョン2.4くらいの時に少しSpring触っていまいちとっつけずに捨てていたけど、
当時から見て大分とっつきやすくなってるんだなとは思いましたね。
(未だにSeasar使ってる化石人間の私としては今のSpringならPlayよりとっつきやすそう。JavaEEは論外)
でも正直あれがSeasar2より優れているのかと言うとぶっちゃけよくわからないけれども。
せめてDB周りがS2JDBCくらい使いやすければなー。来週HibernateやDBFluteの連携を試しますかね。
せっかく(外的要因とはいえ)変えるのだからよりやりやすい方法を探したいですね。
ま、もう少し研究して1か月くらいしたら新規案件はこっちでやるめどがつくかもですね。
(既存を移行するかはわからない(受託開発は移行を提案しても金がもらえないと…))
とりあえず、
1、5~10年計画で徐々にSeasar2フェードアウトするとは思うけど、完全卒業は多分しない(苦笑)
2、とりあえず、新規の開発はSpringで今後やるけど既存のアプリをどうするかは目途つけてない。変更のないアプリとかそのままずっと動き続ける可能性大(大苦笑)
結構最先端めな東京のWeb業界から地方のSIer業界に転職して3年経ったのでそろそろ感じたカルチャーギャップをつらつらと書くよ。
転職の理由はまあ家庭の事情ってやつなので割愛。給料もやや減ぐらいで特筆することはないから割愛するよ。
上司を呼ぶときは正しい肩書きを後ろにつけないと嫌な顔をされるよ。
前の会社では社長までさん付けで普通に会話していたのでなかなか衝撃だった。
昇進や降格で肩書きが変わると呼び方も最新のものにちゃんと変えないといけないから大変。
昇進ならまだ訂正する方が嬉しそうに訂正してくれるからいいが、降格した人を前の役職で呼ぶと気まずさがハンパない。
当然メールの宛先にも肩書きを付けるので最初の宛先の羅列にすげー時間がかかるよ。
スーツで太っててやたら偉そうで、何の仕事をしてるのかよく分からないがゴルフの情報にはやたら詳しいみたいなのが割といるよ。
その人たちにとって下々の人間は石ころみたいな存在らしく、ほとんど注意は払われない。
これもテレビドラマで見た!って感じだよ。
なかなか新鮮だった。
見積もりの確認書からプロジェクトのリスクから反省点からレビュー表からテストのエビデンスから。
とにかくプログラムのコード以外に書かなければいけない書類が多いよ。
さらに一つ一つに上司やさらに上の人たちの印鑑が必要なので時間がかかる。
上の人たちは書類を見て印鑑を押す仕事だけで1日のほとんどを奪われているんじゃねーかとか思うよ。
実際にコーディングをする前に、そのままプログラムに変換できるんじゃねーかレベルの詳細設計書を作らないといけない。(当然作成ツールはExcelだよ!)
最初からコードで書く時間の5,6倍ぐらいの時間を使って、結局そのままコードに自動変換はできないロジックを日本語で書く。
当然簡単なテストも出来ないのでここでロジックの不備が見つかることはほとんどない。
ちなみに、実際のプログラミングは詳細設計書を写経するみたいなものなので全く面白くないよ。
一度上司にこの設計書の存在意義を聞いてみたら「誰でも実装や保守ができるように」などという答えが返ってきたけど、実装ならこの設計書を書いている間に終わるし、コードを読めない人が保守するようなプロダクトには、恐ろしくて関わりたくないと思ったよ。
割愛。
あまりにも文化が違う。300行ぐらいあるifブロックのネストとか余裕。
割愛。
割愛。
3年間で関わった案件で1度も実現できなかった。
割愛。
色々な切り口で問題点を伝えたが「規約ですから」で取り付く島もなかったよ。
結局、呼び出す度にどういう処理をするのか毎回コメントを書くことになっていたのには笑った。
飲んだのはエチラーム0.5mm。有名なデパスのジェネリック製品。
買ったのはオオサカ堂。
1日1錠。今は2日ほど飲んでない。
肩を回せば周りに聞こえるほどゴリゴリなっていたのが少し軽くなった。
今は飲んでいないので肩こりが復活している。
今回一番伝えたいところ。
この薬はステータス異常を回復し安定させてくれるが、HP及びMPを回復させてくれるわけじゃない。
そこの回復は他の手段で取るしかない。エリクサーは現実にはない。
就活は失敗して70社近く面接を受けたが内定は1社のみだった。
今年配転になって、今までの部から離れた。
それがストレスだったようで不眠、無気力、自殺願望などの症状が発露。
心療内科に行くのは高いため薬を買ったという経緯。
はてブホットエントリーの30選(http://gathery.recruit-lifestyle.co.jp/article/1141321068543131601)がイマイチ感性に響かなかった(普段読書しない人向けか?)ので、俺選してみる。
【反省会】
客先常駐のプロジェクトが多い。自社での受託開発プロジェクトは少し。
社歴もそこそこ長くなり、多くの現場への異動を経験し、働ける場所がどんどん狭まっていく、と感じる。
行きたくない現場が増えていく。嫌いな・合わない人が増えていく。NGな上司・マネージャのリストが充実されていく。
陣取りゲームの枠の中で、敵の陣地として灰色で塗りつぶされる場所が増えていく感じ。
どんどん狭まっていく。白の、自分が行動できる範囲はわずかにしか残っていない。そういう感覚。
トラブルを起こして異動になっているわけではない。ごく普通に契約終了での異動だ。
現場で働いている最中に異動を申し出たことはない。普通に働いている。
が、契約を終了し現場を離れてしばらくすると、もうあの現場には戻りたくないと感じることが多い。
ゴネてみたところで、その現場にしか仕事がない・募集がないというなら拒否もできない。
最悪上司と思っても、働く場所がそこしかないなら拒否もできない。
関わりたくない同僚の類も、同じ現場なら完全に無視できるものでもない。
そうなれば黙って受け入れるし、社会人として常識的に対応する。それはそうだ。
けど。心理的にはもう関わりたくない現場・上司・同僚は、現場を経験するごとに増えていく。
”異動するにつれ知り合いが増え、顔が広くなり、会社の中では生きやすくなる”