株式会社BLUEISH / システムエンジニア
求人システム開発
## 使用言語やツール バックエンド: Go, gRPC,PostgreSQL アーキテクチャ: クリーンアーキテクチャやDDD クラウド: AWS SQLクライアントツール: TablePlus バージョン管理ツール: GitHub スケジュール管理ツール: Notion コミュニケーションツール: Slack,Meet,ovice ## 担当箇所 - API実装 - API組み込み - テスト - AWSでのdev環境構築 - クライアントとのコミュニケーション ## 特に大変だったこと ### 特に大変だったこと(給与計算機能実装) 働いた後にもらえる想定給与実装部分を全て一人で担当しました。時間外労働、深夜加算分、源泉徴収等の計算などそもそもお金周りの仕様が複雑かつビジネスルールが多かった点が大変でした。 ### どうやって達成したか(給与計算機能実装) 事前に想定されるパターンを紙に洗い出したり、同僚に見てもらうなどして手戻りがないように工夫しました。また、このアプリの肝となる部分のコードで変更する場合他への影響が最小限になり、再利用性や可読性を保ちながら実装するよう心がけ、レビュアーから複雑な仕様だけど見やすいと言っていただけました。 ### 特に大変だったこと(AWSでのdev環境開発) AWSでECS構築、ECSからS3、EFSの利用、Codebuild,CodepipelineなどでCICD構築をterraformで実装しました。プライベートで触ったり学習したことはありましたが本格的に実務で担当したことはなかったので、タスク自体が大変でした。 ### どうやって達成したか(AWSでのdev環境開発) 全体のサービスがどのVPCのどのサブネットに属するか、などの位置関係把握から、ALBのインバウンドルールを設定したり、ECS内でRDSを利用できるように疎通できるようにするなど業務時間外の寝る時間以外は全てキャッチアップに当てて、ドキュメントを読みつつ、読んでもわからない場合は実際に仮説を立てて動かし、どうしてもわからない場合は技術顧問の方に質問させてもらうなどしながらdev環境を完成させました。 ### この案件全体を通してコミュニケーション面で工夫したこと 同じようなタスクを別の人が担当することがあり、バッティングすることも多々あったので、slackで同じことをやっていそうな人には声をかけたり、効率のいい作業の順番を提案するなど作業に無駄がないようにコミュニケーションをとるように心がけました。 また、実装の可読性の部分で悩んだ部分は、コードを読む他の方の意見を取り入れるなど独りよがりにならないような実装を心がけました。