Git Product home page Git Product logo

cv's Introduction

業務経歴書

基本情報

key value
GitHub kobayashi-m42
GitHub(友人と共同で運営しているOrganization) nekochans
Qiita @kobayashi-m42
Zenn @kobayashi-m42
個人プロダクト LGTMeow(猫のLGTM画像を共有出来るサービスです)
Twitter @kobayashi-m42

概要

Web系エンジニアです。現在は、フリーランスとして活動。

AWSを利用したインフラ構築、監視基盤の構築、バックエンドをメインとしています。

強み

  • AWSを利用したインフラの設計・構築・運用
  • Datadog等を利用した監視体制の設計・開発・運用
  • Terraformを利用したIaCによるインフラ開発の効率化、自動化
  • テストコードや設計手法を工夫した、保守性・拡張性の高いシステムの構築
  • CI/CDの導入等の開発生産性を向上するための取り組み

Web開発においてインフラの整備からバックエンドアプリケーションの開発までの工程を担当できます。

新規開発、サービスのリプレイスフェーズにおいて最もバリューを発揮出来るかと思います。

スキル

スキルの習熟度の目安は下記の通りです。

  • A:概ね理解し、開発に必要なスキルを持っている
  • B:部分的に理解し、調べながら開発することが可能
  • C:経験はあるが理解が浅く、勉強中

言語

言語 レベル 備考
Go A REAT APIの作成
Kotlin B Spring Bootを使用してREAT APIを作成
TypeScript A フロントエンド、サーバーサイド共に利用
JavaScript A フロントエンド、サーバーサイド共に利用
PHP A Laravelを使用してREAT APIを作成。現在は使用していません。
Scala C Gatlingの実装に利用
HTML A
CSS B Bulma、Bootstrapのフレームワークについても利用経験あり
Apex A Salesforceの開発。現在は使用していません。
VB.NET B 過去に開発経験あり。現在は使用していません。

フレームワーク

フレームワーク レベル 備考
Spring Boot A REAT APIの開発に利用
Laravel A REAT APIの開発に利用
Express A
React A 社内向けのアプリケーション開発に利用
Vue.js A Vue.js + Vuex + vue-router + TypeScriptでのSPA開発
Nuxt.js B Vue.jsのプロジェクトを移行
Next.js B 個人開発のアプリケーションで利用

クラウド

AWS

サービス名 レベル 備考
EC2 A Webサーバとして利用
ECS A Fargateを利用
RDS A Aurora MySQL、Aurora PostgreSQLを利用
S3 A 画像サーバやCloudFrontと合わせてSPAの配信等、様々な場面で利用
CloudFront A CDNとして利用
Lambda A REST APIやインフラ周りのタスクやNuxt.jsを動作させるために利用
API Gateway A AWS Lambdaと組み合わせて利用
Route53 A DNSサーバとして利用
IAM A
ALB A
StepFunctions A バッチ処理で利用
DataSync A
WAF A
GuardDuty A
Inspector B ECRの拡張スキャンを利用
Cognito A UserPoolを用いて認証基盤を構築。
OpenSearch A KibanaによるALBアクセスログの可視化、Alertを利用した監視設定に利用
Organizations A
SES A 社外向けで利用
ElastiCache A キャッシュサーバとしてRedisを利用
CodeDeploy A ECSへのBlue/Greenデプロイの仕組みを構築
Kinesis Data Firehose A ログなどをS3に保存するため、CloudWatchメトリクスストリームを利用してメトリクスをDatadogに送信するために利用
Athena A ログの検索等に利用
CloudFormation B 基本的にはTerraformを利用しているが、一部で利用

VPCやCloudWatch等のAWSを利用すれば必ず利用するような物は含めておりません。

その他

サービス名 レベル 備考
Upstash A キャッシュサーバーとしてRedisを利用

インフラ関連

サービス名 レベル 備考
Docker A 開発環境での利用、AWS ECSでの利用共に経験あり
Terraform A AWSの構成管理で利用
Datadog A 監視基盤を構築
PagerDuty B オンコール体制の構築

その他

key value
Salesforce 社内システムのでの利用。要件定義から開発・運用保守までを担当。
GitHub Actions CI/CDに利用

主な業務経歴

