自分がプログラマになる前は、こう想像していた:
- 仕様が明確である
- 納期に余裕がある
- 最先端のツールを使える
- 椅子と机が使いやすい
- ディスプレイが何枚もある
実際にプログラムを書いて納品してみてこう感じた:
- 仕様が明確だがガチガチではない(実装側の都合に応じて仕様をある程度、柔軟に変更できる)
- 納期が遠すぎない
- 最先端ではなくても、自分にとって慣れた使いやすいツールを使える
- 開発環境をすぐに用意できる
- お金の心配が少ない・無い
仕様についてだが、幸い、仕様書をきっちり書いてくれるお客様に恵まれた。要求仕様書に加え、データベース設計まで行ってくれているのである。カラム名は使っているフレームワーク(CakePHP3)の命名規則に合わせたかったため、相談して変えさせてもらった。開発効率があがるだけでなく、保守性もあがるのでとてもありがたい。
納期だが、僕の場合、あまり遠すぎるとやる気がでない。ここは要改善点で、毎日の歯磨きのように仕事をする癖をつける(習慣化)すればよいのだと思う。
ツールは、慣れているかということでgitを使わせてもらった。後日、svnとの二重管理に移行しなければならなかったのが痛いが、ほとんどの開発を慣れているgitでできたのはありがたい。
開発環境については、お客様が用意すると時間がかかる場合が多い。今回はEC2で自分で作った。イメージ取ったり、作り直したりの自由自在が嬉しい。
最後にお金だが、ここは、ここはプロジェクトが伸びたため(自分の開発が遅れたので文句はいえない)入金が結果的に後ろだおしになる。するとお金が心配になって開発に集中できない。お客様は前金で一部を払うと言ってくれてたのを見え張って断ったのが間違いだった。外注さんを使うと先にお金がでていくので、次回からは、前金を貰える場合はもらおう(別途、会社を作って借りるというのも考えている)