理想の会社

私の考えるプログラマにとって理想の会社です。

新人研修がちゃんとある会社

思うに、ちゃんとした研修を受けていないプログラマが多いように思います。ちょっとしたことですが、プロとして仕事をする上で気をつけないといけないことってありますよね?

そーいうのをちょっとだけでも教えると、なんと工数がプラスになります!(笑) ←教育コストは除く。。。

まずはバグを組み込まないで、読みやすいプログラムを書くってことを教えないとだめっすね。手早くなんとなく動くけれど、バグがたくさんっていう学生っぽい組み方を最初に否定してあげないと、バグ入れられて工数がマイナスになります。。。

最初は遅くてもいいから、プロとしての品質を出す。それから速度を上げるのは慣れですからね。プログラムの概要がわかっている人であれば、一週間から二週間ぐらいでかなりの成果がでると思います!

人の入れ替わりがある会社

例が悪いですが、シューティングゲームの会社ってのは、高レベルプログラマのみで構成されています。そこに新人が入り込む余地はほとんどなく、熟練プログラマによってプログラムをされています。

ただこの構造ってのは次の世代への引継ぎができないので、組織としては成長していかないんですよね。もちろん研究所みたいなところは必要だとは思いますが、通常の会社としてはある程度人の入れ替わりが必要だと思います。

ただしい人の入れ代わりってのは、新人がある程度の定期的に入ってきて、先輩もある程度定期的に転職をしていく環境。普通といえば普通ですが、売り上げ重視とかになるとキャパシティー以上に人を取ったり、転職する人と喧嘩別れしたりしますよね。。。

システム的にはリクルートの3年働くと100万円もらえるって契約形態ってプログラマに向いているのかなって思います。昔は5年ぐらいでしたが、今は1年から2年ぐらいで転職する人って多いですよね?

ただ実際新人からだと3年ぐらいやらないと一人前にならないですし、会社側もなかなか費用の回収ができないと思います。全員が巣立っていくと困りますが、3年ぐらいのサイクルの場合予定が組みやすい人員配置ができると思うんですよね。

卒業生と交流がある会社

やっぱり転職するって上司に言うと社長室に呼び出されて、お前を育てるのにいくらかかったと思うと怒鳴られるような会社はだめだと思います。笑顔で送り出して、機会があったらまた一緒のプロジェクトをしようなっていうぐらいがいいと思います。

思うに、どうせ人はある程度の年数でやめていくんです!(笑)
新人がどんどん育っていく環境を作るのを優先しましょう。上が抜けていろんな会社に散っていくのはコネができたと思ってよしとしましょう!

程度な男女比(笑)

見える範囲に多少女性が必要です!
天然っぽいけれどまじめで、学生時代から彼氏がいるぐらいの子がいいと思います。変にルーズな子がいると逆に場が乱れます。。。(職場の三角関係とかまじ最悪です)

適切な採用

会社の規模によりますが、基本的には中途採用よりは新卒採用に比重を置いたほうがいいと思います。お勧めは情報処理系の専門学校生です。在学中から実はアルバイトって形で会社に呼べたりします。インターン制度で給料払っちゃだめで、テストには出してねってところから、学校が終わってからじゃないとだめってところ、フルタイムでテストも全部免除ってところまであります。

ゲーム系とかも最近ネットワークとかやっていて、C言語とWeb系できたりするので使いやすいかもしれません。ただしやっぱりちゃんとした学校経営をしているところだと、フルタイムのバイトはだめだったりします。まあ、学校にいくら行っても現場に出てコーディングしないと無駄だったり、ちゃんとやればやるほど就職大変だったりするんですけれどね。。。

少し前までは、人をとりあえず集めてちょっと研修をして即派遣って会社もあったようです。その手の会社の場合前職ウエイトレスの女性とかを短期間研修して、まったくプログラムを組めないような状況で派遣先に出しても返される、もしくは面接で落ちてずーっと待機になるなど、適当な会社もあったみたいです。

