転職して1年目で感じたこと
はじめに
これは 【その1】ドリコム Advent Calendar 2015 の14日目です。
13日目は youmoriさんによる
【CSS】レスポンシブWebページで装飾枠を適応させる方法と注意点 - Qiita
です。
whoami
- >> ackaleen
- ドリコム歴:満一年とちょっと
- ネイティブアプリのサーバーサイドエンジニアをやってます
- Paradox Interactiveのゲーム好きです
- Civilizationとかも好きです
- 当然彼女いません
今回のネタ
転職からちょうど一年経ったので、前の会社とドリコムで感じた違いなどを記事にしたいと思います。
目新しいことは書いておりません。「こういう所に戸惑う人間もいるのか」、という様な理解の一助として、サラリと読んでいただければなと思います。
違ったこと
会社が違うので当然違うことなど山程あるのですが、無分別に書いても仕方がありません。印象深かったものをピックアップして、今回書くのは以下の5つとします。
・バージョン管理システム(svn ⇒ git)
・開発環境
・スピード感覚
・社内情報発信力
開発言語
ドリコムはサーバーサイドプログラムの大部分をrubyで開発しており、私が現在最も使っているのもrubyです。
前職でメインで使っていたのはPHPでしたが、rubyその物に乗り換えること自体は特に躓きませんでした。苦労したのはruby on railsのルールについてです。こちらは今でも頻繁にグーグル先生に頼っています。
そういった苦労はあったものの、結論から言うと、もうPHPには戻りたくありません。
ruby + ruby on railsは確かに書きやすく、読みやすいです。そして使いやすいです。この良さに関してはもう星の数ほど記事があるので詳しくは述べませんが、一番お世話に成っている気がするのはrails consoleです。アプリケーション全体のソースを読み込んだ上でrubyのコンソールが使えるというだけの機能なのですが、これのおかげで小さなテストが非常に回しやすく、またデータの検索なども非常にお手軽に行えています。
またmigrateによるスキーマ管理、ActiveRecordなどDBとの連携部分も非常にわかりやすく出来ていて、もうこれ無しでは辛いです。
railsの思想を取り入れたPHPのフレームワークは当然幾つもあり、それをガッツリ触っていたらこれほどのカルチャーショックは受けなかったかもしれません。
ちなみに前職では主にZend FrameWorkを使用していました。こちらはrailsとは文化が違い、ORMもTable Data Gateway / Row Data Gatewayというデザインパターンが採用されてます。
symfonyやCakeという選択肢も合ったのですが、結局採用されませんでした。細かな説明は省きますが、DB設計が比較的複雑だったためActiveRecord実装のFWを避けたのが理由だったと思います。
ただ、開発が進んで行くと様々な問題が発生したため(いたるところで複数テーブルをまたぐためコードが膨れ上がったり、クエリ発行数が増えたり)、そもそも設計方針が誤っていたのではないかなぁと今は思っています。
バージョン管理システム
前職でバージョン管理システムといえばsubversionでした。
転職前の最後のプロジェクトではいい加減gitを使おうという意見もあったのですが、導入する強い理由がない、という理由で導入できずじまい。
私のgit利用法といえばローカルリポジトリの枠から出ることはなく、あくまで個人用途でしかありませんでした。
実際に使ってみると、ローカルにリポジトリがあるということが、単純なことながら圧倒的に使いやすかったです。しかし、この概念がしっくり来るまで大体半年ぐらいかかった気がします。
慣れてしまうとこれ以外考えられません……
今ではPCゲームのセーブデータまでgitで管理したりしてます。
運用のスピード感覚
運用のスピード感覚がかなり早くなりました。
例えばデプロイは日単位で数回行うときがよくあり、これは入社時の私の感覚から言ってかなりスピーディーでした。
作業自体が早いというよりは、全体的な粒度が細かく、とにかく当てられそうな物から本番に当てていく姿勢があるように感じています。
ただ、仕様などが曖昧なまま作業が開始されていることが結構あるように見受けられて、この点はちょっと改善の余地があるかなと思っています。
時には仕様書全く無しの口頭コミュニケーションのみで作業が始まってしまうこともあり、この辺りが人依存になってしまっている点はどうにかならないかなぁと思います。
この辺りはスピードを犠牲にしないように、ちょうどいい塩梅を探しているところです。
開発環境
地味ですが一番変わったのが、メインPCのOSがMacになったことです。
入社時にWindowsかMacか選べるので、いい機会だと思いMacを選択しましたが、しばらくMacからは離れていたため、入社後すぐの頃は表示設定一つ変えるためにググっているような有様でした。
それでもやはりMacを選択して正解でした。
何よりターミナルがすこぶる便利で、iphone向けのビルドもできます。
このターミナルが扱いやすいところから、メインエディタをviに変えることにもなりました。
社内情報発信力
ひょっとしたらこれが転職で最も変化を感じたことかもしれません。勉強会を開いたり、内製のgemを公開したりといった事を行われてる方が非常に多いです。特に積極的な方の記事はそれと知らずにググッて見ていた、なんてこともよく有ります。
そもそもドリコムを転職先として選んだ理由の一つに、勉強会などでよく名前を目にしていたから、というのがあったぐらいです。やはり自分で情報を発信している方は技術力が高い方が多く、新卒の方の記事を見て冷や汗が流れる時もあります……
というわけで、今回のようにアドベント・カレンダーはいい機会だったため、自分の情報を発信してみました。
終わりに
どれもドリコムでは当たり前になっていることですが、そういう当たり前な所に差が出てくるものだと思いました。
転職する前はこういった当たり前の更新を、今すぐやらなきゃいけないものじゃない、という漠然とした理由で避けていました。
仮に転職前の認識で仕事を続けていたかと思うとゾッとします。新しいものを目ざとく臆せず学んでいける人間でありたいものですね。
ただ、良いことばっかり目についているだけで、前職の方が良かった点はあまり気付けていないんじゃないかという思いも持ってます。単に方向性の違いなのか、良い悪いなのか、図りきれていない点も多いです。
今後はドリコムの文化を学ぶだけではなく、改善していくよう動いていきたいと思います。
以上になります。
明日ってなんだ?
【その1】ドリコム Advent Calendar 2015
15日目は y05_netさんです!!