SIerからWeb系ベンチャーに転職したらレベル高くてついていけない
今まで業務系のSIerで働いてきて、JavaなんてFizzBuzzが書ければいい程度で上司はJavaを知っておらず、String型の変数も==で比較しているような人たちが多い職場でした。
そのかわりSQLが長ければ1000行以上のものを見ていました。
今回の会社で面食らったのは詳細設計書なんてものはなく、機能の詳細はヘッダーに書いてあったり書く人が各々でパフォーマンスまで考慮して書くこと。
SVNではローカルで完全にテストが成功してからトランクにコミットしていましたが、Gitでは小さく小さくプッシュしていって最初どこでコミットすればいいか全然わかりませんでした。
そのへんに適応するまでだいたい二週間はかかりました。
やっと慣れて来たなと思ったんですがまだまだSIer仕込みのコーディングスキルではテストコードもFuelPHPではマトモに書けない。
最後に2つ質問があります。
- やまろうさんがSIerからWebに移ってすぐにコーディングは適応できましたか?
- 今の僕の現状を突破したいです、どういったことを勉強することが有効でしょうか?やまろうさんだったら何をしますか?
読者の方から相談メールをいただきました。
同じような悩みを持っている方向けに回答内容を一部紹介します。
Web企業を崇めすぎでは?
SIer仕込みのコーディングスキルって何なのでしょうか?なんだかWeb企業を特別視しすぎてるように思います。
FuelPHPは、名前空間のルールがやや特殊ですが、それ以外はごくふつうのシンプルで学習コストの低いフレームワークです。
他のメンバーが書いている書き方をまねしていけば、その会社の流儀に沿ったコードが書けるようになるはずです。
あまりにWeb系企業を崇めすぎているんじゃないかなと。
そこまでSIerでの経験を卑下することもないですよ。
SIerで身につけた基礎的なスキルはWeb系でも活かせるものがたくさんあるはずです。
Web系の仕事へ適応する方法
私の場合、やや面食らったのは、クライアントサイドのJavaScriptです。
SIerの案件では、JavaScriptは入力チェックやFormをサブミットする程度だったのに対して、Webサービスの仕事ではAjaxが多用されていて、はじめのうちは何をやってるコードなのかよくわかりませんでした。
とはいえ、既存のコードを読んで使われてるAPIを調べていったら案外すんなりと理解できました。
サーバーサイドは、
- SIer時代はStrutsを使った案件が多かった
- Web系ではSpring FrameworkやTapestry5が使われていた
という違いがありましたが、コードを読んでいけば理解できました。
全コードを理解しようとすると難しく感じますが、自分が担当した機能に絞って取り組めば、自然と適応できると思います。
私の入った仕事は、新規開発ではなく、機能改修のフェーズだったので既存のコードがたくさんあり、このアプローチがやりやすかったというのはあるかもしれませんけどね。
新規開発であっても、他のメンバーが書いているコードを参考にすると学べることがたくさんあります。
どんな職場であろうと、基本的に「そのプロジェクトの既存のコードをまねする」ところから始めればうまく適応できると思います。
意識を変えれば解決策が見えてくる
まずは意識を変えることです。
メールを読む限り、Web系企業をあまりに特別視しているように思われます。
あなたの入社したWeb系企業の技術レベルはダメSIerよりもずっと高いのでしょうけれど、だからといって、手が届かないレベルでもないはずです。
まずは他のメンバーが書いたコードを読んで、
- 使われているAPI、構文を調べる
- 書き方を真似する
をやっていけばいいんじゃないかと思います!