About(Engineer)

author potpro(ぼとぷろ)
2020/02/16

About(Engineer)

非公開

自分の職務経歴書(エンジニア向け)

Takuro Tanaka / HN:potpro(ぽとぷろ)

mikuaa

ブログ・github等は全てハンドルネームでの名義です。

スキル

フルスタックデベロッパー。

バックエンド寄りの仕事実績が多いですが、Webを扱う上での範囲でフロントエンド(jQueryやReact、Vue等)や、クラウドインフラ(AWS)などもスキルとしてあると思っています。

5年で2社ほど、どちらもWeb系の自社開発・内製の会社で働いてます。

プログラミング言語

Javascript 6年くらい(学生時代含め)

  • フロントエンドもバックエンドも、言ってしまえばアプリも
  • バックエンド: Node.js、Express、npm
  • フロントエンド: React(GatsbyJS)、Vue.js(Nuxt)、jQuery
  • アプリ: React Native、Cordova
  • TypeScript(JavaScriptを使うことが多いので、これに関しては1~2年くらい)
  • SSRの知識(Nuxt.jsを使用したSSR)
  • ブラウザの知識(ブラウザにおけるライフサイクル、挙動、Web Vital、SEO)
  • Webブラウザパフォーマンスチューニング(chromeのdevtoolからのチューニング、FMPの最適化)

PHP 5年くらい(学生時代含め)

  • フレームワーク: laravel、FuelPHP、lumen、Zend Framework
  • PHP5からPHP7へのバージョンアップなど
  • PHPStan、PHP CodeSniffer、PHPUnit等を使用した開発環境の整備など
  • バックエンドのパフォーマンス改善も得意
  • アーキテクチャパターン (OOP、クリーンアーキテクチャ、マイクロサービスアーキテクチャ)
  • 静的型のコードが書きたいので最近は少し採用に消極的

Go 3年くらい

  • バッチ系処理アプリケーション、Web Rest APIアプリケーション開発
  • フレームワーク: go-rest-api、Goa、バニラ
  • Goシングルバイナリでのコンテナ運用、Alpineコンテナ運用移行
  • GlideからGo Modulesへの移行、メンテナンス
  • マイブーム言語

DevOps / SRE / エンジニアリング等

  • CI/CD: Jenkins / Gitlab-ci / bamboo / Github Actions
  • githubを使用したgit-flow
  • Redmineを使ったチケット駆動開発、カンバン(Wekan)を使ったアジャイル開発
  • NewRelicを使用した監視・APMでのチューニング

インフラとか

AWS系の技術

  • コンテナ: ECS Fargate、ALB、S3(全て本番運用実績あり)
  • VM: EC2、CodeDeploy、NLB、(Packer+Ansible)、EC2 Auto Scaling
  • サーバーレス: Lambda、API Gateway、Cloudfront
  • ログ: Kinesis Data Firehose、AWS CloudWatch Logs、(ElasticSearch)
  • データベース: RDS MySQL、MariaDB、Elasticache(Memcached、Redis)

ミドルウェアとか

  • Linuxを使用したWeb開発が多いため、シェルスクリプトとCUIの操作
  • Nginx confの書き方、PHPでのパフォーマンス最適化
  • Docker 開発環境・本番環境のイメージ作成
  • Mastodon 趣味でもう3年以上自鯖運用中(Docker)
  • SQLパフォーマンスチューニング(実行計画見てパフォーマンス改善、インデックス)

その他

(そこまで詳しい知識は無いけど軽く書けるレベルのもの)

  • 開発で必要だったのでRuby書いたり
  • アプリのためにJava書いたりSwift書いたり
  • OSSのWebサービス構築、gitlabやMastodonのセットアップなど
  • BigQueryの操作

おしごとの前(学生時代)

  • Androidアプリ開発、NTT主催のアプリコンテストで入賞して金貰ったりしてた(2年くらい)
  • Rubyとnode.jsを使ったチャットボット開発、なんかRubyの団体から賞貰った、Ruby開発者のまつもとさんと2ショット取った(1年くらい)
  • C++を使用してのドローンプログラミングとか自由研究してた(6カ月くらい)
  • セキュリティキャンプ行ったりした

おしごと

2016-2017 自社開発1社目

  • BtoB向けブログ(CMS)サービスの改善とリプレース(9カ月) 役割:開発リーダー PHP 全4名(エンジニア2・デザイナー1・ディレクター1)
  • 自社サービスのキュレーションサイトのスマホアプリ(iOS/Android)製作(6カ月) 役割:アプリ開発エンジニア Swift/JavaScript/Cordova ほぼ個人開発

2017 自社開発2社目

  • PHP製自社サービスクチコミサイトの運用・改善・業務改善ツール開発・テックリード(3年以上) 役割: テックリード及び開発責任者、バックエンドエンジニア PHP/Go 開発で20~30名程度、全体30~40名ほど
  • BigQuery/GASを使用した広告レポーティング&インプレッション購入管理ツールの開発(3か月) 役割:エンジニア JavaScript/Google App Script 全2名

2018 自社開発2社目

  • BtoC向けQ&AサイトのPHPバージョンアップ(5.6->7.2)とパフォーマンス改善(2カ月) 役割:バックエンドエンジニア PHP 全2名
  • 画像ファイルサーバのオンプレミス->AWS S3移行支援&アプリケーションリプレース(3か月) 役割:バックエンドエンジニア Go 全2名

2019 自社開発2社目

  • Go製Rest APIサーバのオンプレミス環境からAWS ECSへの移行(3か月) 役割:バックエンドエンジニア Go 全2名
  • Nuxt.jsとサーバーレスアーキテクチャを使用した特設サイトの開発(3か月) 役割:エンジニア(フロントエンドメイン) JavaScript 全3名

2020 自社開発2社目

  • PHP製自社サービスクチコミサイトのパフォーマンス改善・NewRelic導入(6か月) 役割:バックエンドエンジニア PHP
  • GraphQLを用いたフロント用ゲートウェイAPIの開発(3か月、継続中) 役割:リーダー Go 全5名

アウトプット / OSS活動

ブログでのアウトプット、これまでの人気記事

githubでのOSS公開

  • React Native製、Mastodonのクライアントアプリ(メインで開発中) ikuradon
  • LighthouseにてPerfomance 100及びPWAを実現している、このサイト blog.potproject.net
  • sftpのGo言語での実装及びラッパーであるライブラリ easysftp

ブログ以外の 外部LT / 執筆等

Advent Calendar 2019(社内記事)

@cosmeの裏側! バックエンドAPIをオンプレミス環境からAWS ECS Fargateに移行した話

Advent Calendar 2020(社内記事)

サーバを移転するだけで@cosmeサイト全体のレスポンスタイムが30%も改善した、という話

React Native Meetup #10 LT React Native の FlatList とのパフォーマンス改善の話 (React Native Meetup #10)

Roppongi.vue #4 LT

サーバーレスアーキテクチャとNuxtで特設サイトを作った話(Roppongi.vue #4)

所持資格

  • 基本情報技術者
  • 応用情報技術者
  • セキュリティスペシャリスト
  • データベーススペシャリスト
  • ネットワークスペシャリスト