ハッカソンに参加して学んだこと | TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
「即時消費されるデジタル体験」に対し、あえて時間差を与えるUXを実現するための技術的制御が課題であった。また、ハッカソン特有の極めて短い開発期間において、要件定義の不足による手戻りや、開発環境(Android)の構築トラブル、チーム内での進捗・役割共有の不備が開発スピードを阻害する要因となった。
// Approach
バックエンドにFastAPIとPostgreSQLを採用し、開封タイミングをサーバー側で厳密に管理する状態遷移ロジックを実装。インフラはTerraformによるIaCとGitHub Actionsを用いたキーレス認証デプロイにより、再現性と安全性を確保した。また、体験の核となる「時間差」を支えるため、バッチ処理やデータ構造の設計に注力した。
// Result
「体験の即時消費を避ける設計」として審査員から高い評価を得た。一方で、技術的な工夫をプロダクトの価値(UX)へと結びつけて伝えるプレゼンテーション能力や、開発初期段階における検証・要件定義の重要性、チームとしての運用管理(通し練習等)の必要性を、失敗とFBを通じて学んだ。
Senior Engineer Insight
> 技術スタックは非常に実戦的であり、特にTerraformやWorkload Identity Federationを用いたCI/CD構成は、本番環境を見据えた堅実な選択である。しかし、短期間開発における「設計の詰め」の甘さは、スケーラビリティや運用コストに直結するリスクを孕む。現場では、PoC段階での環境検証と、UXを支えるバックエンドの整合性設計が不可欠である。また、技術を単なる「手段」としてではなく、「体験を成立させるための必然性」として定義し、チーム全体で共有するプロセスこそが、プロダクトの完成度を左右する。