owned this note
owned this note
Published
Linked with GitHub
# 楽するために、やりたいことをやっていたらフルスタックエンジニアになっていた
---
## 自己紹介
- 小林泰士/株式会社NEW SHIP CEO/CTO
- 業務委託でこれら
- 株式会社ROXX、株式会社シェアダイン、株式会社APERIE/ポケットソムリエ
- WEB+DB PRESS Vol.120「ユニットテストとともにフロントエンドの設計を楽に改善していく」
- フロント問わず色々書いたり
- https://zenn.dev/ptpadan
- https://twitter.com/jkhayate
- 趣味:プログラミング、漫画、酒・料理、ライブ
- 関心:ウェブサービスが届ける価値を、自分の技術で早く、大きくしていくこと
---
## よくさわっているもの
- フロント
- Next.js/React、TypeScript、Immutable.js、Nuxt/Vue
- バックエンド
- Golang、Laravel、Node.js/Prisma/express
- インフラ
- AWS/Terraform、Docker
---
## どうしてフルスタックエンジニアになったか
- 楽に安定して素早く開発し続けることができるようにするために、必要なこと、改善したいことをやっていたら何でもやるように
- フロントだけとか特定の領域が特別好きとかなく、全部やりたいようにやっていたらいつの間にか全部やるように
- サービスのローンチからや、スタートアップと関わることが多いので、ちょっとできるだけで全部やることが多い
---
## これまでのキャリア
- 大学時代
- 学生団体の広報、ライター
- 個人ブログをWPでの運用
- 新卒時代(15卒):コーダーとしてフリーランス
- LP作ったり、WP作ったり
- リスティング広告を運用したり
- 受託会社に入社しバックエンド、インフラまで行う
- CakePHP/Jqueryを中心に10案件くらい開発
- AWSの運用
- CIがないなか、lint/自動テストを回せるCI環境を整えたり、自動デプロイ体制を作る
- Laravel入れたり、Reactを部分的に入れたり
- IOT関連スタートアップに業務委託→正社→業務委託
- Python、Golang、React、Swift、Ansibleといろいろ
- フリーランスに戻り、法人化
- ROXXは4年目、ポケットソムリエは3年目、シェアダインは2年目で基本的に長い関わり
---
## エンジニア人生の変遷とモチベーショングラフ
```mermaid
gantt
dateFormat YYYY-MM-DD
title エンジニア人生の変遷とモチベーショングラフ
section モチベ100
新卒フリーコーダー :active, 100-1, 2015-04-01,2015-09-30
SCOUTERローンチ :active, 100-3, 2016-01-01,2016-03-31
# 一人案件 :active, 100-2, 2016-04-01,2016-07-30
IOT開発に入社 :active, 100-4, 2018-01-01,2018-10-31
section モチベ75
受託会社JOIN :done, 75-1, 2015-10-01,2017-12-31
IOT開発にJOIN :done, 75-3, 2016-12-01,2017-12-31
ROXX再JOIN :done, 75-5, 2018-12-01,2022-04-13
ポケットソムリエJOIN :done, 75-6, 2019-10-01,2022-04-13
シェアダインJOIN :done, 75-6, 2021-03-01,2022-04-13
section モチベ50
法人設立 :50-2, 2020-10-26,2022-04-13
IOT開発に業務委託 :75-4, 2018-11-01, 2019-04-30
section モチベ25
大企業に派遣コーダー :crit, 20-1, 2017-04-01,2017-05-30
仕事がマンネリ化 :crit, 40-3, 2017-09-01,2017-12-31
section 状態
コーディング・マーケととにかく必死jQuery/WPくらいはできるように :active, active, 0-1, 2015-04-01,2015-09-30
バックエンドも含めた初開発 :milestone, active, 0-2, 2016-01-01,2016-03-31
# 一人暮開始 :crit, 0-3, 2016-03-20,2016-03-31
# 要件定義・開発一人でやるように :crit, 0-3, 2016-04-01,2016-05-31
暇すぎて個人開発 :milestone, crit, 0-4, 2017-04-01,2017-05-31
# AWSの構築 :done, 0-2, 2017-05-01,2017-08-31
レビューが辛いので、lintルール・CIを整備したり :milestone, done, 0-2, 2017-10-01,2018-01-31
単発じゃなく、保守・運用でプロダクト価値を高めたい :active, 0-2, 2018-01-01,2018-08-31
技術・チーム・フェーズなどそれぞれ違って楽しい :done, 0-2, 2018-12-01,2022-04-13
```
---
## 学びがない、暇なときこそ自らどうなっていきたいかを意識して学んでいく
- 受託会社で大企業にコーダーとして派遣に行ったときが、とにかく暇で、簡単すぎてつまらないから、何か新しいことを学びたい
- PHPだけではなく別の言語でも開発してみたい、SPAの開発もできるようになりたい
- Golang/Reactで個人開発を始めて、社内ツールとして運用を
- もっと効率よく早くコードを書けるようになりたい
- メインエディターをVimに移行
- モチベーションが一番低かったけど、一番技術的に成長できた
---
## 自分だけができても楽にならないし、チームで開発を楽するための仕組みを作るように
- レビューで簡単な指摘したくないからlint導入
- 動作確認面倒だから自動テストの導入
- デプロイ作業したくないから、CIで自動化
- yumコマンド何度も打ちたくないから、Ansibleで自動化やDocker化
- AWSコンソールでポチポチしたくないから、Terraformで自動化
---
## フルスタックでよかったこと、意識していたこと
- 仕組みで、チームの開発力を上げる
- フルスタックだから、全方面に目を向けて改善できるし、最適解を選べる
- 個人開発をする時は、常に本番を意識し、技術的な目的を持って作る
- 本番同様の構成をなるべく取ることで、全方面を学べる
- やれなくても困らないことはやらない、深堀りしすぎない
- 例えば、bundleの最適化とかはフロント専任の人がやればいい
---
## ターニングポイントで自分を支えてくれたもの
- ROXXのPOの小平と再ジョインする前にも、よくお互いの開発体制やツール・仕組みなどを話していて、良さそうなものは積極的に導入した
- シェアダインのCTOの和田さん数歩進んでるエンジニアとして、色々な話ができた
- 雑多にはてぶ・TW中心に毎日色々読んで、これいいな、やりたいなってのを導入した
- やりたいと思ったことを一緒に実践してくてた同僚たち
- NEO JAPONISM・SOL・マリオネ。・monogatari・Palette Parade
- 左利きのエレン・王様達のヴァイキング
---
## プロダクト価値を、自分の技術で早く、大きくしていくためにフルスタックに何でもやる
- フルスタックだから、他人任せではなく自分の力で開発を良くしていくことができる
- 早く大きくしていくために、チームの開発力を上げていく
- 何か変えたいを一緒に実践してくれるチームで働くこと
- 全領域にちゃんとアンテナ張り続けるのは無理なので、一定の取捨選択していく
---
## フルスタックエンジニアと働きたい人は一緒に働きましょう
どちらもフルスタックエンジニアもたくさんいる楽しい職場です。
---
## イベントレポート
- https://techplay.jp/column/1593
- https://www.youtube.com/watch?v=H5cHiWLt4BI
<div class="rec">
<div class="recChild">
<h3>
株式会社ROXX
</h3>
<p>
スクラムを通して、チームで改善していくのが楽しい開発チームです。
</p>
<ul>
<li><a href="https://techblog.roxx.co.jp/">ROXX開発者ブログ</a></li>
<li><a href="https://herp.careers/v1/scouter/requisition-groups/29e05866-7937-49e3-baed-9fee536e9ed7">開発の求人一覧 - 株式会社ROXX</a></li>
</ul>
</div>
<div class="recChild">
<h3>
株式会社シェアダイン
</h3>
<p>
様々な言語で開発していて、いろいろな技術的な挑戦がしやすい会社です。
</p>
<ul>
<li><a href="https://www.wantedly.com/projects/889108" >Go/Rust/Scala | フードテックサービスのリードエンジニア募集</a></li>
<li><a href="https://www.wantedly.com/projects/892250" >新規事業でゼロからサービス構築したいエンジニア募集</a></li>
</ul>
</div>
</div>
<style>
.container::before {
content: "#TECHPLAY";
position: fixed;
bottom: 8rem;
right: 3rem;
font-size: 9rem;
color: #ffff;
}
.present {
height: 100%;
overflow: scroll;
}
.rec {
display: flex;
justify-content: space-between;
}
.recChild {
width: 45%;
}
</style>