PHPを使う理由
株式会社SCOUTER @kotamat
PHP Conference 2018
スポンサーセッション
誰
- kotamat
- SCOUTER CTO
- サーバー、インフラ寄り
- 🚴♂️
- Vuefesメンバー
だけkotamats
日本初 紹介免許なしで人材紹介ができる
ソーシャルヘッドハンティング
現在3,000名が登録し身近な転職希望者を
紹介することで報酬が得られます
紹介会社様の収益化に特化した
求人データベース+業務管理ツール
月額課金のみで紹介料を全額受け取れます
2つの人材紹介サービスを展開
新規サービス開発中
転職にまつわるサービスを展開
エージェント
転職者
求人企業
転職にまつわるサービスを展開
エージェント
転職者
求人企業
エージェントを
免許無しで誰でも
できるように
転職にまつわるサービスを展開
エージェント
転職者
求人企業
エージェント向け
業務管理 + 求人DB
転職にまつわるサービスを展開
エージェント
転職者
求人企業
面接・履歴書では
わからない転職者の
リファレンスチェック
今までLaravueでやってきた
しゃべる内容
- なぜ今PHPを採択しているのか
- ポジション形成のためにやったこと
- PHPの苦手領域の克服方法
- これからの技術選定
- まとめ
なぜ今PHPなのか
入社したときに今後の技術の
再検討を行った
- 当時からSPA + APIの構成だった
- サーバーサイドの技術はどうするか
- 当時流行っていたRails?
- 軽量APIとしてのGolang?
@2017/4
👍
- スタートアップ経験者がよく使っている
- 若年層の参入が多い
- 日本コミュニティー活発
👎
- 採用競合強い
- 言語として表現力が高すぎる
- フレームワークとしての規約が辛い
Ruby (on Rails) を選ぶと
👍
- シンプルな言語思想で入りやすい
- 静的型付きで、凡ミスを防げる
- 軽量かつどこでもバイナリで動く
👎
- 採用競合さらに強い
- (当時)そもそも使ってる人少ない
- ベンダリングのバージョン管理辛い問題(dep or glide or etc...)
- 高レベル設計力を要求される
Golang を選ぶと
👍
- いままでの資産は使える
- Webにおける開発が爆速でできる。
- まだポジションを築いている会社はない。
👎
- gRPCのサーバーサイドにはなれない。
- ゆるふわにかけてしまう
- PHPアレルギー症候群を採用できない。
Laravelのままだと
世の中の
流れが
変わってきた
PHPハイパフォーマンス化
Laravelの急成長
当時のSCOUTER
- なんか面白そうなサービスやってるよね
- え、エンジニアいるんすか。。?
- 意外とエンジニア多いんすね。
技術組織としての認知が皆無
まず
Laravueで
ポジション
掴むぞ
爆速開発 + Laravue
- Vue.jsもLaravelも自由度が高く導入が簡単
- 一回設計をしっかり行えば程よい塩梅で開発できる
- ある程度の大きさまで高速に実装できる
スタートアップでの開発に向いている
とにかく情報を発信し続ける
- 世の中に認知してもらうため
- 自分の技術を棚卸しするため
- 強い人と交流するため
技術ブログ
Laravue勉強会
NuxtMeetup
累計1000名規模の認知へ
- ニッチな領域に関しての一定ラインの認知はできた
- ポジションを作るは一定ライン達成
これからもPHPを使っていくのか?
PHPを使わない理由
- 静的に型チェックできないよね
- パフォーマンス悪いよね
- その他...
エンジニアなら
エンジニアリングで回避する
静的チェック
PHPStan
+
静的解析を
コメントする形で出力
+
CIで
(全てではないが)
及第点のチェックはできる
どうしても
無理な領域は
マイクロサービス化
PHPだと難しいところ
- バッチ処理
- マルチスレッド化
- 機械学習
- PHPアレルギーの人
いずれ多言語で実装されることを想定
言語を超えた通信をする
前提の構築が必要
- gRPC + protobuf
- GraphQL + 静的ジェネレーター
- APIドキュメント自動生成
SCOUTERでは一部APISpec
自動生成を行っている。
- Featureテストを記述すると
- RFC 7230ベースのファイルが生成される。
- PHPStormなどで実行可能ファイル
https://techblog.scouter.co.jp/entry/swagger-to-rest
まとめ
- 技術選定をし、あえてPHPでいくことにした
- PHPの苦手分野は技術で解決していく
- どうしても厳しいところはあるので、他言語を使う想定で組んでいく
SCOUTERではエンジニアを募集しております!
http://bit.ly/scouter-laravel
http://bit.ly/scouter-vue