key | value |
---|---|
Name | 八木洸太 |
Leetcode | |
Wantedly |
- 実務で使用した技術だけを列挙しています。
- Python
- Go
- Django
- MySQL, PostgreSQL
- AWS
- Docker, Terraform
【概要】Fintechサービスのプラットフォーム開発、アプリ開発
【役割】バックエンド全般。
【成果】
- terraformを用いてSESのフィードバックをS3に保存するのに必要なAWSリソース定義を実装した
- 業務効率化のためのCIの実装をした
【概要】 akamai CDNの設定情報を自動管理できるツールの開発。
【担当業務】 上記ツールの開発。
【成果】
- 既存のコードのリファクタリング。
- akamai CDNの設定情報に変更があればJIRAに反映させる処理の実装。
- 好ましくないwordが設定に含まれている場合は、slackにアラートを飛ばす処理の実装。
- ログファイルの作成処理の実装。
- リファクタリングの際、コードの責務や可読性、保守性を意識した。
- 実装に至るまでの過程などはドキュメントに残し、情報の共有を意識した。
- 計算量が大きくならないようなアルゴリズムを用いて実装した。
【使用技術】Python
【概要】 2週間で、Tappleのクローンアプリを開発。
【担当業務】 バックエンド全般。技術選定。アーキテクチャ設計。技術面でのリード。
【成果】
- 運用保守性、テスタビリティを考えてクリーンアーキテクチャを導入した。
- 各層でテストを実装し、コードの品質を担保した。
- goのcontextをうまく活用し、middlewareでトランザクション処理を実装した。
- 不要なメモリアロケーションが発生しないよう実装した。
- N+1問題が発生しないようSQLを発行した(Eager Loading)。
- sqlboilerを導入し、DBスキーマからmodelを自動生成することで実装コストを削減した。
- Makefileを活用し、各種自動化スクリプトの作成をした。
- GitHubブランチの運用方法を規約化し、作業フロー統一した。
- チームメンバーの技術レベルなどを考慮してタスクの割り振りを行なった。
- notion, slack, gatherを活用し、チームの進捗管理、ナレッジ共有、ペアプロをすることでチーム全体の技術レベルを短期間で底上げできた。
- 初対面メンバー3人で協力して開発を進められた。結果、チーム優勝できた。
【使用技術】Go, Docker, MySQL
【参考URL】
【概要】自社SaaS(toB)のマルチテナントサービス新規開発。
【担当業務】 API開発。検索エンジンやバッチ処理の技術選定。
【成果】
- テナント設定APIの要件定義、DB設計、実装。
- 検索エンジンAlgoriaの技術選定及び導入。
- バッチ処理Lambdaの技術選定。
- Algoriaの導入する際、DBの情報をAlgoriaに反映させるバッチ処理の実装及び単体テストの実装。
- 新規サービス開発チームにジョインし素早くキャッチアップした。
- 担当範囲外のコードも読み、常にキャッチアップし続けた。
- APIの要件定義から実装まで一人でやり切った。
- 実装に至る過程や懸念点などはslackやConfluenceにドキュメントとして残し、情報をできるだけ共有した。
- slackやgithubなどのテキストベースコミュニケーションでは、認識の差異が出ないよう工夫して文章を書いた。
- フロントエンドエンジニアと綿密にコミュニケーションをとり、実装のすり合わせを行い、出戻りを最小限にした。
【使用技術】Go, PostgreSQL
【概要】2週間で、ゲームのAPIを開発。
【役割】バックエンド全般。
【成果】
- コードの責務、役割を考え、実装。
- トランザクションやn+1問題対策、エラーハンドリング、負荷試験など学びの多い二週間だった。
【使用技術】Go, Docker, MySQL, vegeta, pprof
【参考URL】
- https://docs.google.com/presentation/d/1ifPgw0LO6u1NxpWGALjVxw8Eb28EGrACLYDr9qPeBYE/edit?usp=sharing
- https://github.com/yagikota/clean_arch_with_go
- https://zenn.dev/88888888_kota/articles/ef3f223e1c70f0
【概要】チーム4人で簡易証券アプリを開発。それぞれが、サーバー1つを開発し、APIでつなげた。
【役割】注文サーバーを開発。他のサーバーからのリクエストを処理したり、外部APIを用いて株価の現在価格を取得する機能を実装。
【成果】
- Go, AWSなどは初体験であったが、開発に必要な機能を速習し開発に取り組んだ。
- 5日間という短い期間だったが、積極的にコニュニケーションをとって開発を進められた。
- Notionでの学びの共有など、互いに高めあえた。
【使用技術】Go, Docker, AWS
【参考URL】
【概要】Docker, Kubernetesに関するハンズオン講義を通し、両技術に関する知見を深めた。
【成果】Dockerに関しては、すでに使用したことがあったので新たな学びは少なかったが、Kubernetesに関しては初体験ということもあり、非常に勉強になった。学んだ内容を下記URLにまとめてある。
【使用技術】Docker, Kubernetes
【参考URL】https://gist.github.com/yagikota/6726405044730a6e340edfc9396620d6
【概要】FTXの提供するAPIを用いて仮想通貨分析に必要なデータの取得と分析をおこなった。
【担当業務】APIを用いたデータの取得、前処理、分析を担当。
【成果】
- 初めてのオンラインインターンシップということもあり、コミュニケーションに苦労したが、slack, discordなどを使用し積極的にコミュニケーションをとった。
- 取得するデータが膨大であったため処理に時間がかかったが、並行処理、レコードの一括処理など行い、処理時間を50%短縮した。
【使用技術】Python, Django, pandas