GAミント至上主義

Web Monomaniacal Developer.

シニアジョブに入社して1ヶ月でやったこととこれから

ちょうど一ヶ月なのでメモも兼ねて。

1週間はこっちに書いた。あとTwitterで随時。
uyamazak.hatenablog.com

システムの現状

50歳以上、シニア専門の人材会社です。派遣も紹介もやってます。
全体で20人程度、開発者は2人とデザイナー1人で、人材のマッチング、管理を行う自社システムを開発保守しています。
社長の学生起業から手探りではじめて現在の事業をはじめ、それに伴って3年以上成長してきたシステムです。
効率よく人材を検索、マッチングするために、よくここまで作ったという機能がたくさんあり、事業に貢献してきたオリジナルのシステムです。

しかし、最初に作った人はすでにおらず、コードを読んでいても「これ何してんの?」と思ういわゆるレガシーコードもたくさん溜まってきてます。解読実質不可能なjQueryの処理とか。
またDB設計も柔軟性に全振りしたような感じなので、このままではスケールアップもメンテナンスも難しいという課題があります。

フレームワークはLaravel、インフラはAWS、EC2とRDS、ElasticSearchとRedisという一般的な感じですが、これは別のサービスだろっていうのも一つのLaravelに入っており、そこにも課題があります。

やったこと

とりあえずやった感あるのは下記2つ。

開発環境Docker化

入社当時、Vagrant + Ansibleの環境がありました。
でも2016年からDockerとKubernetesを触っているため、個人的にはどちらも今後必要もないと感じていることから、インストールも勉強もしなくない。
将来的には本番もコンテナ化したいし、デザイナーの人はエラーで使えてないのでEC2にいちいちアップしてるし、何より今どきDockerだろということで、もう一人の開発者と社長にも同意してもらってDocker化しました。

動作も早くなったらしいし、何より設定ファイル数も50以上から10以下ぐらいになり必要なパッケージ、ミドルウェア、OSの設定を把握しやすくなりました。しかもDockerfileとdocker-compose.ymlはメンテしやすいのでいいですね。

使ってるうちに、ビルドが遅いとかディスク使いすぎるとかあったんですが、都度潰していって今はそこそこ快適に使えてます。

本音をいえば、Mac OSで動くDockerコンテナはハイパーバイザー(Hyperkitだっけ?)で動く偽物なので、本物のLinuxで開発するのがストレスないなぁとは思いますが、社内は営業も含めてみんなMacなので揃えるメリットの方が大きいとも感じます。

PageSpeed Insightsの点数を1点から70点前後(調子がいいとき)に

SEOとか表示速度はまだまだ課題もありますが、 特にPageSpeed Insights (モバイル)の点数が1点(調子が悪いときは0点)という初めて見る面白い状況でした。

その結果を見て何もしていないわけではなく、数ヶ月前から短期で派遣の人に専門でいろいろSEOや速度改善をやってもらっていたようですが、1点どまり。その人もほとんど私と入れ替わりで契約が終了していなくなってしまいました。

これはおかしいと思って、Chrome開発者ツールでいろいろ見たところ、Google Fontsが読み込まれるまで文字が表示されなかったり、そもそもページ全体の転送量のほとんどがGoogle Fontsでした。
最初は同じGoogleのだしそこまで影響しないだろうと、読み込み方法を変えたり、やりましたが無駄でした。

この記事も見つけ、社長にも確認したところフォントにこだわりもないので、デザイナーの方に撤去してもらい、見た目を整えてもらったところ大げさにいって70点前後になりました。
tm23forest.com

検索順位への影響はまだこれからという感じ。

あとは営業さんの方で必要になった機能とかを作ったりしながら、既存の設計やビジネス要件を体に叩き込んでいっています。

すごいところ

1人3役による圧倒的決断スピード

社長がもちろん最終決定者ですが、システムのユーザーである営業、テレアポもやり、プロマネ的な優先順位決めやざっくり進捗管理もやっているので、だいたいのものは瞬殺してもらえます。はやい。

技術的な問題でも2人の開発者と社長の3人しかいないので、はやい。
人が増えたらこうは行かないけど、なるべく維持していきたいところ。

嫌になるような会議がない

会議と言えるものは朝社長が席にきて「今日なにする?」的な話をする朝会的なもののみ。某前職と違う。
あとは困ったら直接話したり、Slackで会話したり。
ほとんど一日中集中できるので、19時ぐらいには脳の疲労感がすごいことになってます。
つい体も動かさず固くなってしまうので金曜夜のサウナは欠かせない。

歓迎会がまさかのアレ

お酒飲めないと言ったら飯ウマなところへ連れて行ってくれました。
居酒屋で唐揚げとかは一品料理では食べたことあるけどコースは初めてでした。

f:id:uyamazak:20200217221729j:plain
f:id:uyamazak:20200217221719j:plain
f:id:uyamazak:20200217221724j:plain

今後の採用とか

エンジニア職は募集したいところだけど、今のシステムで開発してもらうのはいろいろ辛いと思うので、新バージョンが形になってきてから本気出したい。
Vue.js、できればFirebase & FirestoreにTypeScript、あと検索はKubernetesに載せたElasticSearchとかいろいろ妄想中。
少人数で何でもやりたいフルスタックに興味のある人は、お話聞くのでTwitterとかで連絡ください。