Skip to content

Instantly share code, notes, and snippets.

@tMinamiii
Last active December 23, 2023 14:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tMinamiii/f1e93ca728eb66558f19fadb1a9e6feb to your computer and use it in GitHub Desktop.
Save tMinamiii/f1e93ca728eb66558f19fadb1a9e6feb to your computer and use it in GitHub Desktop.

職務経歴書

基本情報

  • 名前: 南 貴博(みなみ たかひろ)
  • 性別: 男性 (1984年うまれ)
  • GitHub @tMinamiii

開発歴

プログラミング言語使用歴

Java 1.4 - 7.0 (使用歴 8年)

  • 大学在学中に使用。Swingを用いてGUIアプリを作成
  • 新卒入社した会社にて全文検索システムの開発にて約6年間使用した(Java5.0 - Java7.0)
  • Hadoop/Solrを用いた分散検索システムの開発に使用した

Python3.7(使用歴 3年)

  • APIGateway + Lambdaを使用してAPIサーバーを開発
  • TypeHintで型を記述した開発を実践
  • SQLAlchemy(ORM) + MySQL, Elasticsearch + ElasticsearchDSL を用いて開発
  • 各種Linterを用いた開発(flake8/black/isort/mypy)

TypeScript (使用歴 2年)

  • ヘッドレスブラウザを使用したクローラー実装に使用
  • Lambda上でPuppeteerを使用ヘッドレスブラウザクローラーを実装した
  • Nuxt.jsを用いてフロントエンドのSPAのロジック実装
  • Linterにeslint/prettierを使用

Go (使用歴 5年)

  • DELISH KITCHENのバックエンド開発に従事
    • ヘルスケア機能のバックエンドを実装
      • 食事記録機能の実装
      • カラダ記録機能の実装
      • ダイエット機能の実装
    • DELISH KITCHENサーバーの保守・障害対応
    • サブスクリプションを管理するサーバーの保守・ログ拡充
    • 広告・チラシサーバーにAWS OpenSearch Serviceを導入
  • LGTM画像を生成するCLIを作成 https://github.com/tMinamiii/lgtm
  • ゼロから作るディープラーニング1をGoで実装 https://github.com/tMinamiii/deep-learning-from-scratch-go
  • Pocketに保存した記事を検索するCLIを作成 https://github.com/tMinamiii/pick

職務・案件経歴

期間 会社名 案件 役割
2021年3月 - 現在 株式会社エブリー DELISH KITCHENのサーバーサイド開発 バックエンドエンジニア
2019年6月 - 2021年2月 エディプレックス株式会社 スマホアプリのサーバーサイド開発 バックエンド・インフラエンジニア
2019年2月 - 2019年6月 同上 社内情報管理システム 同上
2018年12月 - 2019年1月 同上 画像解析システム 同上
2018年2月 - 2018年11月 同上 Webクローラー開発・保守画 同上
2015年3月 - 2018年1月 - - -
2009年4月 - 2015年2月 株式会社日立ソリューションズ 文書検索パッケージソフトの開発 パッケージプロダクトエンジニア

株式会社エブリー

DELISH KITCHEN バックエンド

DELISH KITCHENのヘルスケア機能実装(2022年5月 - )
  • DELISH KITCHEN新機能、ヘルスケア機能実装
    • 食事記録とアドバイスの実装 (2022年5月 - 8月)
    • マイメニュー機能を実装 (2022年9月 - 10月)
  • 使用技術: Go, ECS Task Scheduler
DELISH KITCHENの課金まわりの修正(2022年1月 - 4月)
DELISH KITCHENサーバーの保守、施策の実施(2021年6月 - )
  • DELISH KITCHENの保守や施策の実施
  • 使用技術: Go, Nuxt.js + Javascript
DELISH KITCHENチラシの郵便番号・店舗名・地域名検索対応(2021年4月 - 2021年5月)
DELISH KITCHEN の Push通知の負荷改善 (2021年3月)
  • メモリを過剰に使用しているコードの改善
  • SlowQueryの見直し
  • 使用技術: Go, MySQL

エディプレックス株式会社

スマホアプリのサーバーサイド開発 (2019年6月 - 現在)

主な取り組み
  • APIサーバーの設計と実装
  • サーバーレスインフラ構成
  • CodePipeline CloudFormationやGitHub Actionsを用いてCI/CD環境の構築
  • エンジニアとしてMTGなど顧客と仕様検討したり、スケジュール調整したり、顧客情シスと連携したりとフロント業務も兼任
APIサーバーの設計と実装
  • APIのロジック実装
    • 言語はPython3.7
    • 単体テストは1000ケース以上、カバレッジ85%以上を達成
  • MySQLの使用
    • ORM(SQLAlchemy)+MySQL(Aurora)を用いてRDBを使用した
    • データ構造を意識して、テーブル設計をしたことで、クエリの複雑化を防いだ。
サーバーレスインフラ構成

