in Think

久々にWebアプリを作ってる


正社員になって約半年、生活もある程度安定してきたのでWebアプリを久々に作ってみることにした。

結構しんどいなーと思うことはあるんだけど、問題解決っていうか、こういうのがあるといいなっていう痒いところを解決してくれるアプリがあるといいと思って作ってる。

心がけたこと

とにかく自分一人でも使うものを

とりあえず最初は誰にも使われなくても僕が使い続けようと思うものを作ろうと思った。僕と関係ないクラスタにも伝えるためには世間一般の問題解決を図るものじゃないといけないので「グルメ」「美容」「写真」「EC」「ソーシャル」みたいな誰でも思いつくワードですみを突くのは絶対むいてない。あと僕の感覚が割とおっさんなので若い人に刺さらないし(会社でもやべえと思うおっさん発言がたまにでる)自分 が一人で使い続けれるものにしようと思った。

幸い嫁と同じ趣味がターゲットなので、嫁にも使ってもらう予定。

一旦できあがってから書き直しで

ここは割り切った。Rails5とフロントは割と適当なあれで書いてるけど、もうこれは仕方ないかなと思った。そもそも僕はフロントエンドの人間ではないし、どちらかというとサーバサイドの設計を丁寧にすること、通信をあまり走らせないことを重要にした。

ただ、フロントエンドのこれ辛そうみたいなところは、友人がとてもいい助言をくれたので参考にしようと思ってる。

最終的にはサーバサイドはGolang、フロントエンドはRiotJSに移行する予定。

自動化できるようにする

開発が完全に一人で、ある程度ユーザを抱える可能性が想定されるので、自動テスト自動デプロイは必須。アプリとしても単体なので、CircleCIとかで回せばいいかなと思った。以前はJenkinsを同じサーバに置いて重くて死んだことしかなかったので、どこかでちゃんとテストを書いて回すタイミングはしたい。

やってよかったな、と思うこと

まだ道は半ばなんだけど、やってよかったな、と思うこともいくつかある。

Rails5の知識を付けることができた

次Golfingに行くとはいえ、Rails5を触ることができた。4からいくつか変更点はあるしその辺も吸収することができてきたのでまあいいかなって感じ。細かい変更点はいろんな人がまとめてくれてるからおいておき、僕が使ってみた感覚としてはいままでつらさを生む原因となっていたところがすっきりしてるってところかな。

デザインについて学び始めるきっかけになった

UI / UXとかいろいろ言われる世の中だし、細かいことからはいるとしんどいなーと思ったので、会社のデザイナーに聞いて、始めの一歩の本、それから考え方の本を教えてもらった。

あと友人の北村さんから献本いただいた本も読んでる。

この三冊、すごくデザインの基礎を学ぶのに役立った。基礎概念みたいなのはまだ身についてないし、そこから始めようとするとどうしても実装手段の方に落ちようとしちゃう。JSとかHTMLの記述法とかね。そうではなくて、ものの配置やフォント、色のバランスみたいなのを論理的に落とし込む話をするためにはこういう考え方がいる。

デザインは別の技能だ、というのは納得がいったけど、やっぱり一緒に仕事するならフロントエンドもできる人がいいな、という考え方はあまり変わらないかな。

Infrastructure as Codeだって、結局こうしたいっていうのをコードの形で落とし込むというのを行ってきた結果、かつてコードはかけなかったインフラエンジニアっていう人間が頑張って実践してきたものなので(結果職種が変わっていったけど)その辺りはデザイナーの人も頑張ってーっていうところなのかな。余談だけど。

設計について自分のレベル感を再認識できた

会社員として働いていると否応なしに実力勝負の世界から、ある程度妥協したり、許容される機会も増える。フリーランスだとその専門でずばぬけてないと肩身が狭く、自分を律することができなかったりしたので、自分のことで悩む時間が減ったように思う。会社に僕より優秀な相談できる人が何人もいるので、学びながらイテレーションを回すことができるってのはフリーランスのときより楽しい。みんな協力的だし。

そんな中で学んだ設計の考えを再構築して、自分プロダクトに反映させると、考えが再整理されていくのが見えてとても楽しかった。実現させるためにどうするか、という考えが割と抜けがちだったときもあったんだけど、こうしてバランスをとって生きていきたいな、と思う。

まとめ

そんなにお金になるアプリだとは思わないし、これを種に起業しようとも思わないので、しばらく正社員しながらゆるく運用できればいいかなとは思う。