No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md

README.md

オープン職務経歴書(スキルシート)

公開出来ない情報は伏せているので、より詳しいスキルシートを見たい方はメール( yohei.ookubo@gmail.com )にて、お問い合わせください。 (オープン職務経歴書を書くにあたって参考にさせていただいた記事: オープン職務経歴書を書いてみた)

基本情報

key value
Name 大久保陽平
Birth 1990/01/11
Family 既婚・子なし
Location 東京都 世田谷区
Education 国立大学卒
Job Webエンジニア(フリーランス)
Mail yohei.ookubo@gmail.com
Github yoppe
Facebook 大久保 陽平
Qiita @yoppe
LinkedIn yohei-okubo

自己紹介

Webサービスを中心とした開発を5年ほど行っており、現在はフリーランスとして活動しております。

以前の職場でドメイン駆動設計とスクラムを開発に取り入れていたため、仕様の決まりきった物をそのまま作る作業的な開発よりも、ディレクターの方と密にコミュニケーションを取りながらより価値の高いものを共に作り上げていけるような開発を得意としています。

言語的にはバックエンドはScalaを得意とし、保守性の高いシステムを開発することが得意です。Scala以外にも最近はPythonをプライベートでも勉強中で、業務でもDjangoを使ったバッチプログラムの開発行った経験があります。フロントエンドはAngular2を始めとするモダンな技術を使った開発が得意です。またSASSなどを使用したUIデザインやTerraformによるサーバ環境構築の自動化を行った経験もあり、バックエンドからフロントエンド、インフラ周りまで幅広い領域をカバーしています。

上記の技術以外でも手続き型のスクリプト言語から関数型のコンパイラ言語まで、幅広い言語経験があり、未経験の言語を使う場合だったとしても少ない学習コストである程度使いこなせようになるかと思います。また、今まで関わったプロジェクトは新規立ち上げプロジェクトが多かったため、初期の技術選定などから関われるプロジェクトだとより力を発揮できるかと思います。 様々な言語・フレームワーク・ツールを経験する中で習得した、可読性・保守性の高いコードを書く技術に関しては自信を持っております。

転職について

よほどの理由がない限り、フリーランスを辞めて企業に就職することは考えておりません。 案件のオファーなどはいつでも歓迎しております。

関心の強いワード

  • 機械学習
    • Word2Vec,LSTMといった自然言語系
    • 強化学習
  • Fintech

資格

取得年月 資格名
2012-12 応用情報技術者
2007-12 基本情報技術者

いずれも学生時代に取得。

自然言語

平均的に対人コミュニケーションが苦手とされるエンジニア業界の中では比較的まともにコミュニケーションが取れる方だと思ってます。 英語は苦手です。

言語 レベル
日本語 ネイティブだけど資格は特になし
英語 Google翻訳や辞書に頼れば英語のドキュメントが読める程度で資格は特になし

成果物

