本日、年明けから作っていた新サービスをリリースしました。
プロダクトオーナー・デザイナー・エンジニア(自分)の3人チーム (+ 周囲の惜しみない協力) で作っているため、システム側の決定権(責任)がほぼ全て自分にある状態で、それがなかなかに楽しいです。ビジネス要件定義、データモデル、システムアーキテクチャ、システム設計、プログラミングなどなど、ほぼ全部やってます。ある意味自由!
ほぼ全部をやってると書いてふと思ったのですが、やはり現在のプログラミングとシステム設計(詳細設計・基本設計)は切っても切れない関係だなと感じます。プログラマを単なる作業者として扱うことや、プログラミングに明るくない人がシステム設計に関わることの厳しさがよくわかります。 この辺の話も色々と自分なりの結論が出てきた*1のですが、とりあえずこの辺にしておきます。
そうえいば約1年前、転職する際の面接で「自分の作ったサービスと言えるものを作ってみたい」と何度か言った記憶があるのですが、今まさにそんな感じの仕事をしている状態です。有り難い。
サービス自体は、まだまだやることや決めきれていないところがたくさんあって、単にとりあえずリリースできたという状態なだけですので、ここからが勝負です……! 品質とスピードを両立させながら突き薦めるように色々試行錯誤してみます。
ちなみに個人的に思う品質の高いソフトウェアとは、
- 求める機能が提供されている
- 変更に強い
のどちらもが満たされている状態だと思っています。
しっかし、作ったものがちゃんと動くのかどうかという点に関してだけは、初めてプログラミングをしたときから未だに全く自分を信じられん……ホントに動くんかいなこいつ?
謎い。