【Macセットアップ】WindowsからMacに開発用PCを移行時にしたこと

f:id:zoe302:20190425201449j:plain

いきなり本題ですが、最近業務で使っていたWindowsPCが古くなったので、新しくMacPCに新調してもらいました。

その際にMacPCでセットアップした内容を忘備録代わりに書いておこうと思います。

アカウント連携系

App Storeアカウント連携

もともと使ってたAppStoreアカウントがあったのでサインイン

カレンダー連携 Gmail

会社で使っているGmailでカレンダー連携しておくとカレンダーがMacのカレンダーで見れるので便利。

設定変更系

テーマダークモード

なんとなくかっこいいのでダークモードにする。 (ダークモードにするとChromeのプライベートモードと見分けがつかなくなる)

CapsLockをControlに変更する

設定 > キーボード > 修飾キー

で変更できる

キーリピートの設定

キーボードのキーを長押しにしたときの反応が遅いので設定

Spotlight検索のショートカットを無効化

IDEのショートカットと競合しやすいので無効化する。

f:id:zoe302:20190425200704p:plain

システム環境設定 > キーボード > キーボード(タブ) > キーのリピート > 速い f:id:zoe302:20190425192337p:plain

マウス左下でロック

画面の四隅にマウス持っていったときに指定アクションを実行できる設定。

左下で画面のロックができるように設定した。

システム環境設定 > Mission Controll > ホットコーナー

解像度

Macのモニタをそのまま使うと狭いので広く使えるように解像度を上げる

システム環境設定 > ディスプレイ > 解像度 > 変更 > スペースを拡大

トラックパッド

デフォルトだと鈍い(大きく動かさないと動かない)ので変更

システム環境設定 > トラックパッド > 軌跡の速さ > 速い

その他の設定は下記

f:id:zoe302:20190425192023p:plain

f:id:zoe302:20190425192042p:plain

f:id:zoe302:20190425192106p:plain

アプリインストール

よく使うアプリのインストールをする。 多いのでどこからインストールするとか使い方についてはここでは書かない。

Slack

言わずもがな。

Chrome

デフォルトブラウザをChromeに。gmail連携しておくとよく使うWebサービスや、拡張機能も同期できるので便利!

Clipy

クリップボード監視ツール。コピー履歴が取れる。 ※2020/07現在はalfredでできるので使用していない

※Alfled課金したらクリップボード監視機能も合ったから最近あまり使ってない。。

Alfred

便利。なんでもできる。課金した。

www.alfredapp.com

googleIME

デフォルトIMEが不安定だったので、導入した。とてもいい変換心地。

IntelliJ

最強のIDEIntelliJ設定については別エントリにまとめたい気持ちが高い。

cheatsheet

各アプリケーションのショートカットを表示できるアプリ。強い。たまに誤爆する。

Karabiner

キーボードの高等な設定ができる。 自分はもともとWindowsで右Altに変換を割り当てていたので、それと同じ使い心地にするべく導入。 karabinerを入れて右commandで入力切替できるようにした。

f:id:zoe302:20190425193744p:plain

f:id:zoe302:20190425193814p:plain

f:id:zoe302:20190425193725p:plain

Iterm2

特に深い理由はないがデフォルトのものより使い勝手がいいので入れている。特に反転した文字が自動でコピーできるのが強い(Command+Cを押す必要がない)。がiterm2で単語移動をするためには少し設定が必要なので要設定。

参考:

qiita.com

※2020/07現在はhyperを使用している。

hyper.is

Docker for Mac

正直このPCでは今のところ使っていない。がいずれ必要になるかもしれないので入れている。 いれたらBash Completionの設定もしておこう

参考:

uorat.hatenablog.com

Sequel Pro

MySQLGUIクライアント。正直CUIで操作することが多いんですが、テーブル数が多いときや、いろんなDB見たりするときなどはGUIが見やすくて便利だったりするので、入れてます。

※2020/07現在はDBeaberを使用している。

Dockの整理

自分はDockにごちごちゃアプリがあるのがきらいなので不要なものは消す。

CLI操作系

いよいよCLI系の設定周り。

brewインストール

Macのパッケージ管理ソフト。いろいろ入れるのに必須なので入れよう。 入れ方は公式に書いてあるのでそれを参照のこと。

公式: brew.sh

htop

topコマンドをグラフィカルにしたもの。見やすいの入れておくとよい。

bash_completion

補完を使うために必要なパッケージ。自分は何のコマンドも満足にタイプできないのですべて補完だよりなので必須。

