nakamura244 blog

所属団体とは関係なく、個人的なblog

PHP Way #1 勉強会に参加して自らのプロダクトでPHPを選んだ経緯を振り返る

参加した勉強会

base.connpass.com

はじめに

ようやく自分自身にエンジニアとしての精神的な余裕ができてきたのでコミュニティ活動を再開するんだ!と思ったけど

PHPでカジュアルに参加できる勉強会とか少ないなーと感じてた。

そんな中、いつものように会社でtwitterを眺めてたらこの勉強会を発見し、近いし参加させてもらいました。

本題

一応自分もスタートアップからサービスを開発をしてきました。当然最初の技術選定やらはしていて、そこでメイン言語をPHPにした経緯や当時の狙いみたいなところを振り返ってみようと思います

序章

2013年5月1日に今の所属している会社は設立され、その年の5月下旬か6月ぐらいにjoinした。

株式会社マクアケ

そこの会社で立ち上げるサービスに関して決められていたのは

  1. その年の6月中にサービスのティザーサイトをオープンさせる。
  2. その2ヵ月後ぐらいにサービスオープンさせるぞ!!😱...いけるのかぁ😰

その時いたエンジニアは私ともう一人でトータル2人。あとは業務委託として数名きてもらって一気に作るという感じだった

サービス自体は当時全く認知度が無かったクラウドファンディング。 まぁ技術的な視点でみると仕組みはEC+アルファのような感じでした

提供デバイスはとりあえずPCのブラウザ版をターゲット。のちにすぐにスマホのブラウザ版もターゲット

まぁよくあるwebですね

www.makuake.com

↑このサービスの立ち上げでした

大枠を決めた

まずはインフラはその頃からAWSが出始めてきてグループ社内でも使われ始めたのもあってAWSで良いんじゃないかという感じになりました。最初からインフラエンジニアというポジションで誰か来てもらう余裕なんて無いし

AWSはこれはこれで中々大変でしたが、今回はちょっと本題からずれるので置いておく

サーバサイドアプリケーション側のメイン言語はLL言語ってだけ決めた。webですし、何よりも改善スピードを重視したいという事もあった

会社には新規事業をどんどん立ち上げる文化がありますが、同時に決められた期間内に黒字にならないとクローズというルールがあります。 自分も実際にクローズを経験しました😨

LLの中でどれにしようか悩んだ

一応言語のその当時の印象やら評価をざっくりした

振り返り、まとめる下記のような感じだったと思います

言語 振り返りコメント
perl 今更perlで作るのもなぁー。そもそもperlで人が集まるのかなぁ。コードの書き方が色々ありすぎて統一感なくなりそう
python たぶんDjangoになるだろうなぁー。個人的にはこの組み合わせは好きだし良いけど、人材確保無理じゃない?めっちゃ苦労しそう。今でさえデータ分析系が流行っているのでpython周辺のコードをいじるエンジニアは増えているようだけど
ruby 当時2.0系に上がったぐらいでまだそこまでのスピードがない印象。でもrailsが盛り上がりつつあるのか?!
PHP 5.4 or 5.3あたりで、当時ソーシャルゲームが流行り始めて、PHPで作っていく組織が多くあった。PHPerいっぱいの印象

最終的に

結局は多くのクローズする事業を目の当たりにしてきて(当事者になるとツライです)、期限内に黒字化達成をする為に爆速で開発ができる事を最優先に考えた

そこから逆算すると自分たちのスキルセットと外部でお願いするエンジニアの確保のしやすさが重要。

自分含め2人いた創業エンジニアの今までのLL言語の経験でいうとperl,python,PHPだった。自分は直近python。もうひとりのエンジニアはPHPだった。

そうするとpython or PHP

それに外部からのエンジニアの確保のしやすさを考えると(当時だと) -> PHPですね🎉🎉🎉

フレームワーク選び

これは個人的な思考もありますが、軽量なフレームワークがいい!というのがありました。

その観点でいうと当時だとCodeIgniter

だけど、ちょうどその頃ライセンス問題が話題になっていて(のちに解決されていたのですが)、そのあたりからFuelPHPがこれから来るのではないかと信じて思い切って選択しました

その後、来たかどうかは...

まとめ1

  • 実はこの検討する時間が2、3日に考えて決めたんだよなー...
    • まぁちょっとあまりにも時間がなさすぎるというか、無理があるすぎると言うか...これがスタートアップなんでしょうかね...
  • PHPを選択した背景を4年前を思い出しながら書いたけど、4年前ってまだ20代じゃないか。色々知識が足らず未熟な選択も多分にあったと思う
  • ただ、時間は流れ、適材適所で言語を複数使いながらサービスを作り上げるのは今の主流なので今ではPHPだけではない
  • コードは常に書き換わるものなのでそういった循環のサイクルを回す事のが重要な気がしている
  • もちろんこれからもPHPも書くし、用途に合わせて別の言語も書くし、継続してアウトプットして少しでも良い情報を還元できればと思いっている

まとめ2

自分で言うのもなんですが、サービス立ち上げから無事に4年すぎ、そこそこまで立ち上がったと思うので当時の技術選択を用いてサービスの立ち上げは成功したんじゃなかろうかと思っています。🎉🎉🎉

以上、php wayを機に得た振り返り機会でした

おまけ

  • 勉強会の最後のパネルディスカッションでどういったエンジニアを採用したいかという話があった。
  • 自分も同意ですが、サービスに対してコミットしてくれて、サービスの成長・改善を第一に考えてくれるエンジニアを採用したい(もちろんプラスで技術力高い人)と。
  • でも現実問題としてサービスの成長やアクセルを踏み込むべきタイミングは待ってくれなくて、いつまでにどのくらいのエンジニアを増やして開発を加速させなきゃいけないというような時はある。理想ばかり言ってられなくなる
  • 妥協ではないけど、どこかで区切りというかラインを下げつつ事を先に進めなきゃいけないんだよなぁー。という現実とのギャップの苦しみはないですか?的な質問を懇親会でしたかったけど、ちょっと本業で急遽予定が入ってしまい、渋々先に上がってしまった