柳澤です。
本日のブログを担当します。
よろしくお願いします。
ITプロパートナーズは現在5つの事業をやっています。
上記のサービスは全てPHPを使っています。
事業立ち上げ初期の技術選択はとても大切であると考えており、なぜ弊社はPHPを使い続けているのかをお話したいと思います。
[ダイバーシティの環境で開発をしている]
弊社では自社サービスであっても弊社に登録いただいているITプロフェッショナルと一緒に開発する機会が多くあります。
現在開発中のGraspy(https://graspy.jp/)では社員以外は在宅で仕事をしてもらう機会も多く、リモートワークで活躍いただいています。
弊社の登録者は2018年12月時点で約2万人に登録いただいており、内訳は以下のようになっています。
9,115人と約半数がエンジニアとしての登録になります。
登録者のプログラミング言語別の割合が以下になります。
PHP、Javascriptを得意とするエンジニアが全体の約1/3の割合となっています。
弊社の場合、登録いただいているITプロとチームを結成してプロダクト開発に臨んでいます。
上記は開発言語にPHPを使い続けている理由のひとつでもあります。
[初期開発メンバーは自分しかいなかった]
僕のエンジニアキャリアはJavaからスタートしました。
Java → C# → PHP → Objective-C → Android Java → PHP と経験してきたのですが、生産性を考えたら当時PHPで開発するという選択がベストだと判断しました。
もちろんPHP以外の言語にも興味はありましたし、他のスタートアップはRubyで開発しているからうちもRubyでやりたい、という気持ちも正直ありました。
ただ会社の立ち上げ当初で人数が少ない中、自分がチームに一番貢献できることはやはり、PHPでサービスをつくるということでした。
[PHPを使っているという劣等感]
上でも書きましたが、やはりスタートアップはRubyで開発している企業が多く、弊社のITプロ紹介サービスでもRubyエンジニアを企業様に紹介する機会がすごく多いです。
GoやScalaで開発するという技術的挑戦をしている企業もよく耳にしてましたし、うちも新しい言語や技術に挑戦していくべきではないかと悩んだりもしました。
エンジニアの集まりに参加すると、未だにPHPを使っている古い企業と思われてしまうのではないかと勝手に思い込み、胸を張って「PHP使ってます」と言えませんでした。
この劣等感は自分達が提供するサービスに誇りを持ち、多くの人に価値を提供できるサービスに成長させることによって解消されると考えています。
どんな言語を使っても、結局誰にも使われないサービスであれば意味ないですよね。
[プロダクトの開発言語はどうやって選ぶか?]
以下の3つのポイントが重要だと考えています。
スピード感のある開発ができるか
スピード感ある開発を行うにはそれまでのノウハウの蓄積が重要であると考えています。
今までずっとPHPで開発してきたので、ゼロから新しい開発言語を使用して開発するよりも圧倒的に早くサービスをリリースすることが可能です。
すぐに方向転換できる柔軟性と自由度があるか
サービスの柔軟性、自由度があることにより、試験的にチャレンジできる機会が増えます。
PHPは自由度が高すぎるが故にスパゲッティコードになりがちだという問題がありますが、弊社ではフレームワークをちゃんと理解してつかうことにより、ある程度制約を設けています。
フレームワーク構造を理解し、適切な使い方をするためにペアプログラミング開発を行っています。
人材を採用することができるか
サービスがスケールすると開発エンジニアの人数も増やさなければなりません。
難易度の高い言語を開発で選択した場合、採用に苦労します。
市場にはやはりPHPエンジニアエンジニアが多いという印象があり、弊社の登録状況からもやはりPHPエンジニアが一番採用しやすいことがわかります。
人が採用できないが故にプロダクトの成長を止めたくありません。
[弊社プロダクトの開発例]
2018年10月に新サービスをリリースしました。
どんな技術を使っているか紹介します。
「未来を掴む」キャリア形成プラットフォーム Graspy
Graspyでは以下を使用しています。
サーバサイド開発言語:PHP7
フロントサイド開発言語:Nuxt.js、Vue.js
フレームワーク:Laravel5.5
webサーバ:nginx
DB:RDS(Amazon Aurora)
クラウドサーバ:aws(EC2、S3、ELB、route53、cloudfront、他)
その他:docker、SPA、ADR、スクラム開発、Git Flow
昨年のVueフェスではGoldスポンサーをさせていただきました。
先月のLaravelカンファレンスでもスポンサーとして参加させていただきました。
今後はフロントでNuxt.jsやVue.jsに積極的に取り入れ、スポンサー活動も続けて行なっていきたいと思っています。
[PHPに感謝している]
現在の弊社のサービスは4年前のスタート当時に比べたら使ってもらえる機会も圧倒的に増え、従業員や弊社に関わってくれるITプロもだいぶ増えました。
まだ通過点ではありますが、現在の状況を見ると初期開発をPHPで行うという判断は間違っていなかったと思います。
僕自身は色々な経験や出会いをもたらしてくれたPHPという言語に感謝しています。
PHPを使ってプロダクトを成長させ、多くの人に使ってもらえるサービスにしていくことでPHPコミュニティに貢献できれば嬉しいです。
[最後に]
ITプロパートナーズでは、Laravel、vue.js、Nuxt.jsで開発に挑戦したいエンジニア・デザイナーを絶賛募集中です!
少し技術的なことに投資できるフェーズになってきました。
今回Nuxt.jsやVue.jsを取り入れたように、チャンスがあれば新しいチャレンジもしていきたいと考えています。
ちょっとでも興味を持っていただけたら、まずはお話しましょう。
お気軽にご連絡ください!