参考:

mawatari.jp

鍵の生成と各種サービス、サーバに登録

Macで使うようの鍵の生成を行い各種サーバやサービスに登録していく。

keyの生成はこちらのコマンドを基本的に使っている

gist.github.com

dotfilesの反映

自分の使っているdotfilesの反映。dotfilesとは . ドットから始まる各種設定ファイルを管理するレポジトリ、またはそれをセットアップできるように自動化されたもの。

私のdotfilesはこちら

github.com

DLディレクトリ掃除バッチ

DLディレクトリに重要なものとそうじゃないものが溜まっていくのがつらすぎるので定期実行で削除されるようにした。 下記のような感じで定期的にDownloadsディレクトリ配下のものを/tmpに移動させて削除するようにしています。

#Download file move /tmp
0 18 * * * mv /Users/{userName}/Downloads/* /tmp

※ちなみに/tmpは3日間アクセスが無かったものは削除されるらしいです。

www.d-wood.com

最後に

今回の記事はほぼ自分の移行用メモを揮発しないようにブログにまとめただけなので、あまり参考になるかわからないですが、少しでも役に立てれば嬉しいです。

また、もっとこの設定やアプリ便利だよ、というご意見もお待ちしております!

ペチコン仙台に行ってきた

f:id:zoe302:20190126154613j:plain

PHPカンファレンス仙台

去年の年末のペチコンに出た時に存在を知り、仙台出身なので秒で参加登録しました。

phpcon-sendai.net

当日

セッション

聴講したセッションについて聴きながらツイッターにメモを取っていたのでまとめていく。

AWSWordPressのスケールアウト (金澤 裕毅 / ランサーズ株式会社)

資料:

独立したコアレイヤパターンによる PHP アプリケーションの実装 (新原雅司)

資料:

(ランチセッション) ランチセッション: オミカレを支えるチーム開発 ~ プロダクトを支える文化 ~ (高橋 一騎 / 株式会社オミカレ)

資料:

(ご飯に夢中でメモ取ってなかった、、)

チーム開発はコミュニケーション大事ですよね、複数の勤務地でも円滑にコミュニケーションとるためにスラックボットをうまく使ってコミュニケーションを円滑にしたよ、という感じの内容でした。

再発防止策を考える技術 (杉浦 颯太 / 株式会社メルカリ)

資料:

PHPではじめるCQRS (丹賀 健一 / 株式会社インフィニットループ)

資料:

ブース回ったりとか

その他資料

2018年買ってよかったものランキング

この記事は Willgate Advent Calendar 2018 の1日目の記事です。

アドベントカレンダーが19日に突然できたので、一周回って埋めなおしている事実は秘密です。


さて12月に入って、いよいよ一年が終わるんだなという感じですね。

ということで、今回は一年の振り返りを含め今年購入したもので、買ってよかったものを紹介して行きたいと思います。

[一位] FireHD10

私はスマホはIPhone7なのですが、ゲーム専用機として購入しました。ゲーム中に通知などがでるのが本当にストレスだったので、、

私はとある方法で、GooglePlayStoreをインストールして利用していますが、普通に新しいゲームでもサクサク動くので、コスパはとても高いと思います。

Fire8も持っていますが、それよりも動作はとてもサクサク動きます。

[二位] ケーブル結束バンド マジックテープ マジックバンド ケーブルコード

私はガジェオタに近いのですが、色々なガジェットの充電や配線がとても気になるタイプで、収納の際もコードがぐちゃぐちゃになってしまうのにとてもストレスを感じてました。そんなところにこの商品を見つけ、配線ストレスから解放されました。

配線をまとめるために結束バンドなどを使う人も少なくないとは思いますが、これは言うなれば再利用可能な結束バンドというところですね。

[三位] E-WIN ゲーミングチェア パソコンチェアー CL-BG1C (グレー)

長時間デスクワーク(ゲーム)をするにはちゃんとした椅子が必要ですね。これを使うようになってから腰が痛くなくなりました。

[四位] LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応

LG製の4Kモニター、めっちゃ最高。これでPS4のゲームやアニメをみています。開発も効率よく進んでる気がしますw

[五位] HHKB BT 無刻印

エンジニアとして一度は夢見るHHKBのBTモデルです。会社で使ってますがとても使い勝手がいいです。特に自分の場合会議で離席することも多いのでコードレスの方が使いやすくて便利です。充電も2〜3ヶ月に一度くらいしかきれません。一つ難点をいうとするとHHKBが悪い訳ではないですが、Windowsとの最初のペアリング時に少しコツが必要で、「プリンタとデバイス」から新規デバイス追加でペアリングしないとできないことがありました。

[六位] LANCERTECH NiZ ATOM 66 キー 静電容量無接点方式 USB/Bluetooth 4.0両対応 消音 35g荷重 デュアルFNキー 超コンパクト Type-C充電 プログラマブル 英語配列

NIZと呼ばれるキーボードです。おそらく私が知っている限り静電容量無接点方式でBT対応しているものの中で一番コスパ高いです。

正直打鍵感はHHKBまでには及ばないもののBTの機能に関してはHHKBのそれを軽く超えるほどの性能と機能を持っています。HHKBは接続一つまで記憶、こちらは3つまで同時に記憶可能。

Windows専用のソフトを使えばキー配置も自由に変えられ、かつキーボードが記憶するので、Macでもそのまま使用可能。若干癖はあるものの安いので一度買ってみても損はないかも。

[七位] Apple Magic Trackpad 2

トラックパッドです。いうまでもありませんが、めっちゃ便利です。充電も全然きれません。Mac利用している人は一度買ってみてもいいかと思います。

[八位] SanDisk microSDXC ULTRA 128GB 80MB/s SDSQUNS-128G Class10 サンディスク

128GBのマイクロSDカードです。10年前くらいは同じ値段で8GBとかだったんですがね、、技術の進歩はすごいですね。

これは特にお安いのでおすすめです。利用も問題なくできています。

[九位] ツインバード スロークッカー ブラウン

スロークッカーです。ツイッターで話題になってるのをみて購入してみましたが、本当に楽に料理ができてめちゃ便利です。お手軽に煮込み料理ができます。

[十位] ナイスデイ 敷きふとんカバー グレー シングル マイクロフリース あったか フィットゴム式

めっちゃふかふかな布団カバーです。気持ちよくあったかく眠れます。そんなことより私はこのゴム式の布団カバーを初めて知ってつけるのがめっちゃ楽なことに感動してしまいました。

[おまけ1] 4ポートHDMI USB KVM 自動切替器 1080P Windows 2000 / XP / Vista/ LinuxおよびMac対応

ディスプレイの切り替え装置です。ガジェオタなので、PC2台、タブレットNintendo SwitchPS4を一台のモニターでやるために購入しました。

ボタン一つで切り替えできるのでとても楽です。ガジェオタなら買って損はないはず。

[おまけ2] TIORU バスタオル 大判 4枚セット マイクロファイバー タオル コットン 肌触り抜群 ふわふわ 70×140cm 吸水速乾抗菌

たかがタオルだと思うかもしれませんが、入浴後の拭き心地は最高です。高級ホテルに行った気分になれます。しかも一度撫でるように拭くだけで完全に水分が取れます。

PHPerでも使えるMakefileのあれこれ

f:id:zoe302:20181224174614p:plain

この記事は Willgate Advent Calendar 2018 の21日目の記事です。

前日は cocoeyes02 さんの 「業務で初めてブラウザE2Eテストを触ったので、つまづいた点と対処した方法を書きます」 でしたがまだ投稿されていないようですね。。


みなさん Makefile 書いてますか?僕は Makefile 好きなのでよく書いてます!

自分はよく書くことが多くスムーズにかけるのですが、経験が少ない人にとってわかりづらいことも多いかと思います。

なので、この記事では Makefile でよく使う書き方の紹介をさせていただきます。

Makefile の役割

書き方を紹介すると言いましたが、そもそも Makefile の役割を先に解説します。

make はもともとプログラムのビルド作業を自動化するツールとして作られました。

make ではその目的のために

ということができます。

ファイルの生成

先ほど書いた通り、ビルド自動化のツールとしてルールに乗っ取ってファイルを生成することができます。またルールのことを Make ではマクロと呼びます。

具体的には下記のような形です。

$ cat Makefile
hoge.txt:
    touch hoge.txt
$ make hoge.txt
touch hoge.txt
$ ls -al hoge.txt
-rw-r--r--  1 zoe  wheel  0 12 24 16:29 hoge.txt

Makefile ではインデントはタブ文字出ないとエラーになるのでご注意を。

このように、

Makefile

{生成したいファイル名}:
    {任意のコマンド}

と記述することで make {生成したいファイル名} とコマンドを実行することで Makefile で記述した {任意のコマンド} が実行される。

また、すでにファイルが生成済みのルールは実行されません。

$ make hoge.txt
make: `hoge.txt' is up to date.

これは、最初に話したようにビルド自動化のためにできたツールであるため、すでにビルド済みのものを再度ビルドするのを防ぎ時間の短縮のための機能です。

依存関係

fileA を生成する前に fileB を生成しておく必要があるとします。その場合下記のように書くことで自動で依存解決をしてくれます。

$ cat Makefile
fileA: fileB
    touch fileA

fileB:
    touch fileB
$ make fileA
touch fileB
touch fileA

また、この場合でも先ほどと同様にすでにファイルがある場合は更新されません。

しかし、この際に依存しているファイルの更新日時の方が新しい場合は、再度実行されます。

$ ls -al file*
-rw-r--r--  1 zoe  wheel  0 12 24 16:44 fileA
-rw-r--r--  1 zoe  wheel  0 12 24 16:44 fileB
$ touch fileB
$ ls -al file*
-rw-r--r--  1 zoe  wheel  0 12 24 16:44 fileA
-rw-r--r--  1 zoe  wheel  0 12 24 16:49 fileB
$ make fileA
touch fileA
$ ls -al file*
-rw-r--r--  1 zoe  wheel  0 12 24 16:49 fileA
-rw-r--r--  1 zoe  wheel  0 12 24 16:49 fileB

ファイル生成しないマクロ

下記のようなコマンドとして使うことを想定したマクロ定義をしてみます。

$ cat Makefile
fileA: fileB
    touch fileA

fileB:
    touch fileB

clear:
    rm -rf file*
$ ls -al file*
-rw-r--r--  1 zoe  wheel  0 12 24 16:49 fileA
-rw-r--r--  1 zoe  wheel  0 12 24 16:49 fileB
$ make clear
rm -rf file*
$ ls -al file*
ls: file*: No such file or directory

このようにファイルを生成しないマクロを定義することもできます。

しかし一つ罠があります。 もともと Make はビルド自動化のためのツールでファイル生成するのが役割と伝えたように今回の make clear も Make からするとファイル生成のマクロと同じ扱いのため、下記のような問題が起きてしまいます。

$ make fileA
touch fileB
touch fileA
$ touch clear
$ ls -al
-rw-r--r--   1 zoe   wheel    69 12 24 17:08 Makefile
-rw-r--r--   1 zoe   wheel     0 12 24 17:11 clear
-rw-r--r--   1 zoe   wheel     0 12 24 17:11 fileA
-rw-r--r--   1 zoe   wheel     0 12 24 17:11 fileB
$ make clear
make: `clear' is up to date.

clear というファイルが仮に存在してしまうと make clear はファイル生成のマクロではないのに、実行できなくなってしまいます。

これを回避するためには、このマクロはファイル生成のマクロではないですよということを Make に伝える必要があります。

$ cat Makefile
fileA: fileB
    touch fileA

fileB:
    touch fileB

clear:
    rm -rf file*
.PHONY: clear
$ make clear
rm -rf file*

PHPでどういう場面で使うの?

私がPHPのプロジェクトでよく使うものとしては下記のようなものを作ることが多いです。

setup: vendor .env
.PHONY: setup

vendor:
    composer install --no-interaction

.env:
    cp .env.example .env

test: vendor .env
    vendor/bin/phpunit -c phpunit.xml
.PHONY: test

lint: vendor .env
    vendor/bin/phpcs --standard=phpcs.xml --extensions=php
.PHONY: lint

プロジェクト初期設定用の make setupvendor .env のマクロを実行し必要ファイルをセットアップ。

make lintphp の linter である phpcs を実行、 make testphpunit を実行するように設定されています。

また必要なコマンド一式を Make に書いておくことで、このプロジェクトではこういう技術が利用されている、この設定が必須だ、ということをプロジェクトメンバーに伝えやすくなるため、おすすめです。

まとめ

いかがでしょうか?今回紹介したもの以外にも make の便利な機能もあったりしますので、気になった方はドキュメントも参照してみてください。

また、php以外でも私はdockerやgolangなどのラッパーやプライベート開発のサービスのデプロイコマンドだったり、CIなどからのコマンドのAPIとしても利用したりしています。

私のdotfilesが火を噴くぜ

この記事は Willgate Advent Calendar 2018 の21日目の記事です。

前日は okashoi さんの どうして Util / Common クラスはよくないのか? でした!


みなさん、サーバの個人設定ファイルの管理どうしていますか?え、サーバ以降の度に scp している?それはいけませんね。急にサーバ死んだら復旧できませんし、複数サーバに設定ファイル反映するの大変ですよ。

ということで、今回は dotfiles と呼ばれているものを紹介したいと思います。

dotfiles とは

dotfiles と大層な名前をつけていますが、言ってしまえば、 . から始まる個人設定のファイル群をgitで管理しましょうよ 。というものです。

なので、特別なツールの導入とかはありません。ただ、サーバに反映しやすいように一工夫している人もいたりしますので、そこらへんも少し踏まえて説明させていただきます。

そんなことはいいからお前の dotfiles みせろ

github.com

構成

$ tree ./
./
├── Makefile
├── README.md
├── bin
│   └── Makefile
└── etc
    ├── config
    ├── cron
    │   └── crontab
    └── init
        └── init.sh

仕組み

README.md に書いていますが、git リポジトリに管理されている /etc/init/init.sh を実行することでサーバ上の環境設定をしてくれるように設計しています。

ここでやっていることは、

git clone git@github.com:IkezoeMakoto/dotfiles.git
make -C dotfiles deploy

が大事な部分です。git 上から clone してくるのと make deploy を実行すること。

make deploy

make deploy が実行されると下記のターゲットが実行されることになります。

deploy: ## Create symlink to home directory
        @$(foreach val, $(DOTFILES), ln -sfnv $(abspath $(val)) $(HOME)/$(val);)
        $(MAKE) install
        $(MAKE) cron/set

ここの $(DOTFILES) は

CANDIDATES := $(wildcard .??*) bin
EXCLUSIONS := .DS_Store .git .gitmodules .travis.ym .gitignore
DOTFILES   := $(filter-out $(EXCLUSIONS), $(CANDIDATES))

で解決された . で始まるファイルたちが対象になり、シンボリックリンクが貼られホームディレクトリに設置されるようになっております。

このため、変更時にホームディレクトリの . から始まるファイルを編集したとしても、すぐ git commit && git push できる仕組みになっています。

綺麗にするコマンド

そのサーバから綺麗さっぱり無くしたいという時もあるでしょう(退職時や、サーバを譲渡するときなど)、その際は make clean というターゲットを使うことで、設定していたシンボリックリンクを綺麗に削除してくれます。

まとめ

時間がなかったので、少し駆け足になってしまいましたが、いかがでしたでしょうか?

自分専用の設定ファイルなどにこだわるひとであれば、このようなバックアップ、設定反映のための手段も一緒に導入しておくと、いろんな環境で作業でき、利便性も上がるので是非設定してみてください。

Docker で Golang の開発環境を整えてみた

この記事は Docker Advent Calendar 2018 の21日目の記事です。

前日は jin_yokoyama さんの Elastic Stackで簡単!Dockerコンテナ監視ダッシュボード作成 でした!


f:id:zoe302:20181220220023p:plain

こんにちは、みなさん Docker 活用してますか?

私はもっぱら開発環境として Docker を利用しています。

普段業務では PHP を触ることが多いのですが、プライベートの開発では Go の開発などもやっています。

そこで今回は私が普段 Go の開発環境として使っているものをご紹介したいと思います。

コード

解説より先に実物を見たい方はこちら

github.com

解説

この開発環境では下記のようなディレクトリ構成になっています。

$ tree ./
./
├── Makefile
├── README.md
├── docker-compose.yml
├── go
│    ├── Dockerfile
│    ├── Makefile
│    └── main.go
└── run
    └── Dockerfile

./Makefile

このファイルは docker-compose のラッパーとして存在しています。Go をビルドして実行したいときには make up と実行するとまるっと実行してくれます。

./docker-compose.yml

今回の構成では Go のビルド用のコンテナと実行用のコンテナを分けています (multi-stage-build)。これらのコンテナを管理するために利用しています。

./go/

Go のビルドをするためのディレクトリ及び、Go のソースコードを管理しているディレクトリです。

./go/Dockerfile

Go のビルド用の Dockerfile です。

./go/Makefile

Go のコマンドのラッパーです。Dockerfile からのインターフェースとなるように設計しています。もともと Makefileコンパイルの自動化、依存解決に強いツールなので、Go のコンパイルととても相性が良いです。

./go/main.go

Go のコードです。今回は hello world するだけのコードを置いてます。

./run/

コンパイルした Go のバイナリファイルを設置して起動する用のディレクトリです。

./run/Dockerfile

ベースイメージは busybox を使って、multi-stage-build (COPY --from={image名}) を使ってビルドしたgoのバイナリファイルを取得して設置、実行しています。

利点

この設計にしておくことで run のコンテナイメージを共有することですぐに動く環境を共有することができ、かつベースイメージが busybox のためとても軽量で済みます。(今回の内容では3MBのイメージになりました!)

また、Go のコマンドを実行したい際には make run CMD='go fmt main' のようにすることで実行することができます。ファイルもマウントされているため、 go fmt で直ったものがホストマシンにも共有されます。

まとめ

Docker, Docker-Compose をうまく活用することで簡単に環境に左右されない開発環境を構築できるのはやっぱりとても楽ですね。

皆さんもこの機会にDockerで開発環境構築してみてはいかがでしょうか。

【随時更新】PHPカンファレンス2018参加した

2018/12/14 PHP カンファレンス2018に参加したので聴講したセッションを雑にまとめていきます。

phpcon.php.gr.jp

スライドまとめ

PHPの今とこれから

PHP5系のサポート終わるよ、アップグレードしようね。PHP7.0ももうサポート切れたよ。

ヒアドキュメントの改善のはなし、mbstringのはなし

  • PHP7.3の新機能
    • csrf対策デフォルト対応
    • is_countable()関数追加
    • 関数の末尾カンマ対応

php7.4開発していくよ プリロードして応答速度早くするよ、プロパティtyの型を設定できるようにするよ

[Track 4] 独立したコアレイヤパターンによる PHP アプリケーションの実装

[スライド後で張る]

Webサービスが解決したい課題のシステムとWebシステム自体はドメインが別だから分けた方がいいよね

レイア分けが薄いとファットコントローラ、もしくはファットモデルになりやすい

ユースケースをサービスレイアに分けると、肥大化したモデルのビジネスロジックをきりだせる!すごい!でも、完全には切り出せないことが多い、、

レイアードアーキテクチャを採用してみよう、レイアが細かく分ける手法が多いのでうまく分割しやすい、がドメインレイアの設計分析が大変、、、サービスによってはミスマッチになりうる

そこで、whatとhowをレイアとして分割して実装していく、コアレイアはフレームワークに依存しないようにDIP 等を使って設計していく。

こうすることで、フレームワークが変更なったとしても、問題ない。

なぜなら私たちは、「FW をうまく扱いたいのではなく、アプリケーションをうまく作ることなんだ」

[Track 2] 継続的なバージョンアップのためのテスト戦略 〜自動テストの導入とコンテナ化〜

自動テストを導入することで、段階的なリリースができるようになり、段階的なリリースができるようになった。

段階的なリリースができることで細かいバグに気づけるようになった。

テストの方法について、どういうテストはいやか、から考えていった。

Codeception いいぞ。

[Track 3] アーキテクチャ設計とUX設計は同じなのか!!?? 企業ブース回ってました

[Track 2] php-fpm をもっと理解しよう

php-fpmのステータスを見ながらプロセス制御の数を見てみた。staticやdynamicやondemandの違い。

大体知ってる内容だったけど、すごいまとまっててよかった

[Track 5] レビューで初心者インターンを一人前に育てた話

社員16でインターン40人でどうやって回していったかというような話

インターンの志望動機の100%が自己成長のためだった!

教えるなんておこがましい、成長をアドバイスできる立ち位置で居続けるのが大事。ネガティブなFBを恐れずに行動がポジティブになるようFBすること。

失敗したときに振り返り+ネクストアクションを伝える。

応援されてることを知ってもらう。応援し合える関係を作り出す。

コミュニケーション回数を増やす、分報や、1on1など

分報チャンネルに検索ワードを貼り付けておく。すると先輩が細くしたり説明してくれたりする。

その場でペアプロで修正して教えてあげたり。

関係性の構築、明確に伝達、結果を共に確認。

インターンだけじゃなくてチーミングに共通する話だなぁ。

[Track 1] Webサービスを育てるための組織作りと文化作り

Webサービスは生き物のように変化していく、想定している変化想定していない変化がある。それに対応できるように、それを育てるチームの成長が求められる。

組織がチームの文化(カラー)を作り、チームがサービスを作る。

コンウェイの法則と同じでいいチームがいいサービスを作れる。

組織はマネージャーが変えられる。

文化はプレイヤーから変えられる。

「適切な問題が生まれれば自然と解決する人が生まれる」ので、正しく課題を分割することが大事。

成長するためには、できる限界の少し上をやっていくこと。

マネージャーの本質は課題提供すること、プレイヤーの本質は課題解決すること。