こんにちは。
システムチーム/プログラマーのNです。
今月で入社して丸5年になりました。
一言でいうと、めちゃめちゃ濃い5年間だったと思います。
ほぼ未経験で入社したので大変なことのほうが多かったです。
失敗もたくさんしましたが、上司にサポートしていただきながら続けてこられました。
そんな入社5年間を振り返ってみようと思います。
1年目
初めて担当したタスクは自社で開発した、お客さまの管理ツールであるログビューワーでした。
機能を追加するタスクだったのですが、いきなり詰まってしまったのを覚えています。
何に1番詰まったかというと、仕様を作るという工程です。
これまで作ったこともなく、仕様とは何なのか「?」の状態でした。
仕様を作り提出するのですが、何回も差し戻しが発生してしまいます。
作る→差し戻し→修正→差し戻し
の繰り返しです。
なぜなのか理解できず上司に相談すると
「自分に都合のいい、自己満足な仕様になっている」
という返答でした。
良い物を作りたい。
良いサービスを作りたい
ただそれが自分を基準にして考えているということに気づかされました。
自分が使いやすいもの
であったり、
自分が使っていて気持ちのいいもの
もっというと
自分が作れる範囲のものに限定している
まったく使う人のことを考えていないものになっていました。
趣味で作っているぶんにはそれでもいいですが、ユーザーにとって使いにくいものになってしまっては意味がない。
入社前にシステムの定義が何なのかなんて考えたこともなかったですが、
シナジーデザインでは明確に定義されています。
未来の別の場所にいる誰かの行動を制御する仕組み
めっちゃしっくりくると思いませんか。
システムを使う人はどこの誰かもわからない他人です。
しかも未来
未来のことを予測し、他人の行動を制御しなければなりません。
めちゃめちゃ難しいことです。
未来の誰かの行動を網羅し、それを仕様に落としこむ。
自己満足を基準にして作るようなレベルの仕様で通用するわけがないと痛感しました。
考えて、考えて、考え抜いて、やっと形になるもの。
それがシステム開発ということがわかりました。
正直、へこたれそうなときもあった1年目ですが成長できたと思います。
2年目
2年目に初めて大きなタスクをさせていただく機会をいただきました。
自社サービスであるデキテルの在庫車検索機能です。
数時間程度で完了するタスクの仕様作成は1年目に経験しましたが、
何十時間もかかるタスクの仕様を作るのは初めてたったので不安でいっぱいでした。
なぜなら
複雑で不明確で不確定なことを
単純で明確なものにし、確定させることは大変だからです。
ですが、シナジーデザインは仕様作成から開発に関わることができるので
大変ではありますが実装作業だけでは感じることができないやりがいがあります。
そんな中、なんとか仕様を作成し実装に入りましたが、
規模が何倍にもなったため問題も何倍にもなりました。
問題を大きなままで処理しようとして空回りしていたように思います。
困難を分割して1個1個処理していくことによって大きな問題を解決する。
仕様だけでなく、プログラムのコードを書くことにも言えると思いました。
専門的な記述は書きませんが、責任を1つにしてそれ以外のことをさせないということ。
膨れ上がっていくコードを見て実感することができた2年目でした。
難易度の高いタスクをすることによってデキテルの構造や、初期から大切にしてきたものを知ることができたのは大きかったです。
今回のブログはここまでになります。
長くなってしまったので続きは次回のブログに書きます。
ここまで読んでくださり、ありがとうございました。