Skip to content

Instantly share code, notes, and snippets.

@ya-mori
Created September 30, 2019 14:42
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 ya-mori/41a83cb00f8f003e7e4c4b6452615bea to your computer and use it in GitHub Desktop.
Save ya-mori/41a83cb00f8f003e7e4c4b6452615bea to your computer and use it in GitHub Desktop.

職務経歴書

更新日時 : 2019/10/01

基本情報

名前 守屋洋平
住所 東京都中野区弥生町
エンジニア歴 2年 6か月
GitHubアカウント ya-mori

職務要約

大学で画像処理の研究を専攻した後、現職の特定派遣会社へ新卒で入社し機械学習エンジニアとして勤めています。入社して、1年半は サーバサイドやフロントエンド の Web開発を行いました。その後、3か月ほど機械学習を学び、現在は広告の売り上げ予測を行うシステム開発を行う業務をお客様先で行なっています。

スキル要約

業務経験のあるものを列挙しています。

言語

Python3, Java8, Kotlin, TypeScript, GraphQL, SQL, HTML, CSS, JavaScript, Coffee Script, shell script(Linux)

フレームワーク等

Server: Flask, Spring Boot(Spring MVC, Spring JDBC, Spring Security), Ktor, Servlet/JSP, JSP(JSTL), Node.js, grahpql-java-tool, Gradle, Maven
Machine Learning: Pandas, Numpy, matplotlib, seaborn, scikit-learn, TensorFlow, Keras, LightGBM, HypterOpt, Pipenv, direnv, Make
Front: Vue.js, AngularJS, PhantomJS, jQuery, Tymeleaf, Ajax
Test: Junit, Test Cafe, Pytest, Selenium, JMeter

Cloud, ミドルウェア 等

AWS : ES2, ECS, DynamoDB, SQS, S3, RDS(MySQL), Aurora
GCP : AI Platform, Cloud Storage, Cloud Build, BigQuery, DataStore, Pub/Sub, DataFlow, GKE
Other : MySQL, PostgreSQL, ClickHouse, CircleCI, Nginx, Tomcat, Apache Beam

ツール等

Git Hub, Bit Bucket
Docker, Docker-Compose, Anaconda, Jupter-NoteBook, Swagger, Trello, IntelliJ

職務経歴

ラクスパートナーズ

2017年4月にWebエンジニアとして入社し2017年9月までJava, JavaScript, RDB, SQLなどWeb開発に必要な技術を研修として学びました。

下記は研修後、客先常駐として携わった案件です。

経済ニュース配信サービスのサーバーサイド・フロントエンド開発

概要
経済情報を配信するBtoC向けのプロジェクトに参加して、サービスのサーバーサイドとWebフロントエンドで、バグの改修や新機能の要件定義・開発・テストまでを行った。
タスクの粒度が大きく、細かい仕様を決めることは自身で決めるなくてはならなかったので、ユーザー視点になって、UXを損なわないように努めた。

使用技術
Java8, Kotlin, SQL, HTML, CSS, JavaScript, Coffee Script, shell script(Linux) Spring Boot, Gradle, Maven, jQuery, Tymeleaf, AngularJS, Bit Bucket, Docker, Docker-Compose, Swagger, Trello, IntelliJ , ES2, DynamoDB, SQS, S3, Aurora, Nginx, Tomcat

担当業務

  • RESTAPI・DB・フロントの設計・実装の実施
    サーバーサイド Kotlin, Spring Boot(Java8) などを使ってWebアプリケーションの開発を行なった。
    機能の追加を行うために、要件と画面デザインを元に、データベースのスキーマからフロントエンドまでの設計・実装を行った。本格的なシステムの設計や実装は未経験であったが、既存のシステムの設計や実装を良く理解してアーキテクチャに従った実装を行うことを意識した。その結果、ソースコードの可読性や拡張性を損なわなずに拡張することが出来た。

  • 要件定義 → デザインドック・ユースケースの作成
    ビジネスサイドの要求をヒアリングして、デザインドックを作成した後、ユースケースまで落とし込んだ。技術的に可能な事項とビジネスサイドの要求を吟味して、落とし所を決めることで、スムーズな開発が可能になった。

  • 結合テストの実施・仕様書の作成
    画面定義書や、動作の仕様書を取りまとめて、仕様の明示化に努めた。
    また、テストケースを元に、ネイティブアプリとWebアプリの双方の結合テストを実施した。バグを発見した際には、そのまま報告をするのではなく、開発担当者のデバック時間をなるべく減らすように、動作やログを分析して原因の切り分けをしたうえで報告を行った。

  • プロモーション用のランディングページの作成
    イベントのプロモーション用に HTML + SCSS を使って、ランディングページを作成した。成果物
    複雑なレスポンシブルなデザインを短い期間で実装することを要求されたが、素早くキャッチアップを行い、デザイナーと綿密な連携をすることで、スピード感をもってリリースを行うことができた。