メディア系WebアプリケーションのBFFの開発(Go/AWS) (2022-2023)

  • プロジェクトの概要
    • メディア系アプリケーションのフロントエンドのリプレイスに伴いBFFを構築
  • 利用した技術
    • Go
    • AWS(ECS Fargate)
    • Upstash(Redis)
    • Sentry
  • 担当業務
    • アーキテクチャの選定、設計・開発
    • Goを使用したBFFの構築
    • TerraformによるAWSのインフラ構築
    • エラー監視としてSentryの導入
  • プロジェクトの成果
    • BFFの構築によりフロントエンドのパフォーマンスを改善
    • Redisの導入により既存サーバーへの負荷削減、レスポンス速度の改善

メディア系Webアプリケーションのインフラの構築・運用(AWS) (2022-2023)

  • プロジェクトの概要
    • メディア系アプリケーションのインフラを担当
    • 既存のインフラ構成の改善、運用、開発、アーキテクチャの選定をを担当
  • 利用した技術
    • AWS
    • Terraform
    • GitHub Actions
  • 担当業務
    • Terraform構成の見直し
    • 不要コスト削減
    • Terraform, AWS Providerのバージョンアップ
    • 運用作業
    • CI/CDの構築

社内向けアプリケーションの新規開発 (2020-2021)

  • 利用した技術
    • Spring Boot、Kotlin
    • React、TypeScript
    • AWS(ECS Fargate/Aurora PostgreSQL)
  • 担当業務
    • Reactを使用したフロントエンド開発
    • Spring Bootを利用したWebAPIの開発
    • TerraformによるAWSのインフラ構築
    • チューニング
  • プロジェクトの成果
    • フロントエンドからインフラ構築まで全ての行程を担当

金融系企業でAWSを中心としたインフラの構築、監視基盤の構築 (2019-2022)

  • 利用した技術
    • AWS
    • Datadog
  • 担当業務
    • TerraformによるAWSのインフラ設計・構築・運用
    • Datadogを利用した監視体制の設計・開発・運用
    • AWSの運用に必要なツールの開発(Lambda + Go の組み合わせが多い)
    • AWSの運用改善
      • AWSのサービスを導入したセキュリティの強化、IAMアカウント管理見直し、コスト削減のための構成見直しなど
    • EC2上のアプリケーションをECS Fargateに移行
      • インフラの設計構築、監視設定、性能試験、チューニング、CI/CDの構築などを担当
    • EC2上のバッチ処理をStepFunctions + ECS Fargateに移行
      • インフラの設計構築、監視設定、CI/CDの構築などを担当
  • プロジェクトの成果
    • 「EC2上のアプリケーションをECS Fargateに移行」に関して
      • EC2からFargateに変更することで、EC2の運用コストやAWSコストを削減した
      • 無停止によるリリースを行い、ユーザーに影響がで無い形で移行を完了させた
      • ECSでの開発経験を生かし、EC2からECSに移行する際の注意点を先行してチームに共有しすることで開発速度が向上した
    • 「EC2上のバッチ処理をStepFunctions + ECS Fargateに移行」に関して
      • EC2を常時起動する構成からバッチの実行時のみFargateを起動する構成に変更したため、EC2の運用コストやAWSコストを削減できた
      • StepFunctionsのエラー処理やLambdaによるエラーハンドリングを導入することで、AWS側で障害が発生した場合も自動で再実行する仕組みを導入し、安定的なバッチの実行環境を構築した
      • 開発の初期段階でCI/CDを導入することにより、チームの開発速度が向上した
    • 監視が不十分な状態から監視基盤を構築することで、サービスの異常にすぐに対応できる状態にした
    • チームにTerraformを扱ったことがあるメンバーが少なかったのでTerraformの社内向けの勉強会を開催し、インフラ担当者以外もTerraformを利用してAWSの設定ができるようになった
      • 勉強会を録画として残すことで、新規メンバーが参画した際もTerraformのキャッチアップできる環境になっている

EC2で作成されているWebAPIをDockerに移行(Docker/AWS) (2019)

  • 利用した技術
    • Docker
    • AWS ECS(Fargate)
  • 担当業務
    • Dockerfileの作成やコンテナ実行基盤の設計等
    • TerraformによるAWSのインフラ構築
    • Gatlingを使用した性能試験の実施、チューニング
  • プロジェクトの成果
    • ローカル開発環境のDocker移行により、チームメンバー間の環境構築における差異を最小化した
    • デプロイを簡素化し、開発生産性を向上した