key value
サービス名 流ツイ
公開URL http://ryutwi.yoppe.net/
概要 Twitter(ツイッター)に投稿されたツイート(つぶやき)をリアルタイムに検索することができるツイッター検索サイト
使用技術 PHP,WebSocketなど(詳細:http://ryutwi.yoppe.net/thanks.php
月間UU 5,000〜10,000

技術スタック

下記に一通り書いていますが、特に得意な技術スタックとしては、Scala × PlayFrameworkTypeScript × Angular2+Python × Djangoで、設計手法はDDDが得意です。

言語 備考
Scala 4年/一番得意な言語で、仕事のアプリケーション開発では一番使用している。1からシステムを設計することができ、教育・指導もできるレベルで習得
Java 4ヶ月/仕事で少しSeasar2を使った程度。書けなくはないがJavaで作る必要のある要件のものは可能な限りScalaで作りたいと思っている
Python 1年/プライベートで一番使用している言語。機械学習系のライブラリで株価予測プログラム、スクレイピングバッチプログラム、ログ収集基盤作成などを経験。1からシステムを設計することができるレベルで習得
Ruby 6ヶ月/新卒時代、仕事でもプライベートでもある程度使っていた言語。今も書けなくはないが大抵のものがScalaとPythonでこと足りるため、最近は使っていない
PHP 1年6ヶ月/学生時代に一番得意としていた言語。学生時代の制作物はすべてPHPで作成。仕事でも副業案件で触ることがあるが、積極的に触ることはない。1からシステムを実装することができるレベルで習得
JavaScript 5年/学生時代からほぼ全ての案件で触ってきている。ES6含め広く浅く経験。JavaScriptよりはTypeScriptを使っていきたいと思っている
TypeScript 2年/プライベートではあまり使わないが仕事でフロントエンドを開発する場合は積極的に採用している。ある程度型安全に書けるため、保守性を担保できて助かる。1からシステムを実装することができるレベルで習得
C 1年/学生時代にプログラミング学習や研究で使用したレベル
Go 1ヶ月/勉強のためにチュートリアルをやったレベル
フレームワーク 備考
PlayFreamework 4年/Scalaを用いた案件のほぼ全てで使用。プレゼンテーション層のみをPlayに依存させ、他は独自に作ることが多い
Django 6ヶ月/仕事でもプライベートの開発でも使用経験あり。管理画面付きのWebサービスをスピード重視で作成したい時などに使用。
flask 1ヶ月/勉強のためにチュートリアルをやったレベル。flaskを用いたハンズオン勉強会の講師経験あり
Angular2×RxJS 1年/自身で技術選定を行い、仕事で設計から実装まで行った経験あり。最初の学習コストさえ払ってしまえば、スピードと保守性を両立させて作れる印象。特にangular-cliの存在は大きく、ビルド周りの構築に時間をかけずにいいのは助かる。1からシステムを設計することができるレベルで習得
React×Redux 2ヶ月/既存プロジェクトのヘルプをしたときに使用。Reduxの理解や各種ライブラリの選定、ビルド周りの整備など、ちゃんと作るためには初期コストを大きく払わないといけない印象。慣れれば早いのだろうがまだその領域に達せていない
Riot.js×Bacon.js 1年/仕事で全体的な設計から実装まで担当。規模が大きくなり保守性が下がったため、Bacon.jsを使用し、一部リアクティブな実装に再設計した。(今後、使うことはないだろうが)1からシステムを設計することができるレベルで習得
AngularJS 6ヶ月/既存プロジェクトの追加開発時に使用。(今後、使うことはないだろうが)保守できるレベルでは習得
CakePHP 1年/学生時代のプライベート開発や仕事での副業案件で使用。1からシステムを実装することができるレベルで習得していたが、最近は全く触っていないため、知識のアップデートができていない
Ruby on Rails 4ヶ月/チュートリアルを行い、既存プロジェクトの追加開発時に少し触った程度
sinatra 2ヶ月/チュートリアルを行い、仕事のサブプロジェクトで少し触った程度
Seasar2 4ヶ月/既存プロジェクトの追加開発時に少し触った程度
フロントツール周り 備考
Webpack 1年/1からビルド周りを構築できるレベルで習得。設定周りの記事を書ける程度に熟知
gulp.js 1年/1からビルド周りを構築できるレベルで習得。簡単な導入記事を書ける程度
Grunt 6ヶ月/(今後、使うことはないだろうが)保守できるレベルで習得
インフラ周り 備考
RDB/NoSQL 5年/MySQL/PostgreSQL/Redisの経験があり、SQLアンチパターンや経験からDB設計を行えるレベル。大まかな最適化をしたことはあるが、細かいチューニングの経験はない
クラウドサービス 4年/AWS(EC2,VPC,S3,RDS,etc.)/GCP(GCE,GKE,etc.)の経験があり、AWSの小規模なサーバ運用環境であれば仕事で単独での構築経験あり
インフラ自動化(Terraform) 1年/AWS,GCPともに経験あり。AWSは構築経験あるが、GCPは保守のみ経験
インフラ自動化(Ansible/Chef) 1年/Chefは保守経験のみ。最近はAnsibleばかりで、Ansibleは構築経験あり
Vagrant 6ヶ月/ネットワーク周りの記事を書ける程度には理解
Docker 1年/仕組みを理解し、簡単な設定をいじれる程度に経験あり
Kubernetes 6ヶ月/構築経験はないが、仕事で保守経験あり。簡単なトラブルシューティングができるレベルで習得
その他の技術スタック 備考
設計手法 3年/DDD(ドメイン駆動設計)。アーキテクチャとしては、レイヤードアーキテクチャとヘキサゴナルアーキテクチャを仕事で経験。どちらも1から構築できるレベルで理解。
WebSocket 4ヶ月/サーバ、クライアントともに1から実装経験あり。プライベートでWebSocketを使用して作ったWebサービス(流ツイ
ElasticSearch 4ヶ月/仕事でログ解析のために使用。簡単なプラグイン導入ができるレベルで習得。ElasticSearch関連の執筆記事
fluentd 4ヶ月/仕事でログ収集のために使用。設定ファイルをいじれるレベルで習得
Kibana 4ヶ月/仕事でログの可視化のために使用。簡単なダッシュボードを作れるレベルで習得
Pandas 6ヶ月/仕事でもプライベートでも機械学習用のデータの加工のために使用。ある程度処理効率を考えて、データの加工ができるレベルで習得
Treasure Data 4ヶ月/仕事でログ解析のために使用
テスト 3年/ScalaではScalaTest,Spec2, JavaScriptではKarma/Jasmineなどを使用し、ビジネスロジックが含まれる部分や複雑な変換処理のみ単体テストを書いていくべきという考えを持っております

上記の通り、手続き型のスクリプト言語から関数型のコンパイラ言語まで幅広い言語経験があるため、未経験の言語を使う場合だったとしても少ない学習コストである程度使いこなせるようになるかと思います。

直近で関わった代表的な開発案件

大手アパレルECの海外向けECシステム構築

期間: 2018年01月〜2018年06月(6ヶ月)

  • 担当業務
    • Scala × PlayFreameworkを使ったWebAPIアプリ開発
    • テックリードとして、現場社員の教育
    • システム全体の大規模なリファクタリング指針の策定&改修作業実施
    • ドメイン駆動設計を用いたサービス全体の設計見直しの提案
  • 役割
    • エンジニア(テックリード)
  • 習得スキル
    • Scalaを用いたシステムの再設計&基盤作成ノウハウ
  • コメント
    • Scala経験者があまりいないプロジェクトで、自分が入った当初は継続的な開発に耐えるのが難しいシステム設計になっていたため、同じフリーランスのエンジニアとリファクタリングの提案を行い、大改修を実施した。
    • 要件がほとんど定まっていなかったログイン周りの機能を担当した際は、ユーザーストーリーの分析をもとにフローのたたき台を作成。決定権を持つステークホルダを集め、要件の策定を行った
    • 組織としてチーム開発のナレッジがなく、開発の改善フローが回せない状態だったためスクラムを提案し、デイリースクラムの実施などを提案・実行補助を行った。
  • 開発環境
    • 言語: Scala
    • DB: PostgreSQL
    • FW・ライブラリ: PlayFreamework, ScalaTest(単体テスト)
    • サーバー: Docker(AWS)
    • その他: Github, CircleCI, Slack, IntelliJ IDEA

Web広告運用における分析用データの収集システムの開発

期間: 2017年09月〜11月(3ヶ月)

  • 担当業務
    • Djangoを使った分析用データの収集システムの基盤作成
    • FacebookやLINEなどのWeb広告運用データの収集・加工
    • 収集システムのバッチ化
    • Treasure Dataへのデータ投入・出力
    • TerraformとAnsibleを使ったインフラ(AWS)の環境整備&自動化
  • 役割
    • エンジニア
  • 習得スキル
    • Treasure Data関連の知識
    • Djangoの関連の知識(特にORM)
    • Pythonを用いたデータ加工ノウハウ(特にPandas)
    • Terraformを用いたAWSのサーバ・ネットワーク構築の基礎知識
  • コメント
    • チームにはWeb開発が未経験のエンジニアが多かったため、システムの基盤設計・構築、インフラ整備などを進めました
    • また、現場の技術力底上げのためにエンジニアメンバーに対してインフラ周りの技術教育を行いました
  • 開発環境
    • 言語: Python
    • DB: MySQL, PostgreSQL
    • FW・ライブラリ: Django, Pandas(Python)
    • サーバー: CentOS7(AWS)
    • インフラ自動化: Terraform(AWS), Ansible
    • その他: TreasureData(Presto), Slack, IntelliJ IDEA

人材育成支援システム(Webサービス)

期間: 2016年10月 - 2017年09月(1年)

  • 担当業務
    • ドメイン駆動設計を用いたサービス全体の要件定義・設計
    • Scala × PlayFreameworkを使ったWebAPIアプリ&バッチアプリの開発
    • TypeScript × Angular2を使ったSPAアプリの設計・開発
    • SASSを使ったフロントエンドのデザイン全般
    • 新卒エンジニア戦力化のための教育・指導
    • Docker + Kubernetesを使ったGCPにおけるサーバ運用
    • TerraformとAnsibleを使ったインフラ(GCP)の環境運用
  • 役割
    • エンジニア
  • 習得スキル
    • ドメイン駆動設計とScalaを組み合わせた実装ノウハウ
    • TypeScript × Angular2を用いたサービス開発知識
    • Docker + Kubernetesに関するサービス運用知識
    • Terraform、Ansibleなどのサーバ構築自動化ノウハウ
  • コメント
    • 仕様があいまいな状態でプロジェクトがスタートした案件だったので、ディレクターの方と密にコミュニケーションを取り、サービスイメージを要件に落とし込み、要件からドメインや仕様を定義していきました
    • フロントエンドの技術選定も担当し、少ないメンバーでもスピードと保守性を両立できるTypeScript × Angular2を採用することを決めました
    • チームが少人数だったこともあり、バックエンドからフロントエンド、インフラまですべての開発を担当しました
  • 開発環境
    • 言語: Scala, TypeScript(JavaScript), Python
    • 設計: DDD(ドメイン駆動設計)
    • DB: MySQL
    • FW・ライブラリ
      • バックエンド: PlayFreamework, SkinnyORM, Spec2(単体テスト), Angular2
      • フロントエンド: Angular2, angular-cli, RxJS, Karma × Jasmine(単体テスト)
    • サーバー: CentOS7(GCP), Docker, Kubernetes
    • インフラ自動化: Terraform(GCP), Ansible, Fabric(Python)
    • その他: Mackerel(サーバ監視), Bamboo(CI/CDツール), Bitbucket(Git), Jira(チケット管理), Conference(ドキュメント管理), Slack, IntelliJ IDEA

--

※その他の過去に関わった開発案件と担当業務は下記の通りです

Web広告運用ツール③(リプレイス)

期間: 2015年09月 - 2016年09月(13ヶ月間)

  • ドメイン駆動設計を用いたサービス全体の要件定義・設計
  • Scala × PlayFreameworkを使ったWebAPIアプリ開発
  • Akkaを使ったバッチアプリの開発
  • Riot.js × ES6を使ったSPAアプリの設計・開発
  • フロントエンドの表示速度高速化
  • SASSを使ったフロントエンドのデザイン修正
  • React × Reduxを使った簡易的なアプリ開発
  • 新卒エンジニアの教育・指導
  • fluentd + ElasticSearch + Kibanaを用いたログ収集&可視化

Web広告運用ツール②

期間: 2015年01月 - 2015年09月(9ヶ月間)

  • ドメイン駆動設計を用いたサービスの要件定義
  • Scala × PlayFreameworkを使ったWebAPIアプリ開発
  • AngularJS × TypeScriptを使ったSPAアプリの開発
  • SASSを使ったフロントエンドのデザイン修正

Web広告運用ツール①

期間: 2014年09月 - 2015年01月(5ヶ月間)

  • Java × Seasar2(SAStruts)を使ったWebAPIアプリ開発
  • AngularJSを使ったSPAアプリの開発

Twitterのツイートをリアルタイムに検索サービス

期間: 2013年11月 - 2014年01月(3ヶ月間)

  • 個人プロジェクトでのサービス開発
  • 開発サービス:流ツイ( http://ryutwi.yoppe.net/ )
  • 要件定義から開発・デザインまでの全てを担当
  • PHPのWebSocketサーバ(Ratchet)を使用したWebアプリケーション構築
  • Twitterのツイートストリームを流しながらユーザーから非同期なリクエストに答えるため、ZeroMQを使用した非同期通信をPub/Subモデルで構築
  • サービスのスマホ対応

Twitterを利用した大学内SNSの開発

期間: 2012年06月 - 2013年01月(8ヶ月間)

  • 学内ベンチャーの立ち上げを目的とした学内SNSのWebサービスの開発
  • 要件定義から開発・デザインまでの全てを担当
  • CakePHPを使用したWebアプリケーション構築
  • TwitterAPIと連携し、WebSocketを使ったリアルタイムストリーミングによるツイート取得