https://unsplash.com/photos/eTgMFFzroGc

案件の概要

  • 期間: 2020年7月〜2021年6月(12ヶ月)
  • 担当: 企業向けサービスのバックエンドおよびフロントエンド開発
  • 契約: 準委任&フルタイム稼働

技術スタック

  • フロントエンド: TypeScript, React, styled-components, grpc-web
  • バックエンド: Go, gRPC, MySQL

今回の担当領域

システム概観

  • 赤=既存サービス群
  • 黄=新規サービス群
  • 灰=Microservices

5年間の活動概要

契約内容:

  • 契約社数:8社
  • 契約経路:エージェント経由(5社)、直接取引(3社)
  • 契約形態:準委任契約、フルタイム(140~180時間/月)
  • 契約期間:1ヶ月〜12ヶ月(平均6ヶ月程度)
  • 参画時期:サービスイン前(4社)、サービスイン後(4社)

開発内容:

  • サービス提供先:コンシューマー向け(4社)、企業向け(4社)
  • 開発言語:Go(6社)、TypeScript(2社)、Ruby(1社)、JavaScript(1社)> Python(1社)
  • プラットフォーム:Webサービス(5社)、ネイティブアプリ(3社)
  • 担当領域:バックエンド(7社)、フロントエンド(3社)

やったこと

仕事

  • 1月~6月: Go APIサービス開発(飲食系SaaS)
  • 7月~: Go APIサービス開発(HR系)

個人

  • Rust 再入門
  • React + TypeScript 再入門
  • 英語学習

関心ワード

  • Rust
  • Go — gRPC / Microservices / Error Handling / DDD
  • OAuth/OIDC
  • Agile Estimating and Planning
  • React Hooks
  • TypeScript
  • Speaking&Writing in English

書籍

技術

  • レガシーコードからの脱却 — David Scott Bernstein
  • Design It! — Michael Keeling
  • Monolith to Microservices — Sam Newman
  • Programming TypeScript — Boris Cherny

一般教養

  • 投資の大原則[第2版 — バートン・マルキール, チャールズ・エリス
  • これなら通じる技術英語ライティングの基本 — 平野信輔
  • American Accent Training — Ann Cook

TL;DR

  • git worktreeは現在作業中のリポジトリとは物理的に異なるディレクトツリーを作成する
  • git worktreeはGOPATHモードでは使えない(大抵の場合)
  • git worktreeはモジュールモードなら使える

動機

案件の概要

  • 期間: 2019年8月〜2020年6月(11ヶ月)
  • 担当: コンシューマ向けアプリのサーバーサイド開発
  • 契約: 準委任&フルタイム稼働

今回の担当領域

やったこと

仕事

  • 1月: Go APIサービス開発(BI系)
  • 2月~7月: Go APIサービス開発(EC系)
  • 8月~: Go APIサービス開発(SaaS系?)

個人

  • DMM英会話→1ヶ月で退会
  • Android Kotlin→MVVM+DataBindingで挫折

書籍

技術

  • エンジニアリング組織論への招待
  • エンジニアのためのマネジメントキャリアパス
  • Go言語による並行処理
  • テスト駆動開発
  • Clean Architecture
  • Android Programming with Kotlin for Beginners
  • Mastering Go
  • Dependency Injection in Go
  • Software Architecture with Golang
  • Learn React with TypeScript3
  • React Design Patterns and Best Practices — second edition
  • Learn Data Structures and Algorithms with Golang
  • Mastering TypeScript3 — Third edition
  • 改訂2版 みんなのGo言語
  • レガシーコードからの脱却
  • Design It!

一般教養

  • 負動産時代 マイナス価格となる家と土地 (朝日新書)
  • 限界都市 あなたの街が蝕まれる
  • English Grammar in Use Intermediate

TL;DR

  • Table Driven Testsでのループ内変数には tt を使うのがデファクト
  • tt は何かの省略語ではなく t との名前衝突を回避しただけ
  • テストコードは自動生成して …
とくに脈絡もない画像

案件の概要

  • 期間: 2018年04月 ~ 2019年1月
  • 担当: マーケティングツールのバックエンド開発

今回の担当領域

  1. 基本的な画面仕様から要件詰めて技術仕様へ落とし込み
  2. Issueに分解
  3. swaggerでAPI設計しフロントエンド担当と共有
  4. データモデリング(DB設計)
  5. GoでバッチやAPIを実装

開発スタイル

技術スタック

気づきや課題感

視点の変化

初期実装者の不安

今後について

Masaki Yoshida

Elastic Yak Shaver. Usually write a program in Go and TypeScript.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store