このインフラ構成はAWSが推奨するベターな構成ではない。 しかし、顧客要望を突き詰めていった結果たどり着いた構成です。 正しいアーキテクチャが、顧客の要望にマッチするとは限らないのが辛いところでした。

  • API Gateway + Lambda + RDS + Elasticsearch で APIサーバー構築
  • Elasticsearch Serviceでシノニム作成、カスタム辞書作成
  • MultiAZ / Public+Private Subnet / NAT Gateway
  • AWS SAM / CloudFormation を利用してインフラ構築・Lambdaデプロイのコード化
OpenAPIによるドキュメント化
  • APIを一つ追加するたびに必ずOpenAPIを記述
  • ドキュメントのスキーマとPythonの実装が一致するようテスト実装
  • VSCodeの拡張を活かして、yamlを分割管理することで保守しやすくした
  • OpenAPIにAWSのデプロイコードを埋め込みAPI Gatewayとも連携させた
CI/CD
  • Pull Request時にGitHub ActionsでLinterや単体テストを実行(テストをパスしないとmasterにマージできない)
  • 各ブランチにマージすると, dev/stg/prod環境に自動デプロイされる仕組みを構築
成果・実績
  • 単体テストを拡充することでリリース後大きな問題もなく稼働し続けている
  • デプロイを自動化やIaC化したことで手作業によるデプロイミスを0にした
  • OpenAPIのドキュメントを継続維持することでフロントエンドやPMへの説明資料にもなり、納品物にもなり、外部のセキュリティ診断時の提出資料にもなり作業の効率化を図れた
  • データ構造を意識して、テーブル設計をしたことで、クエリの複雑化を防いだ結果、リソースを消費を抑えてバッチ処理を実行できた

社内情報管理システム (2019年2月 - 2019年6月)

主な取り組み
  • Laravel + Vue によるフロントからバックエンドまで実装
  • バラバラの資料から要件を整理
  • 要件にあったデータベースのテーブル設計
  • データ集計のバッチ処理実装
成果・実績
  • 長年ストップしていた開発を始動させプロトタイプ開発まで完成させた
  • 実現したいことを整理し、それに則したテーブル設計をおこなったことで、ばらばらになったデータをRDBに収めることができた
  • さまざまなサービスやインフラを利用しており、フロントもシステムも開発に苦戦していたのでローカルで議事環境を構築した
  • 極力手作業をしないため繰り返し行う作業は全てコード化した

画像解析システム (2018年12月 - 2019年1月)

主な取り組み
  • Python, Nuxt.js, TensorFlowによる物体検知
  • デモ画面のフロントエンド実装
  • 機械学習・ディープラーニングの技術調査
  • TensorFlowAPIを使った物体検出の転移学習
成果・実績
  • 実現できるかわからない研究的な案件に対して、進行方法を提案しプロトタイプ製作まで取り組むことができた
  • 動作するプロトタイプ実装まで達成できた(画像をアップロードすると、物体検出し、画像を抜き出してOCRし、文字を抜き出す)
  • ただしスケジュールや予算が会わずプロジェクトは中断・譲渡となった

Webクローラー開発・保守 (2018年2月 - 2018年11月)

主な取り組み
  • ヘッドレスブラウザをつかったスクレイピングを実装
  • ロジックやインフラ、DBテーブルを見直して安定化
  • AWS Lambda化によるコスト削減、スケールアップ
  • 管理画面の高速化
成果・実績
  • 以前は、毎日のように不具合報告が来ていたいけれど、1-2年おおきなトラブルはなくなった
  • 非対応だったWebページも取得できるようになり、デイリー5万件だったデータが、15万件まで取得できるようになった
  • クリックすると固まってしまう状態だった管理画面を、正常に使えるようにした
  • バックエンドエンジニアですがTypeScriptの社内初導入

空白期間 (2015年3月 - 2018年2月)

  • エンジニアとしても社会人としても自信を失い自分を見失った期間
  • それと同時に自分を見つめ直した期間
  • 精神的に不安定になった期間

復職と心療内科への通院開始 (2017年9月 - 2018年2月)

  • 現在も月1ペースで通院中
  • 病名を言われたことはなく、環境・性格など、長年積み重なって不安定な状態になった
  • 風邪のように急な完治はなく、徐々に緩和するけれど一生のおつきあいと言われている。また自分もそれを受け入れてバランスを保てている
  • 通院とお薬で基本バランスはとれており、こまったら直ぐ相談できる環境を保っている
  • 復職後に無断欠勤したり、長期間仕事ができなくなったり、仕事に支障をきたしたことはない

株式会社日立ソリューションズ

文書検索パッケージソフトの開発 (2009年4月 - 2015年2月)

主な取り組み
  • 大量のバグ修正を行った
  • Javaのヒープメモリ不足を解消。
  • 複数の検索エンジンのクエリを生成するフレームワークの実装
  • Jenkinsによる単体テスト自動化、ビルドジョブの作成
  • Hadoopを使用したクローラーのエラー処理実装・バグ修正
成果・実績
  • 影響範囲を調査しながら慎重にバグ修正するスキルを身に着けた
  • 生存期間の長い変数に大きな値を設定しないなど、GCを考慮したプログラミングができるようになった
  • クラス図を用いた設計ができるようなった
  • 分散処理に関する基本的な知識が身についた

