青空(開発合宿 3日目)

今日は快晴で、きれいな青空が広がっています。

3日間あった開発合宿も、いよいよゴールが近づいてきました。

f:id:kokuyouwind:20180720075727j:plain:w300

というわけで、開発合宿3日目、最終日です。

2日目の記事はこちら。

tech.misoca.jp

今日は午前中に開発を仕上げて、午後に成果発表会をして帰途につくというスケジュールです。

引き続き、リアルタイムで更新していきたいと思います。


(7:00 @kokuyouwind)

みなさん ! おはようございまーっす♪

今日も一日、元気いっぱいがんばろー ! #黒曜bot


(8:55 @corocn)

めっちゃ天気良くて、朝食会場から対岸の渥美半島が見える!

大根おろしとなめ茸和えると美味しいですよね。


(9:10 @kokuyouwind)

チェックアウト準備を済ませて会議室に来ました。

まだ全員揃っていないですが、最終日の開発スタート。

f:id:kokuyouwind:20180720091442j:plain:w300

13:30からの成果発表会に向けてラストスパートです。


(10:30 @mugi_uno)

@corocn: pushしたので最新取り込んでくださいよ〜
@mugi: NoMethodErrorって出てますよ
@corocn: あ、はい。&をつけてください
@mugi: バグじゃん!!

f:id:mugi1:20180720103014p:plain:w300

果たして午後の発表の結果やいかに...!!!


(10:35 merotan)

いやあーーーーーー

LIFF難しかったけど完成したんで完成ですね。

外も綺麗なんで完成ですよ

f:id:renya-mizuno:20180720103909j:plain:w300


(10:42 こまたつ)

できた!!!1できました!!!!!!!!


(11:00 @kokuyouwind)

Heroku USリージョンで立ち上げててレイテンシが結構あったので、このあいだ東京に来たAWS Fargate使って立ち上げようと試みています。

が、設定項目多くて難しい… ダメそう…


(11:30 @kokuyouwind)

Fargateで起動はできたんですが、HTTPSの設定とかDNSの設定とか考えるとどう考えても間に合わないので諦めました。

イヤッッホォォォオオォオウ!Heroku最高ー!!


(12:00 @corocn)

完成したので実質優勝


(12:15 @kokuyouwind)

他のメンバーはお弁当ですが、自分とmizukmbは外にご飯を食べに来ました。

f:id:kokuyouwind:20180720121810j:plain:w300

サイコロステーキランチ、優勝です。

f:id:kokuyouwind:20180720121837j:plain:w300


(13:11 oosawatechnica)

1時半からついに成果発表会です!Misoca及び、弥生に発表の様子が生配信されます。 本当はブログ閲覧者の皆さんにもお見せしたいけど、それは厳しいのでチームと発表内容を共有しますね!

開発合宿チーム紹介(および発表順)

1:Team 神

f:id:oosawatechnica:20180720131312j:plain:w300

チーム名由来

神がいるから

チームメンバー

開発テーマタイトル

取引先の入力簡単にするよ

開発内容とかいきごみとか

請求書作る時とか、請求先の名前とか住所とかの入力するのめんどくさくないですか?私はめんどくさいです。