また、中途採用に関してもWeb系の場合まずは楽天だYAHOOだと有名な会社を受けますので、まず中堅の会社にはいい人が来ません(笑)

たまーにふらりと来ることがありますが、大手からの転職組みは協力会社のメンバーにすべて任していて自分では何もできない人や、指示待ちで自分だけだと動けないPGなど新人とあまり変わらないスペックだけれど、妙にあつかいにくくて給料の高いひとができあがったりします。。。

わかりやすい給料体系

いろいろ、わかりにくくしている会社が多いと思います(苦笑)
残業代払わないのであれば、ちゃんとみなし制度にして給与のときに個別の金額について説明をするべきだと思います。変に複雑な計算式にして、意図を隠そうとしている方が裏が見えて社員のモチベーションが下がると思います。

たぶん、そんなに給料の額ってモチベーションにかかわらないと思うんですよね。額以外の部分が悪くても、まずは額に対して言うと思いますが、本当に文句があるのは額じゃないことが多いと思います。。。

なるべく兵隊を作らない組織

Javaなんかは階層が分かれていて、一兵卒は軍曹ぐらいまでしかなれなくって、幹部候補生は別みたいなイメージがありますが、仕様書を渡されてそのとおりにコーディングするって末端プログラマって積極的に作る必要はないと思うんですよね。

まあJavaも、ものすごく大きなプロジェクト以外はそんなに階層がわかれていないと思いますが訓練されているプログラマは明らかに間違っている仕様書でも、間違ったまま実装します!

私の理想はレンジャーを育てること。自分である程度判断ができる人を育てたいですね。もちろん自分で判断できないことは上にエスカレーションすることは大切です。明らかに間違っている仕様書があったら、これ大丈夫ですかと確認して欲しいんですよね。

まあ、本当は仕様概要書を渡して仕様は自分で作って欲しい(笑)

もちろん、人のキャラクターもありますので、黙々と細かいところを作るのが得意な人もいますし、とにかく難しい実装が好きな人もいます。組み合わせですが、最初から兵隊を育てようと思うと組織全体が育っていきにくいと思うんですよね。。。

コンテンツ系の開発は階層ごとじゃなくって、機能ごとに一人が上から下まで担当する形が多いので一人で動ける人が便利ってのもありますが、新人が先輩に教わりながらPGやって、そのうち一人立ちして、慣れたらPGリーダーとして新人の面倒をみて、徐々にプロジェクトリーダーみたいな仕事をやっていく。。。そんな会社がいいですね。。。

スペシャリスト系の職種がある組織

よくプロジェクトリーダーはやりたくないって人がいますが、それはその組織がプロジェクトリーダーをやると損だって会社だと思うんですよね。プロジェクトリーダーまでは全員が経験するべき共通のステップだと思います。損だと思われていることを解消することがまずは必要だと思います。

その先はマネージメントとスペシャリスト系の2パターンあってもいいかなと思っています。マネージメントってできない人はできないので、プログラムのスキルとはまったく違う能力だと思います。

ただし、スペシャリスト系って普通の人ってほとんど該当しないんですよね。。。メンバー時代でもスペシャリスト系の人ってのは周りの人と明らかに違うので、自分が普通の範疇にあるなと思ったら、スペシャリスト系じゃなくって高レベルエンジニアを目指した方がいいと思います。

それこそYAHOOとか楽天とかGoogleとかはてなとかの普通のメンバーレベルが実は居心地いいのかなって思います!
中規模の会社の場合には、高レベルエンジニアっていると便利ですがプロジェクトリーダーとかやりたくないんだったら、メンバーでいると逆にもったいないというか、邪魔なんですよね(苦笑)

総括

途中ごちゃごちゃと話が広がりました。。。

人がある程度育っていく環境が居心地のいい環境だと思います!
育っていかない環境や、現場まかせって会社は組織力ってのは付かないと思います。
育てるキーマンってなかなかいないのですが、一度育つ組織をつくるとその人いなくてもどんどん育っていきますからね!

結論をいうと、職場にはある程度の女性が必要!(違)