自己PR

よい雰囲気を作り出すことが得意です

とにかく話しかけやすくあるよう努めています。 常にSlackのハドルに入っていたり、ペアプロして一緒に考えたり、放っておいたら支障がでると判断したら自分から声をかけてフォローしたり。 うまく言い表すことができませんが、チームが円満に進むような雰囲気づくりを心掛けています。

作ると決めたものは手を尽くして完成させる

自分の中でやると決意したことは、様々な手を尽くして完成に導きます. アドバイスをもらうために自分の意見をぶつけてみたり、顧客に質問したり、MTGを設定したり、やれることを全部やるよう心掛けています。

新しい技術で開発した経験

スケーラビリティを求められる案件に関わったことから、AWSのLambdaなどサーバーレス環境の開発をしました。 またフロントエンドの開発にも多少関わることがあったため、Vue/Nuxtを会社に導入しました。PythonではTypeHintやpoetryをつかい、Node.js開発ではTypeScriptを用いるなど、時代遅れにならないよう心掛けています。

やれること・やりたいこと

得意な業務・技術

  • バックエンドのシステム開発が得意です
    • バッチ処理の実装
    • APIの実装
    • ビジネスロジックの実装
  • AWSを使ったクラウドインフラ構築の経験が得意です
    • MultiAZ / Public+Private Subnet / NAT Gateway
    • API Gateway + Lambda + RDS + Elasticsearch で APIサーバー構築
    • S3 + CloudFrontいよる静的サイトホスティング
    • CodePipelineによるデプロイ自動化
  • Nuxt(Vue)+TypeScriptでフロントのロジックの経験もあります
    • HTMLとCSSは用意してもらい、そこにロジックを加えて動的する

経験がすくない業務・技術

  • HTML/CSS描画関係の経験
  • Webサービスの開発経験
  • スクラムなどの体系的なチーム開発経験

このさき(3-5年)やってみたいこと・挑戦してみたいこと

いろいろなことにTryしつつ、作る人間でありたい。

正直にいうとビジョンが漠然としています。 現段階で、「絶対にこれがやりたい!」「これしかない!」というものがありません。 いままで様々な開発に携わり納品してきました。インフラ、バックエンド、管理画面のフロント幅広く挑戦して携わってきました。幅広く携わったゆえにコレだ!という絶対的な技術的な強みが曖昧としています。 失敗しつつも何度も挑戦し、作りつづける人間でありたいと思っております。

エンジニアとして強みになる技術の軸を1つ作る

  • 1例として検索技術に回帰して知識を深めたい
    • 社会人スタートが検索システムの開発だったが、つねにバグFixだったので深堀りできなかった
    • 大量の情報から、欲しいものを絞り込むというのはどんな場面でも欠かせない技術だと思っている
    • 仕組みを学びつつチューニングや、検索インフラ基盤の構築してみたい
    • 検索UXの改善にも取り組みたい

エンジニアに軸足をおきつつ、多くの人とかかわり、多くのドメイン知識を学びたい

  • 多くの人と関わり話し合い、意見や経験談を聞き、ドメイン知識を深めたり広げたりすることで設計力をたかめていきたい
  • 豊富なドメイン知識をもとに様々な開発に関わり役立てる良ような人物になりたい

好きなこと・嫌いなこと

好きなこと

  • 自分が作りたいと決めたらなんでもやるよう心掛けている
  • 自主的に問題を見つけて、解決していくことが好き
  • 研究よりもプロダクトを世に出すこと。価値をだすことがすき。
  • お客さんと会って話すことに抵抗はないので時には顧客と直接話して知見を深めたい。
  • 不安定なものを、安定化させるのがすき(ひたすらバグ修正やっていたから)
  • 整理したり、整備したり、改善したりってのは好き
  • チームを大事にしたい。頑張る人のために頑張るのが好き。
  • バックエンド・インフラ

嫌なこと

  • マルチタスク
  • 裁量がない環境
    • つねに上に許可を求めないと行動ができない、
  • 孤独な作業
  • 形骸化したお気持ち評価制度
    • 達成できないような会社状況に関わらず、OKRを無理やり書くことなど
  • 人の出入りが多い環境
  • 中途半端に終わらせる仕事(結果もフィードバックもなくやりっぱなしで終わる仕事)
  • 何も手を加える機会が一切なく、現状のシステムを延々と保守するだけの仕事
  • 誰かを不幸にするうシステム開発

学歴

奈良先端科学技術大学院大学 情報科学研究科 情報処理学専攻 2007年4月 - 2009年3月

ユーザの動作類似度に基づく共通鍵生成法(加速度センサーを用いて、似たている動作からパスコードを生成する研究) https://ci.nii.ac.jp/naid/110007338494

会津大学 コンピューター理工学部 (2003年4月 - 2007年3月)

資格

  • TOEIC 650点 2014年2月
  • 応用情報技術者 2009年6月
  • 基本情報技術者試験 2005年5月
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment