ものつくりにこだわり続けるスペシャリスト
ものつくりにこだわり続けるスペシャリストを目指したいです。
私は良いものを作るプロでありたいと思っています。
良いものとは、関わった人がハッピーになるようなものだと思っています。
出来上がったものが結果としてどれだけプラスのインパクトを生み出すかということを考え、実現するためのスキルや知恵、機転があるような人が素晴らしいと思うからです。
技術を通して人に体験を与えることができるというエンジニアという職種であるため、技術を磨く運用するといったことは常に意識しています。
技術を磨くことに並び大切だと思っているのはものつくりとは一人だけで行うものではないのだということです。
良いものは志を同じくした優秀なメンバーと磨き上げることで作れると思っています。
私自身プロジェクトを円滑にすすめることもできる機転の効く人間でありたいし、そういったメンバーが集まるような会社で働きたいです。
開発者としてとことん突き詰めたいです。
現時点ではゼネラルに立ち回っていますが、指向性としてはバックエンドを中心に能力を伸ばしていきたいです。
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません
建設業における、工事外の書類業務をITによって効率化、改善し本来の工事そのものに集中できることを狙いとしたSaaSアプリケーションになります。
その中で、外部機関の提供するAPIを利用し、プロダクトに蓄積した工事情報を連携する機能を作成しました。
私自身もプレイヤーとして換算をしながら、プロジェクトマネジメントを実施
全体人数は私含め5人程で、プロジェクトの方針や外部機関との折衝、不確実性削減のため行動をしました。
対象データ量が多い、また今後利用ユーザの増加によるDBへの負荷を考慮し、バッチ処理用DBをユーザアプリと切り離して利用できる設計としました。
バックエンドFWとしてdjangoを利用したのですが、複数のDBを切り替えて利用するルーター機能に関する情報が少なく実装の際には、ドキュメントを読み込む等をして対応しました。
またデータの加工処理を常に成功した前回の差分から作り出すことで再実行時に必ず冪等となるような仕様、設計としました。
データを効率的に処理できるようORMだけでなく、チューニングしたSQLを部分的に使うことで処理効率を向上させました。
弊社プロダクトとして0~1で作るものが久々であったため今後のお手本となるような品質を目指し、ドメイン駆動設計、テスト駆動を基本とし実装しました。
目標設定とチェックポイントの設定
スタートアップとしては半年弱という、長期のプロジェクトでしたが、目標設定とチェックポイントの設定を徹底することで、無理なく対応することが出来た。
設定するだけでなく、常に見直すことも大事で、長期的なプロジェクトであっても随所随所にインテグレーションの機会はあるのでそれを見逃さない目を養えたと思っています。
設計パターンや手法の選択肢
今回はドメイン駆動設計、テスト駆動設計を実施しましたが、プロダクトの規模やフェーズによってはドメイン駆動設計は毒にも薬にもなるなと肌で感じられたこと。
インテグレーションを前提としたサイクルを回す開発においてはテスト駆動設計は切っても切り離せないものであるという点を感じられたことです。
特にテスト駆動設計については、自分が想像していたより早く恩恵が得られたと思っており、慣れないドメイン駆動設計でコードの修正がやや多めに発生していたとも思っており、それを支えられたのはテスト駆動設計を徹底していた点だったなと。。
またテストコードは万能ではなく、モジュールが適切に設計されていることによってより力を発揮する、インテグレーションの回数を増やせば増やすほど効果が増すといった点
このプロジェクト詳細は公開されていません
外部連携機能を追加するプロジェクトマネジメント
外部連携というコントロール性の低いものに対して、常に把握、不確実な部分をなくし適切なマイルストーンを用意すること
外部担当者とのコミュニケーションを密かつ、常に弊社のプラスとなるようなやり取りを徹底した。
要件の特性上、外部担当者がこちらを審査するというパワーバランスがあったため、不利になる展開を避けこちらが進めやすいように、やり取りに注意を払いながら情報を確実に収集した。
スタート時、不明瞭な情報が多いため初期に引いたスケジュールでは間に合わないことが判明
情報は常に不確実性が収束していくため、情報収集を徹底した結果判明した妥当な結果と判断
事業視点、現場視点を論点に上げ、意思決定者を巻き込み引き直した。
結果、問題なく納期通りに対応し事業、現場双方で炎上することなく対応できた。