新規ASPのシステムの立ち上げ開発

概要
ASPシステムの開発を行うプロジェクトの立ち上げフェーズに参加した。 そこで、Kotlin + Ktor を使ってGraphQLAPIサーバーの開発をメインで行った。

使用技術
Kotlin, Ktor, TypeScript, GraphQL, SQL, Python3, ECS, DynamoDB, S3, RDS(MySQL), Vue.js, Junit, Test Cafe, Git Hub, Docker, Docker-Compose, IntelliJ

担当業務

  • GraphQL APIの基本設計・詳細設計・実装・デバック・テスト・コードレビュー
    Ktor + graphql-java-tools を利用して GraphQLサーバーを実装した。
    GraphQLを業務で取り扱うのは初であったが、手を動かしながら素早くキャッチアップを行なったことで、設計を任せていただき、GraphQLスキーマの設計から実装、テストフェーズまでを一括で担当した。その設計では、GraphQLを使う利点を活かす為に、ドメインモデル同士の依存をなるべく疎にすることで、拡張がしやすい設計を意識をした。
    また、 CI上の自動テストとCleanArchitectureを採用することで、それぞれのレイヤーで単体テスト自動実行することが可能になり、コードの品質を担保することができた。さらに、Test Cafe を使ったE2EテストをCIに導入して、よりシステムを安定して提供する環境を整えた。

  • 開発環境の構築 および自動化 新規で立ち上げのプロジェクトであったために、環境構築などにトイルがとても多かったので、実装の空き時間を利用して、それらをなくす業務にも取り組んだ。
    まず、 Localの開発環境用にシステムで使用しているミドルウェアの DockerImage を導入することで、Localの開発環境の仮想化を行なった。また、開発用のデータが統一されていなかったので、Localのデータベース用にコンテナを起動した後にマイグレーションを自動的に実行するため仕組みを実装した。
    こういった取り組みによって、チーム全体が本来の開発に集中できる環境を整えることが出来た。

広告の売り上げ予測システムの開発

概要
大手広告代理店で、広告の売り上げを予測するプロジェクトに参加した。 売上予測のAPIの開発や、前処理用の分散処理を実装したりなど、MLOpsやDevOPSといった業務を中心に行った。

使用技術
Python3, Flask, Pandas, Numpy, TensorFlow, Keras, Pipenv, direnv, Pytest, Make, Apache Beam, AI Platform, Cloud Storage, Cloud Build, BigQuery, DataStore, Pub/Sub, DataFlow, GKE, Git Hub

担当業務

  • 予測APIの開発
    Flask + CCP AI Platformを使って、機械学習モデルの予測結果を返すAPIの開発をした。
    既存のシステムでは、リクエストを同期的に処理するAPIが運用されていた。そのAPIでは、しばしばメモリーがオーバーフローしたり、リクエストがタイムアウトになってしまうことがあるのが課題であった。そこで、キューを使用して予測の処理を非同期化することを提案した。しかし、実際に実装をしてみたところ、データをベクトル化するための前処理もボトルネックになっていることが判明した。なので、前処理を Apache Beam と GCP DataFlow を使った分散処理で実装することにした。こういった検証と実装を繰り返すことで、現実的に利用できるオンライン予測を行うAPIを構築することができた。

  • CIの導入
    チームに参加したタイミングでは、ビルドやデプロイなどが手動で運用されており、属人化されている状態だった。この状態では、長期的に考えてとても効率が悪いと考えたので、 Cloud Build を使ったCIの導入を提案して実際に実装も行なった。このように、システム全体のビルドとデプロイを自動化することで開発効率がとても向上した。

得意なこと

自ら進んで業務を遂行する 自走力 に自信があります。
これまでの業務でも、現在のチームの状況を俯瞰的に整理して、今必要なことを提案して遂行することで、お客様に評価をしていただいてきました。また、常に技術的な情報を収集するようにしているので、そのチームにとって最適な技術的な提案と業務の遂行ができるようになっていると考えています。

やりたいこと

多くの人に影響があるサービスに携わりたいです。
人々の生活にある課題を技術を使って解決することがエンジニアという仕事の一番のやりがいだと思っています。なので、人々の生活の基盤になるようなシステム開発に携わりたいと考えています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment