Skip to content

Instantly share code, notes, and snippets.

@tMinamiii
Last active Dec 7, 2021
Embed
What would you like to do?

職務経歴書

基本情報

開発歴

OS使用歴

OS 使用歴 レベル
Linux 10年以上 プロダクトのサーバーとして利用 / 開発用のマシンのデスクトップとしても使用
Windows 10年以上 個人的なデスクトップ環境 / 開発用のマシンのデスクトップとしても使用
macOS 8年 個人的なデスクトップ環境 / 開発用のマシンのデスクトップとしても使用

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

仕事や実現したいことに応じて使用する言語を変えています。 一番実現しやすくモダンで情報入手しやすい言語を使う傾向があります。

Java 1.4 - 7.0 (使用歴 8年)

  • 大学で使用したのがきっかけ(Java1.3)
  • 学士論文・修士論文の研究にもJavaを使用(Swingを用いてGUIアプリを作成)
  • 新卒入社した会社にて全文検索システムの開発にて約6年間使用した(Java5.0 - Java7.0)
  • Hadoop/Solrを用いた分散検索システムの開発に使用した

Python3.7(使用歴 3年)

  • TypeHintで型を記述した開発を実践
  • 単体テストにはpytest、パッケージ管理にはpoetryを使用
  • APIGateway + Lambdaを使用してAPI開発
  • SQLAlchemy(ORM) + MySQL + Elasticsearch を用いてAPI開発
  • Linterにflake8/black/isort/mypy/pre-commitを使用

TypeScript (使用歴 2年)

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

PHP (使用歴 1年)

  • 他社の社内システムの開発にて使用
  • Laravel + Eloquent + MySQL + CloudSearch を使用した開発経験
  • LinterにPhpcs + PhsStanを使用

Go (使用歴 2年)

職務・案件経歴

期間 会社名 案件 役割
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の改善施策(2021年6月 - )
  • 使用言語: GO, Nuxt
  • 細々とした改善や実験的な改善施策を継続的に行っている
DELISH KITCHENチラシの郵便番号・店舗名・地域名検索対応(2021年4月 - 2021年5月)
Push通知の負荷改善
  • 使用言語: GO, SQL
  • メモリを過剰に使用しているコードの改善
  • SlowQueryの見直し

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

スマホアプリのサーバーサイド開発 (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, Nuxtjs, 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の改善にも取り組みたい

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

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

好きなこと・嫌いなこと

好きなこと

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

嫌なこと

  • 余裕がない、過度なマルチタスク
    • 日中: 顧客の窓口 / 仕様に関するMTG / プロジェクト管理 / チーム管理
    • 夜:フリーランスの対応
    • 夜中: 日中の指摘事項の修正 / 追加機能開発
  • 過度な命令・過度な管理
  • 孤独に作業するリモートワーク
    • しばらく2次受けの仕事を一人で行っていた(1次の会社のSlackでゲストとして作業していた)
    • コロナ前は、それでも出社して雑談などできていたので孤独は感じなかった
    • しかしリモートになってから完全に孤立してしまい、社内の人間と話をする機会が完全に絶たれてしまった
    • このような環境で働くのは辛いなと最近感じました
  • 人の出入りが多い環境
  • 中途半端に終わらせる仕事(結果もフィードバックもなくやりっぱなしで終わる仕事)
  • 何も手を加える機会が一切なく、現状のシステムを延々と保守するだけの仕事
  • 誰かを不幸にしたり、誰かを騙したり、誰かが不利益を被るようなコンテンツを扱うシステム開発

学歴

奈良先端科学技術大学院大学 情報科学研究科 情報処理学専攻 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