メディア系Webアプリケーションの開発(Nuxt.js/Laravel/AWS) (2019)

  • 利用した技術

    • Nuxt.js
    • TypeScript
    • Laravel
    • AWS(Lambda/API Gateway)
  • 担当業務

    • Nuxt.js(TypeScript)を使用したフロントエンド開発
    • Laravelを利用したWebAPIの開発
    • TerraformによるAWSのインフラ構築
  • プロジェクトの成果

    • フロントエンドからインフラ構築まで全ての行程を担当

    当時Googleボットがまだ上手くSPAのJavaScriptを解析してくれなかったので、SSR(サーバーサイドレンダリング)が必要だと判断しNuxt.jsを導入しました。

    少しオーバーエンジニアリングかと思いましたが、結果的にフロントエンドの開発効率が良くなり、割と短期間でリリース出来ました。

Salesforceを利用した社内システム開発(Apex/JavaScript)

  • 利用した技術

    • Saleseforce
    • Apex
    • JavaScript
  • 担当業務

    • アジャイル開発によるプロジェクト管理がメイン
    • ビジネスサイドとの調整、要件定義から開発・運用保守までを担当
    • JavaScriptを利用したフロントエンド開発
  • プロジェクトの成果

    • もともと負債の多いシステムであったため、技術的負債を取り除き、サービスの継続的な開発・運用を可能とした
    • アジャイル開発でプロジェクト管理により、社内システムの短期間におけるリプレースを可能とした

    負債が重なることによってサービスの開発速度が低下し、テストコードがないことによって不具合が多発することを経験。設計やテストコードの重要性を実感しました。

    これ以降の開発においては最初の段階で設計を重要視し、テストを自動化するようにしています。

業務システムのリプレース(独自言語を利用したフロントエンド開発)

  • 利用した技術

    • 独自言語
  • 担当業務

    • 独自言語を利用したフロントエンド開発
    • 要件定義から保守・運用までを担当
  • プロジェクトの成果

    • 当初は開発メンバとして参画したが、ユーザとの要件定義までを担当しプロジェクトに貢献した
    • 初めてのアジャイル開発であったため、アジャイル開発について書籍・勉強会等で学習しに必要な知識をチームに反映した

    独自言語であったため、調べても情報が出てこない、言語にバグがあっても対応されない等の理由でとても苦労しました。

    この経験があったことで、オープンソースの技術に興味を持ちました。

業務システムの新規開発(Vb.NET/SQL server)

  • 利用した技術
    • Vb.NET
  • 担当業務
    • 画面の作成
    • SQL Serverのビューを作成
    • テスト

その他

新しい技術や領域にチャレンジするために個人開発をしています。

個人プロダクト (LGTMeow)

友人との共同開発で「LGTMeow」という猫のLGTM画像を共有出来るサービスを作成しました(2021年)。

  • 利用した技術
    • Next.js、TypeScript
    • Go
    • Vercel(Next.jsを動作させるために利用)
    • AWS(S3/CloudFront/Lambda/API Gateway/Cognito)
  • 担当業務
    • Next.jsを利用したフロントエンド開発
    • Goを利用したWebAPIの開発
    • TerraformによるAWSのインフラ構築

個人プロダクト (Mindexer)

友人との共同開発で「Mindexer」というQiitaのストックを管理するためのサービスを作成しました(2019年)。

目指しているエンジニア像

小・中規模のサービスをアーキテクチャから選定し高品質で運用コストが低いシステムを開発していきたいです。

その為にもインフラ、バックエンドの各分野で利用出来る技術の幅を増やしていきたいと思っています。

意欲・興味

  • 小さな単位でリリースし、素早く改善サイクルを回すアジャイルな開発スタイルを好みます
  • 言われたことだけをやるのではなく、目的や背景を共有し要件定義から関われる開発スタイルを好みます
  • インフラからバックエンドまで幅広い技術領域に取り組みたいです

希望条件

  • 地方在住のためリモートでの勤務を希望します

cv's People

Contributors

kobayashi-m42 avatar

Stargazers

ucan-lab avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.