ところで、国税庁が法人の名前とか住所とかって全部公開してるんですよね。 (https://www.houjin-bangou.nta.go.jp/download/

合宿の神は閃いた、富山の民よ、これで入力支援機能を作るのじゃ...!

2:シュッとしたやつ作るぞチーム

f:id:oosawatechnica:20180720131346j:plain:w300

チーム名由来

いい感じにシュッとしたやつ作る

チームメンバー

開発テーマタイトル

OCRで名刺をディープラーニングしてバーン

開発内容とかいきごみとか

TesseractというオープンソースのOCRを使って名刺や請求書に書かれた請求先情報を読み込み、取引先として登録できるようにする機能(いい感じにシュッとするやつ)を作成します

3:黄緑㌠

f:id:oosawatechnica:20180720131413j:plain:w300

チーム名由来

ちひろ LINEのアイコンが黄緑色なので

チームメンバー

開発テーマタイトル

LIFFアプリ

開発内容とかいきごみとか

黄緑㌠では、2018年6月6日に発表されたばかりのLINE Front-end Framework(LIFF)を使ってアプリを開発しました。 LINE内から離れることなく、グループトークに請求書を直接共有することができるようになっています。


(14:25 merotan)

くぅ~疲れましたw これにて完結です!

f:id:renya-mizuno:20180720142648p:plain:w300

ぼくのコミットがクソ


(14:45 @kokuyouwind)

成果発表会も終わり、これから名古屋に帰ります。

3日間お世話になった明山荘さんともお別れです。

f:id:kokuyouwind:20180720144904j:plain:w300

改めてまとめ記事を書きたいと思いますが、実況としてはここで一段落です。

お疲れ様でした!

鳥の詩(開発合宿 2日目)

近くの公園に行ったらカラスがいました。 多分そらだと思います。(雑なタイトル回収)

f:id:kokuyouwind:20180718224845j:plain:w300

というわけで、開発合宿2日目です。

1日目の記事はこちら。

tech.misoca.jp

昨日に引き続き、今日もリアルタイムで更新していきたいと思います。


(6:00 @corocn)

おはようございます!

と言いつつ朝までぐっすりしました。 私はもうおじいちゃんなので毎朝5時半に起きてます。

朝風呂最高だったので、今日も1日頑張れるゾイ!


(7:00 @kokuyouwind)

みなさん ! おはようございまーっす♪

今日も一日、元気いっぱいがんばろー ! #黒曜bot


(7:30 id:mizukmb)

おはようございます。

起きたらみんな朝食バイキングに行ってて部屋に誰もいませんでした。


(8:20 @mugi_uno)

合宿神の朝は早い

f:id:mugi1:20180719082750j:plain:w300


(8:52 @oosawatechnica)

今日の午前中はどうしても出社してやらなくてはならない仕事があったので合宿神よりも先に起きて名古屋に戻りました。 すると私の机の上にこれが…

f:id:oosawatechnica:20180719085442j:plain:w300

@mzpはもういないんだなあ…


(9:10 @kokuyouwind)

開発メンバーが全員会議室に揃いました。

2日目の開発開始です!

各チームのテーマはこちら。

f:id:kokuyouwind:20180718123403j:plain:w300


(9:40 @kokuyouwind)

右のチームから聞こえてきた会話

「何やります?」「今日で完成させます」「じゃあ僕はビルド通るようにしますね」

前のチームから聞こえてきた会話

「曖昧だけどあんまり曖昧じゃない検索にしたい」

みんな暑さで頭やられてない???


(9:45 id:mizukmb)

今度は下にズレてきた

f:id:mizukmb:20180719094755p:plain:w300


(9::55 merotan)

BGMほしいよね〜って言ってたら割と小さめの音量でT.M.Revolutionが流れ出して、集中できないということで速攻で停止された


(12:00 @kokuyouwind)

LIFFチーム、欲張ってフロントエンドをVue Routerにしたら何も描画されなくなってつらい感じになっている。

LIFFアプリからだとコンソールが見れないので、ひたすらトークルームにデバッグメッセージを流している。

f:id:kokuyouwind:20180719120728p:plain:w300

古き良きprintfデバッグ感…


(12:20 @kokuyouwind)

さようならVue Router、いままでルーティングをありがとう


(13:00 @mugi_uno)

辰巳というお店にランチを食べにきました!

海鮮丼越しの合宿神です。


(15:10 @kokuyouwind)

ご飯を食べて、かき氷を食べて、お散歩して帰ってきました。

午後の部も頑張るぞ!(遅)


(15:20 @kokuyouwind)

LIFFアプリチームの進捗です

f:id:kokuyouwind:20180719153301p:plain:w300


(15:36 oosawatechnica)

名古屋で割と重要目な仕事を終えて合宿に再合流!…の前にかき氷。 Cafe さかゑやさんのいちごかき氷です! 蒲郡産の凍らせたいちごといちごシロップがかかってます。

f:id:oosawatechnica:20180719153739j:plain:w300


(15:45 id:mizukmb)

直りました

f:id:mizukmb:20180719154958p:plain:w300


(16:21 corocn)

これから開発用DBを破壊します


(16:25 merotan)

合宿神の朝は早い

f:id:renya-mizuno:20180719162841j:plain:w300

「合宿は遊びじゃないんで...」そう言い残し、彼は開発用DBを破壊した。

f:id:renya-mizuno:20180719162758j:plain:w300


(17:30 @kokuyouwind)

LIFFアプリチーム、だいぶ動くようになってたのに少し弄った瞬間全てが動かなくなり、いろいろログを仕込んだけどわからなくなっためろたんの図。

f:id:kokuyouwind:20180719173256p:plain:w300


(18:00 @mugi_uno)

外部サービスのメンテナンスとともに散っていった勇者達です

f:id:mugi1:20180719180856j:plain:w300


(18:10 @kokuyouwind)

我々LIFFアプリチームではHerokuで開発をしています。

f:id:kokuyouwind:20180719181036p:plain:w300

f:id:kokuyouwind:20180719181024p:plain:w300

終了〜〜〜〜〜〜〜〜〜


(19:45 @k0matatsu)

f:id:komatatsu:20180719194936j:plain:w300

アイスを丸くとるのが上手い という褒められを得ました


(21:25 merotan)

ほし…きれい…

f:id:renya-mizuno:20180719212322j:plain:w300

雲が分厚くて、おまけに月がめっちゃ明るかったのであまり見えなかった…

f:id:renya-mizuno:20180719212824j:plain:w300

ちょっと分かりづらいんですが、真ん中の点が火星のはずです。

僕がそう思うので間違いないです。


(21:30 @kokuyouwind)

めろたんと一緒に星を見てきました。

「あれがデネブ、アルタイル、ベガ」って指さしたり、双星の写真を撮ったりしようと思ったんですが、雲が多くて星の判別が全然つかず。

月の入りが23時過ぎなので、その頃合いに雲が捌けてたらリベンジしたい。


(22:15 @kokuyouwind)

部屋のテレビでデレステMVを流しながら作業をしています。

f:id:kokuyouwind:20180719221654j:plain:w300

とはいえめろたんとnaoが頑張っててやることがなくなってきたので、とりあえず明日の発表用にVysorをセットアップしてデモを配信できるようにしたりしてます。


(23:50 @kokuyouwind)

温泉から上がりました。

LIFFアプリの基本機能は仕上がってきたので、ここからブラッシュアップをかけていきます。

夜はこれからだ!


(24:15 id:mizukmb)

温泉から上がり、コードを読み直したらおかしな点がたくさん見つかったので修正しました。温泉に入るとコードが良くなるのでおすすめです。


(24:30 @k0matatsu)

とても眠いです


(25:00 @mugi_uno)

明日が発表ということで、ラストスパートをかけている合宿神です。

私もとても眠いですが、せっかくなので気合いで頑張ってます

f:id:mugi1:20180720010625j:plain:w300


(25:55 id:mizukmb)

おやすみなさい


(26:15 nao)

キリが良いので寝ます!

おやすみです👋


3日目の記事はこちら。

tech.misoca.jp

夏影(開発合宿 1日目)

夏真っ盛りですね。 夏といえば海、そして開発合宿です。(雑なタイトル回収)

f:id:kokuyouwind:20180718125621j:plain:w300

というわけで、ただいまMisocaの有志で2泊3日の開発合宿に来ています。 場所は蒲郡のホテル明山荘

f:id:kokuyouwind:20180718122925j:plain:w300

山の中腹にあって三河湾の見晴らしも良い絶好のロケーションです。

今回はリアルタイムに更新をしていく実況形式を試してみようと思います。


(13:00 @kokuyouwind)

午前中に電車で宿に移動し、お昼ご飯を食べ終わったのでいよいよ開発開始です。

集まって開発をするために借りた会議室は、ホワイトボードやスクリーンもあり設備が整っていました。 今回は8人で来ていますが、20人くらいまでなら余裕を持って使えそうな広さです。

f:id:kokuyouwind:20180718123529j:plain:w300

会議室にはWi-Fiもあり、上り下りとも40MB前後とそこそこ高速です。

f:id:kokuyouwind:20180718124854p:plain:w300

ただし暗号化されていないので、可能ならend-to-end SSLを使ったほうが安全かもしれません。 どのくらい速度が出るかわからなかったため、今回はポケットWi-Fiもレンタルしています。

今回の合宿では3チームに分かれて開発を進めています。

f:id:kokuyouwind:20180718123403j:plain:w300

進捗があるたびにこの記事を更新していく予定です。

お楽しみに!


(14:30 komatatsu)
アイスが食べたかったのでマルケーに来ました

f:id:komatatsu:20180718143251j:plain:w300

やってないみたいですね...


(15:00 id:mizukmb)

Android の機能開発をしています。 Android 初心者なので同じチームの id:komatatsu さんに教わりながら進めています。

f:id:mizukmb:20180718151120p:plain:w300

ボタンのレイアウトが崩れてるのが気になる……


(15:15 corocn)

左前のチームから「ボタンの位置が崩れてる!!許さんぞ!!」という声が聞こえてくる

こわい...

右前のチームから「jQuery最高!!!!」という声が聞こえてくる

暑さのせいかな...


(15:31 oosawatechnica)

引率で来ている oosawatechnicaです。

昨年の合宿は下見をせずに行ったので色々と想定外のことが起こって、それはそれで楽しかったのですが開発合宿としてはなかなか厳しいものがあったので、今年は5月に私が下見に行き、ホテルのご担当の方と色々とお話させていただいて決めました。

そのおかげか、きちんと準備していただいていて、ちょっとしたことがすごく嬉しい〜!

f:id:oosawatechnica:20180718110039j:plain:w300

会議室もきちんと準備してくださっていて、フリーのお水と温かいお茶が無限出てくるセットアップもしてくださっていました。 みんなでワイワイやってます。

f:id:oosawatechnica:20180718153006j:plain:w300

一方私は冷房が苦手なのもあり、ロビーのソファで一人でお仕事をしています。

ふと窓の外を見ると…あれはなんだ?🤔

f:id:oosawatechnica:20180718153112j:plain:w300


(15:40 @mugi_uno)

富山から来てる@mugi_unoです。

ElasticSearchと戦いながら、有限のWiFiパケットを燃やしている途中の@corocnの様子をどうぞ。

f:id:mugi1:20180718154243j:plain:w300


(16:00 nao)

みんなめっちゃ集中してる!

LIFFアプリチームはちょっと方針考えつつ休憩中です。


(16:10 corocn)

こんにちは、今年も合宿神をしています。

なんかそれっぽく動くものができました。神なので。


(16:25 merotan)

みんな真剣にとりくんでるぞ〜〜〜⤴

f:id:renya-mizuno:20180718162408j:plain:w300

僕はLIFFが全くわからない & デバッグクソ辛い & JS〜〜〜⤴ってなってて海が綺麗です。

f:id:renya-mizuno:20180718162459j:plain:w300


(16:41 oosawatechnica)

私も含め、当該プロジェクトメンバーのすべてのエンジニアが開発合宿に参加していたため、しゃちょうをZOOMに置き去りにしてしまった。 合宿に来ないからこういうことになるんだと思う

嘘ですごめんねとよしさん


(16:50 id:mizukmb)

ボタンのズレを放置して進めてたんだけど、段々ズレが大きくなってきた気がする

f:id:mizukmb:20180718165122p:plain:w300


(17:00 @kokuyouwind)

LIFFで請求書一覧の表示ができた!

f:id:kokuyouwind:20180718170123p:plain:w300

LIFFのサンプルアプリから始めてMisoca APIをJavaScriptから呼ぼうとしたところ、CORSに引っかかって全く進まなくなった。

ので開き直ってとよしさんの作ったMisoca API用サンプルアプリをそのまま動かしてLIFFアプリ登録したところ、何の問題もなく認証・一覧表示までたどり着いた。

結論としては、今日の黄緑㌠の進捗の9割9分は合宿に来てないとよしさんによるものである。


(17:20 corocn)

Elasticsearchのimportがtimeoutしまくる。なんで。

温泉に入りたい!


(17:40 @kokuyouwind)

会議室から人がいなくなってきました。

そろそろ一息いれてお風呂と夕食タイムですね。


(18:00 @kokuyouwind)

お部屋に来ました。 9階のオーシャンビューです。豪華。

f:id:kokuyouwind:20180718180721j:plain:w300

なお、部屋からはフリーWi-Fiが掴めませんでした。 部屋でも作業したい人はポケットWi-Fiが必要そうですね。


(18:50 @mugi_uno)

お風呂にも入って、完全に仕上がった人も数人います。

いまからご飯です!

f:id:mugi1:20180718185537j:plain:w300


(19:00 komatatsu)

f:id:komatatsu:20180718190822j:plain:w300

ヨッシャ!合宿はじまった!!


(22:44 merotan)

合宿はじまった!!って言った人寝たぞ!!!

ころちゃんも寝たぞ!布団に入ってぁあっついって唸ってたぞ!

残された者たちは頑張るぞ!


(22:47 @kokuyouwind)

ご飯を食べて、温泉に入ってきました。

露天風呂はアンチエイジング効果のあるラドン泉だそうです。わかるわ。

夜はこれからだー!


(24:45 @kokuyouwind)

なぜか開発合宿の題材ではなく、技術書典5の準備が進みました。

この辺の話はまた別の機会に…

naoがまだ頑張ってますが、さすがにそろそろ寝ようかなと思います。

明日の記事もお楽しみに!


(24:55 nao)

明日の自分に期待して、今日はそろそろ寝ようと思います。 また明日もよろしくお願いします!!


2日目の記事はこちら。

tech.misoca.jp

👋Farewell song

mzpです。こんにちは。

今回、Misocaを辞めて転職する決断をした。そのため、これがこのブログへの最後の投稿となる。なので、Misocaへの感謝を述べつつ退職の報告としたいと思う。

🏢出会い

新卒で自動車メーカーの系列会社に入社し社内SEをしていたが、やりたいこととのギャップを感じはじめたので転職活動をはじめた。 その中で、以前から知っていたMisoca(当時の社名はスタンドファーム)に話を聞きにいった。 自分が自社サービスに興味があったことと、Misocaも資金調達に成功し人を増やすタイミングだったことがうまくマッチし、入社を決めた。

こう書くとちゃんと活動したように見えるが、実際は退職を宣言したあと、何人かの知人とご飯を食べていたら話が進んでいたので運要素が大きい。 資金調達に成功してうんぬんは最近知った。

当時のメモには選んだ理由に以下のものが書かれている。

なぜスタンドファームを選ぶか。

「私服可」とか「音楽を聞いてもいい」とか「フレックス」「リモートワーク(フルでなくていい)」「トイレがきれい」は譲れないけど、だいたいの会社にある。

決め手になったのは次のポイント。

  • 自社サービスを育てる、というのをやってみたい。
  • どういうソフトウェアを作るか、という自由度も高そう。
  • 社内の仕組みが整ってないので、自分でいろいろ決めていける。

f:id:mzp:20180710124132p:plain

✨Misocaのよい所

いろいろできる

選んだ理由にもあげたが自由度が高く、いろいろなことを経験できた。 自分が経験したことだけでも次のように多岐に渡る。

  • チームでの開発・レビュー
  • リリースプロセスの改善
  • リリースする機能の企画
  • 選考設計とその後の受け入れ
  • 社内の評価制度作り
  • ロードマップに基づいた開発計画作り

入社した当時は人が不足しているので色々やる必要があるという側面も強かった。 最近は人が増えたので役割分担はできている上で、状況や興味に応じて他のこともできる理想的な環境に近づいていると思う。

リモートワーク

入社時はほとんどのメンバーが名古屋近郊に住んでいたので、リモートワークもできるくらいの位置付けだった。

リモートワークを活かして「旅行しながら仕事する」を実際にできた。 途中で「リモートワークするより有給とって旅行したほうがいいいのでは?」とも考えたが、有給日数の残りが5日を切ったあたりで「やっぱりリモートワーク旅行はいいわ」と思いなおした。

f:id:mzp:20170617114744j:plain

f:id:mzp:20180208084336j:plain

最近は、リモートワークをする人の割合がだいぶ増えたので、より自由度が増している。

f:id:mzp:20180122125550j:plain

ミーティングの短かさ

ミーティングの時間を少く、短くしようとしている。 最近は、Slackのみのやり取りで決定できる範囲も増えてきた。

会社としての残業時間の少なさや、ボクが時短勤務をしていても支障がないのはこれに由来する部分が大きいと感じている。

f:id:mzp:20151104163357j:plain

勉強会補助

勉強会補助も充実している。国内の勉強会ならまかなえる額の交通費・参加費がでる。 東京以外に住むことのネックはこれでだいぶ軽減されている。

海外カンファレンスに参加できるほどの額はないので、WWDCは自費負担が大きい。

f:id:mzp:20180328215525p:plain

改善への意思

エントリの性質上、Misocaのよいところをあげているが、すべてがうまくいっているわけではない。 現状のMisocaにはいくつかの課題を抱えている。

しかし「とりあえずやってみる」の精神は根付いており、改善を受け入れる土壌も十分ある。また、関係者が協力してやっていこうという雰囲気に満ちている。

現状がよくないことよりも、ずっとよくない状況が続くことのほうがつらいのでだと思うので、このような改善に向う雰囲気というのは重要である。

🚀転職へ

このように多くの魅力があったMisocaだが、転職をするという決断に至った。 その理由を長々と書く場ではないので簡潔にまとめる。

  • 国内だけでなく世界を相手とする場所で、どこまでがんばれるか試してみたくなった。
  • Webサービス以外の方法で世界に貢献してみたくなった。

f:id:mzp:20180710054705j:plain:w300

🙏未来のMisocaを頼みます

退職エントリにはwishlistを貼るのが定番だが、かわりに採用サイトへのリンクを貼っておく。オンライン面談やランチ会なども受け付けているので、もっと話を聞きたいひとはここから応募してほしい。

recruit.misoca.jp

今後ともMisocaをよろしくお願いします。

Android版Misocaの技術選択

f:id:komatatsu:20180705160422p:plain こんにちは @k0matatsu です。
Android版Misocaアプリがとうとうリリースされましたね。
やっとスタートラインに立てたことが本当に嬉しいです。

2009年に日本で初めてAndroid端末が販売されたのが9年前です。
それからAndroid界には様々な変化がありました。
そんな中で今から全く新規にアプリを書き起こすのは楽しかったです。

言語

JavaとKotlinの両方を使っています。
iOSと違ってAndroidはKotlinへの移行を促されているわけではないですし、それぞれ良い面があると思うのでJavaを禁止するようなことはしていません。
プログラムの内容や言語の特性、書く人間の好みでJavaとKotlinどちらを使うか選んでいます。

非同期処理

非同期処理にはkotlinx.coroutinesを利用しています。
前職などではRxJavaが非同期処理にも使われていたのですが、非同期処理以外で使う場面がほとんど思い浮かばなかったですし、too muchかなと思って避けました。

kotlinx.coroutinesはまだv1.0になってないのですが、うまく行かなかったら別の方法に切り替えようと思って導入に踏み切りました。
async/awaitは回りくどくなくてよく馴染みます。

Kotlin Android Extensions

悩ましいParcelizeを解決するために、Kotlin Android Extensionsを利用しました。
Parcelizeはexperimentalな機能なのでどうしようか迷っていたのですが、Kyashさんでも利用されているとのことで、エイヤッと導入しました。 *1

今の所特に問題なく動いているのでこれもこのまま行けそうです。

一方で、Kotlin Android Extensionsのメイン機能であるViewとのBindingは全く利用していません。
xmlではスネークケースを利用しているため、コードの中にキャメルケースとスネークケースが混在するのを避けたかったためです。

CI

社内にすでにあったJenkinsを利用しています。
ファーストリリースに向けてアプリ自体の開発に比重をおいていたので、まだあまり洗練された状態にはできていませんが、dangerを使ってlintの結果をPRにフィードバックしたり、PRごとにapkをアップロードしたりと、一通りの機能は揃えました。
lintやcheckstyleを機械的にチェックすることで、うっかり良くないコードが入ってしまうのを防いでいます。
これらはコードベースが大きくなってから適用するのはめちゃめちゃ大変なので早い段階で導入しました。

lintはdanger-android_lintktlintを使っていて、ルールは一部カスタマイズしています。

そのほか

API Clientにはretrofit2を使っています。安定ですね。
DIは今の所使ってないのですが、これから必要になりそうなのでToothpickを選択肢として考えています。
リリースはもちろんApp Bundle形式を採用しています。

これからの課題

そんなわけで結構エッジよりな構成になったのではないかなと思っております。
まだAACも導入できていないですし、開発が佳境に入ったところでjetpackの発表があったため正直全然追いつけていません。
ひとまずLiveDataから導入を試みているのですが、Android専任のエンジニアは私一人なので中々手が回っていないというのが実情です。

おわりに

過去の遺産やしがらみのない状況で、自由な裁量の元あれこれ考えながら開発を勧めて行くのは非常にエキサイティングな体験でした。
ユーザーに価値を届けるのは我々の責務ではありますが、どうせなら楽しく開発したい!そんな思いで日々開発を進めています。
Misocaでは一緒にモバイル開発をしてくれる戦友を募集しています。
良い部分をあげるとキリがないのでぜひ一度オフィスに遊びに来ていただいて雰囲気を感じて貰えればと思います。

www.wantedly.com

*1:konifarさんはKyashのエンジニアの方です

🍎WWDC

mzpです。 こんにちは。 念願だったWWDCに参加したので、その話を書く。

RubyKaigiと日程がかぶっていたので、仙台からサンノゼに移動して参加するなどをして大変だった。

f:id:mzp:20180629153214j:plain

🏢会場の様子

初日はキーノートを聞くための列に並ぶ。

開場は10時からだが、よい席に座るには早朝もしくは深夜から並ぶ必要がある。 ボクは8時ごろから並びだしたが、最前列の人は夜中の2時ごろから並んでいたらしい。 列に並びながらWWDC Extended Tokyo 2018の人が楽しそうにしているのをTwitterで見るのは心にくるものがある。

f:id:mzp:20180604073927j:plain

二日目からはそこまで混んでいないので、セッション開始の30分前くらいにいけばよかった。 前のほうに座ったら、スポットライトが眩しかった。

f:id:mzp:20180605084851j:plain

現地にいるので何度かラボに遊びにいった。 「xxxxという機能が動かないんだけど...」は回避策を教えてもらえたりして有用だが、「〜という機能がほしいんですよー」という話は「Radarに要望あげてね」と言われるので微妙というのを学んだ。

f:id:mzp:20180605100038j:plain

f:id:mzp:20180605100055j:plain

空き時間はラウンジでXcodeをダウンロードしたりしていた。電源とLANケーブルが生えていて便利だった。 調子にのってAppleWatchのOSを更新したら、起動しなくなって焦った。 最終日に受付で修理してもらうまで、AppleWatchが使えず不便だった。

f:id:mzp:20180606083042j:plain

🌭食事

お昼ごろにサンドイッチが配られていたので、それを食べていた。 一緒にはいっているクッキーがすごく甘い。

f:id:mzp:20180629155849p:plain

通称小田原ことOdwallaジュースはおやつの時間に提供されていた。 時間帯や日によって提供される種類が違うのでゲーム性があった。

f:id:mzp:20180607082727j:plain

夕食は知り合いと食べにいくことが多かった。「そろそろ日本食が恋しくなってきた」「せっかくアメリカにいるんだしアメリカっぽいものが食べたい」の両方を満すために、アメリカンなお寿司を食べた。

f:id:mzp:20180608185413j:plain

🍻Bash

4日目には野外でBash(懇親会?)が開催された。野外で開催されるあたり、雨と無縁の街という感じがする。

f:id:mzp:20180607191312j:plain

光る卓球台などが置いてあっておもしろい。

f:id:mzp:20180607200432j:plain

巨大ジェンガもある。

f:id:mzp:20180607200646j:plain

🐦try! Swift San Jose

最終日はWWDCには行かずに、隣の建物で開催されたtry! Swift San Joseに参加した。

f:id:mzp:20180608092953j:plain

try! Swift Tokyo 2018に参加したときの縁でメンター参加だったので、参加者の人たちがSwift/Swift関連プロジェクトにプルリクエストを送る手伝いをしていた(参考: 💫try! Swift Tokyo 2018 - みずぴー日記)。 見事プルリクエストを送る段階に辿りついたので、記念に写真を撮った。

f:id:mzp:20180608172406j:plain

👣観光: 社屋見学

せっかくサンノゼまで来たので、AppleGoogleの社屋を見にいった。

Apple

ビジターセンターで、ARバージョンのAppleParkを見る。 「昨日、バージョンアップしたばかりでたまにフリーズするんだよね」といったことを言ってて、たのしかった。

f:id:mzp:20180603114022j:plain

ビジターセンターの上からAppleParkを見たが木に埋もれてていて何も見えなかった。 正直、ただの森にしか見えない。

f:id:mzp:20180603122230j:plain

InfiniteLoopのほうの社屋も見た。1から順に回ろうかとも思ったが、暑い日だったので1を見た時点で力つきた。

f:id:mzp:20180521110015j:plain

Google

Googleの社屋も見にいった。 ここはAppleよりもさらに自然豊か。

f:id:mzp:20180521131512j:plain

ドロイド君がぽつんと立っていた。

f:id:mzp:20180521140420j:plain

うわさに聞いていたChormeカラーの自転車は売店に置いてあった。 乗って移動している社員の人も何人か見た。

f:id:mzp:20180521133544j:plain

やたらボロい建物があるなーと思ってたら「Apple R&D Lab」と書いてあっておもしろかった。 人気はなかったので使ってないと思うけど...。

f:id:mzp:20180521135155j:plain

まとめ

初めてWWDCに現地参加したが、色々な開発者と話ができてよかった。開催期間中は何度か行列に並ぶタイミングがあるが、そのときは列の前後の人と「どういうお仕事してるんですか?」みたいな話をすることになるのでたのしい。英語でしゃべるのはつらい。

また、サンノゼの気候はカラッとしていて過しやすかった。

MisocaではWWDCに参加したいエンジニアを募集しています。

recruit.misoca.jp

採用成功のためにやるべきこと5つ(事前準備編)

Misoca人事広報の miho_hama です。

採用エントリ第3弾。
「採用を本格的に始めるにあたって具体的に着手したこと」についてMisocaなりのやり方をご紹介します。

今回は、エンジニア採用を担当している企業の経営者や人事担当者向けの内容です。
少しでも参考になれば嬉しいです。

前回までの記事はこちら tech.misoca.jp tech.misoca.jp

Misoca最高かよ!って気持ち

f:id:miho_hama:20180614151446j:plain 私は、キャリアコンサルタントや人事に従事してきた経験から、これまで色んな会社に訪問し、多くの求職者から仕事や職場の話を聞いてきました。自分自身も2度転職を経験し、Misocaにジョインした感想は「こんな夢みたいな会社が存在するのか!」でした。

みんな主体的に楽しそうに取り組んでいて、意見交換が活発で圧倒的なスピード感。
チャッとやって、シュッと帰る。残業は0。むしろマイナス。笑
全員が「自由と規律」を体現しているような環境です。

その時は、みんなの技術レベルがすごいってよくわかってなかったけど(失礼…笑)、「ちゃんと知ってもらえれば、必ずMisocaを好きになってもらえるはず」という確信がありました。 なので、「ちゃんと知ってもらう」ための仕掛けとその準備から着手しました。

採用を成功させるためにやったこと

採用基準をつくる

「どんな人と働きたいのか?」「それは何故か」を、人柄・行動特性・保有スキル・のびしろなどの観点から切り出していきました。
この作業は、エンジニア全員参加でやりました。
参加人数が多いと収集つかなくなるという意見もあると思いますが、今いるメンバーの意見は大きな鍵を握るので全員で採用基準を作ることにこだわりました。

面接スクリプトをつくる

「採用基準」で定めたことを、選考の中でどう確認するかを具体的に落とし込んでいきました。
「何で判断するか?」「どういう内容なら+なのか」など話し合いながら詰めていくことで、Misocaが大切にしている価値観が、さらに浮き彫りになってきました。

一方で、採用基準からスクリプトに落とし込む過程で、Misocaとして採用したい人を見つけるには普通の選考では判断できないな…と思い始めました。
実務経験そのものを重視した選考ではないからです。 いわゆる「コンピテンシー面接」と言われるものをメインに取り込んで掘り下げ、スキル面は技術選考で吸収する必要があります。(これらのやり方は、選考する側のスキルもかなり問われるので難易度は高め)

採用面接レクチャー & 面接シートをつくる

レジュメの読み方や面接のポイント、公正選考について解説した上で、面接内容がバラつかないよう採用コンピテンシーに基づいた面接シート(質問パターン付き)を作成しました。 これを見ながら面接をして、面接の後に書き込んで共有していくことで、面接スキルもあがっていきますし、次の選考に進んだ際に、「次はなにを確認すべきか」、「どのような選考をするのがいいのか」を検討しやすくなる効果もあります。

規程の整備

良い人材を採用するためには、今いるメンバーが「Misocaで働いていることに満足していること」が最低条件だと考えています。
従業員満足度の低い会社は、離職率が高く、リプレイスのための採用を優先させなければいけません。 そうすると、どうしても妥協した採用になることが多く、悪循環に陥ります。
そのため、今いる人材にとってメリットになり、採用にもつながる規程をどんどん作っていきました。

ざっと並べるとこんな感じ。

  • 勉強会参加補助規程
  • リファラル採用規程
  • 車通勤・自転車通勤規程
  • 松江オフィスの新規雇用者に係る転居補助規程

詳しい内容が知りたい方は、ぜひ会社見学やオンライン面談をお申し込みください!

会社見学カード、面談カード作成

f:id:miho_hama:20180607164627j:plain Misocaのメンバーは、勉強やイベントなどに行く機会が多いのですが、「話のきっかけになる武器」が何かあるといいかなと思い、こんなカードを作りました。

もちろん、このカードがなくてもいつでも会社見学Welcome!なのですが、コミュニケーションのきっかけ作りに一役買い、受け取った側もアクションを起こしやすくなります。

いよいよ実践!

f:id:miho_hama:20180614151733j:plain ここまで準備してから、どんどん外へ打ち出していきました。

もちろん、採用基準やスクリプトなどは定期的にアップデートが必要ですし、「これで完璧」という答えはありません。 改善を短いスパンで繰り返しながら、実践していくのが基本姿勢です。
次のエントリでは、実践編について書きます。

続きを読む