四半期ごとの人生振り返りです。

サマリ

  • 技術書典で書ききれなかった章足すぞ
  • GCPのサーバーレスやるぞ
  • 今年もアドベントカレンダーがんばろう

習慣

今年の目標(再掲)

年初に立てる目標は定量的に白黒はっきりするアクションにしました。

特定の技術領域に詳しくなる、的なテーマはその時その時で変わるので、アクションの方向付けくらいに考えています。

  • 本(執筆): 2冊/年
  • 登壇: 6回/年
  • OSS: 1PR/月
  • ひとまとまりのソースコード公開: 1リポジトリ/月
  • 技術記事: 2記事/月
  • 技術書: 30分/日
  • その他本: 30分/日
  • カラオケ: 2回/月
  • 歌練習: 1回/週
  • 品川健康センター: 2回/月
  • 走る: 1回/週

この中で歌系は前回の振り返り時点でやめています。

進捗

本(執筆): 2冊/年

1/2

前回の振り返り時に技術書典5の申し込みをし、落選も脱落もせず当日を迎えられそうです。

技術書典5で『Goで学ぶAWS Lambda』を出展します #技術書典

終わったらこれはこれで振り返ろうと思います。

もう1冊技術書典関係なく共著で書いたやつもう無理かなぁ…

登壇: 6回/年

4/6

登壇と呼ぶかどうかは置いておいて、XamarinとAzure APIを使ったハンズオンの講師をしてきました。振り返り記事を書こうと思って完全に忘れていました。

副業の一環でした。たしかソースコードは3月くらいに書いたはず。

コードはmacで書いたのですが、参加者たぶんWindowsやろと思ってハンズオン教材をWindows向けに作ったら参加者全員macという大惨事でした。

今回お誘いいただいたkazuyukimiyakeさんに助けていただきました。今後もなにかしら一緒にお仕事させていただきたいです。

なにかしらコードを書く前提 + 喋るみたいなお仕事はいいですね。

ただ、扱う技術は直近の仕事で使うものや近いもの、もしくは仕事関係なくてもついつい触ってしまう領域だと人生的な効率はよいかもと思いました。

あと、時間が余ったとき用に過去の登壇資料を読み直していたのはやっといてよかったです。

今後についてはテーマのところでちょっと考えます。

OSS: 1PR/月

5/3

やらないよりましなものの設定ファイル追加とかハンズオンの手順修正だけして「OSSにコミットした!!」とか言いたくないなぁ。

そういう意味でもServerlessconf Tokyo 2018 Contributor Dayは今後の活動のよいきっかけできればと思っています。

ひとまとまりのソースコード公開: 1リポジトリ/月

4/3

下3つは技術書典向けに書いたものです。現実のユースケースがそれなりに見える形(ほんとに初めて触るサンプル +α的なもの)をコンセプトに書いてるので、1つ1つそこそこ時間がかかっています。いや、そうでもない?

ただ言えるのは「現実にこれ運用するならこういうコード書いた方がいいかも」って思った書いたコードは仕事でもたぶんそういうコード書くと思うし、今の実力(?)こんなもんかという感じです。手を抜かずに書こう。

技術記事: 2記事/月

1/6

何も書いてないな?技術書典の本は技術記事の延長にあると思うけど、その中から細かい粒度で「こうハマったけど、こうしたら解決できた」みたいなの出してけばよかったかもですね。

あと会社では今細かめにドキュメントに残してるので、毎日書いてると言えば書いてる。

もうすぐアドベントカレンダーの季節もやってくるのでテーマ部分で合わせて考えようと思います。

技術書: 30分/日

読んだ

AWSでいう…みたいな感じで予習になりました。仕事用のキャッチアップとしては遠い…

JSのテスト先に書いてるのがんばってますねみたいな感じであんまりサーバーレス!!!みたいなのは覚えてないですね。

一度読んだ気がするのですが技術書典の参考にすべくもう一度読み直しました。

イメージしやすいサンプルのためのサンプル過ぎない具体的なユースケースとGUI操作は行わずとことんコマンドで操作する感じがとてもよかったです。

読んでる

向き合い続けるものとは思いますが、設計が大事な時期なので。

DynamoDB localのDockerイメージとの出会いで覚醒しました。そういうタイミングに学ぶのが一番モチベーションが高く効率がよいので一気に読みたいです。

技術書典の本の最後のユースケースはサーバーレスSPAにしたかったんですができなかったのと、『Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド』で最後のユースケースでVue.jsが使われていてこれは…!!!って思ったので入門することにしました。

無駄に洋書で読むマン。Safaru Books Onlineのアカウントを得ました。

インプット・アウトプットの質向上には常に取り組むべき。

その他本: 30分/日

別でまとめてるのでそちらで!

カラオケ: 2回/月

声が出なくなったのでやめました。

歌練習: 1回/週

声が出なくなったのでやめました。

品川健康センター: 2回/月

週1で通う習慣が続いています。

走る: 1回/週

品川健康センターで走ってるのでこれも続けられてます。

転職

新しい会社で働き始めてから1ヶ月が経ちました。もう3ヶ月くらいいるような感覚です。

freeeでの闘争を終え、メルペイで闘争します

試用期間大丈夫かなぁ…///などは考える余裕は一瞬もありませんでした。

仕様把握、設計から新たなマイクロサービスを作るというのはまさにやりたかったことで、配属の希望面談どおりです。

はい闘争です。

9月は仕事ではコードを書きませんでしたが、設計もひと段落しとうとうコードを書き始めました。設計も楽しいですが、実装が見えてくると一層楽しい!!

一緒に課題を解決してくれる仲間を探しているので、もしご興味あればご飯でも行きましょう!

merpay Careers

夏休み

転職にあたり、7月末を最終出社として8月はお休みしていました。

前半の記憶があまりないのですが、技術書典のユースケースの実装1つ終わらせた気がします。

後半は新婚 #とは 旅行に行ってきました。結婚したのは一昨年の2年なのでけっこう経ちましたが行けてなかったので。

個人的にずっと行きたかったクロアチア(ドブロブニク、スプリト)、セルビア・モンテネグロ、イタリア(ベネチア)、フランス(モン・サン・ミシェル)に行ってきました。

毎日旅行記を書いていてまだ公開していないので、写真も添えつつちょっとずつ出していこうと思います。

テーマ

直近3ヶ月でいう技術書典的な位置付けでつぎの3ヶ月なにをやるかどうしようかなぁと思っています。

『Goで学ぶAWS Lambda』の続きとVue.js

今回頒布した本の目次は構成要素を考えている段階ではもっと豪勢な感じでした。

少なくとも最終章のURL短縮サービスはサーバーレスSPAにするつもりで、構成要素はつぎのようなものを含むはずでした。

  • 認証・認可(CognitoとかAutn0とか使う) 
  • Vue.js

あとは

  • Lambda上でヘッドレスブラウザ使うユースケース
  • GitHubアサインのSlack通知
  • AWS Serverless Application Repository
  • Kinesisを使うユースケース
  • DLQの設定
  • Alexaスキル系
  • GraphQL(AppSync)
  • SQS(FIFOキュー)のユースケース

GCPのFaaS

Cloud FunctionのGoサポートの申請を待ちつつ…

GCPではまずコンテナやみたいな雰囲気をスルーして本で扱ったようなユースケースを実装してどう違うか触ってみたい気持ちがあります。

GCPのサーバーレス

GCPも最近「サーバーレス」って言い始めたもののAWSやAzureのそれとは何か異なる気がしてその辺を追いたいし、つぎの技術書典のテーマにしたくもあります。

この勉強会とても楽しみです。

GCPUG Shonan vol.32 feat. Serverless & Knative

GCP関係ないけど、Serverless Confで触れたOpenFaaSも近そうで気になります。

Docker/k8s

マネージドサービスでどう扱うかについては仕事上避けて通れないし、GCPのサーバーレスに触れる上では一緒に触れそうです。

アドベントカレンダー

この3ヶ月に技術書典はないので、周囲とワイワイしながらヒーヒー言うイベントは12月のアドベントカレンダーが大きそうです。

去年も相当気合を入れて書きました。

Advent Calendar 4記事の背景にあったテーマ

その結果、問題意識を形にできたり、よい習慣ができたり、書籍の執筆に誘っていただけたりいろいろいい影響がありました。1つのアウトプットの場として今年もなにかしら書こうと思います。

取り組み

一通り並べたところでどう取り組むか迷いますね。アドベントカレンダーの季節にはまた別の興味が生まれているかもしれません。

なにするにしても「これ作ろう」「これ書こう」というアウトプットの形なしに何となく「勉強」を始めるのはとても効率が悪いので、

  • サーバーレスSPA(短縮URL)
  • Lambdaでヘッドレスブラウザ動かすやつ

に実装観点の主軸を置きつつGCPの勉強会でアウトプットの形を探るみたいな感じで行こうと思います。

まとめ

  • 技術書典で書ききれなかった章足すぞ
  • GCPのサーバーレスやるぞ
  • 今年もアドベントカレンダーがんばろう

あ、あとPokemon GO復帰したので友達申請させてください!

freeeでの闘争と謝辞

2018年7月末を最終出社日としてfreeeを卒業します。

2015年1月に入社して以来、社内外関係なくいろんな人、コミュニティ、組織にお世話になりました。

freeeには職業エンジニアとしての経験のない僕を受け入れ、特に最初の1年くらいは自分でも引くくらい成長速度が遅かったにも関わらず見放さずに育ててもらいました。

やる気以外何もないところから、よい会社に移ってよい給料がもらえる程度の1人のエンジニアを育てる環境を提供できてそれだけで死ねる

長生きして欲しいですが、こんなこと言って送り出してくれる会社他に無いと思います。言われた後トイレで10分くらい泣いてたのは内緒です。

エンジニアとして育ててもらったのはもちろんなのですが、それ以上に学びが大きかったことがあります。それは愚直に課題に向き合って価値を届けるということとそれに必要なマインド(freeeでは価値基準という)です。

僕はコードを書いたり勉強したりするだけで楽しいし、力がついていってるような錯覚に陥ってしまいます。ただ、その結果として何が解決される?本当にそれは解決されるべき大事なこと?は常に考えないと、何をするにしてもよい流れにならなかったり、求める結果を得るのに膨大な時間がかかったりでうまくいかなかったです。

手段自体楽しいと思える方が人生楽しいとは思いますが、だからこそ一層意味のあるものにしたいという願いのような意味合いでもあります。

エンジニアとしても(働く、あるいは世の中に価値を届ける)人としても大事なことを学ばせてもらったfreeeに出会えて本当によかったし、今でもfreeeが大好きです。

そんな状態でもfreeeを去るのは、自分が届けたい価値に向き合った結果です。

これまでfreeeで対峙してきたデータや自分のお金に対する考え方(捕らわれ方)、これまでとこれからのお金が表現するすべきもの、価値の表し方を考えていたときに9月から働くメルペイのビジョンに出会いました。

メルペイが実現しようとしていることはまさに自分が解決に携わりたい思う分野での大きな社会的課題の解決です。

これまで扱ってきた技術スタックとはまた異なりますが、freeeで身につけた課題に向き合う姿勢を忘れずに価値を届けます。

約3年半、本当にありがとうございました。

これは例のリストです。

ふりかえり

新しい開発組織や自分がそんなに触れたことが無い技術になるべく早くキャッチアップできるように、freeeで携わったプロジェクトを出せる範囲でふりかえります。

Web

青色申告承認申請書メール送信サービス

入社3ヶ月目くらいのとき初めて自分メインでリリースしたサービス。今はもう別のサービスが包含してるのでありません。

リリース期限がどうしてもずらせないときは他の変数で調整してなんとかやり切るしかないというのを学びました。

電子証明書連携アプリ(Windows)

対応口座拡大と品質向上

入社7ヶ月くらいのときに電子証明書ログイン対応1行のときにWindowsデスクトップアプリを引き継ぎました。

まだRubyも覚束ない中、C# + Visual Studioに初めて触り対応口座数を増やしていきました。

  • 拡張できる設計とリファクタリング(当時テストは…)
  • 防御的プログラミング(確実なこととそうでないことの切り分けと制御)
  • ログ
  • エラー通知
  • サポートチーム、セールスチームと協力しながら問題解決
  • 優先順位、割り切り
  • 目の前の技術を一歩引いてみる(技術的マイノリティプロジェクトで幸せに過ごすための5つの方法

を身につけました。

当初他のプロジェクトやりながら半稼働、という状態が1年弱あったんですが、社内的に知見があるわけでもなかった技術を身に付けるには思い切って全投入するのが真っ当なやり方だったみたいです。

この会社でC#…みたいな迷いも大きかったですが、何人の方にもアドバイスを頂いた通りまずは自分の目の前の技術をしっかり身につければ応用も効くから頑張れという言葉を信じ頑張ってみました。

あと、技術単体で解決できないときには他のチームの協力を得てできることもあるというのは大きな学びでした。

価値は技術だけでは届きません。

このプロジェクトだったり、得た知見を他の分野にも活かすことで大きな成果に繋がりました。

アプリ + Web UX改善

デスクトップアプリの品質がよくなってきたところで、本来使うと作業が効率化できるはずのユーザーさんに存在や利便性に気づいてもらえなければ意味がありません。

  • 問い合わせ内容分析
  • KPI設定
  • ユーザーさんへのインタビュー
  • サポートチームへのDemoやFAQ共有
  • Webの導線やアプリの使い勝手の改善、リニューアル
  • 保守しやすいコード(しにくいコード)

などを通して、Web上で登録する導線から問い合わせしてくださったユーザーさんに価値が届く(トラブルシューティングを含む)までの全フロー(の中で効果がありそうな順)に対して施策を打ちました。

サポートチームとの知見共有は(もともとの仕様共有が甘ければ)目先のやり取りが減りプロダクトの改善に割ける時間が増えます。駄菓子菓子、その後は問い合わせが減ったとしても

  • サポートチームのメンバーがユーザーさんからの問い合わせに精度高く答えてくれて単にエンジニアまで届く声が減ったのか
  • 「改善」の結果ユーザーさんが離脱してしまっていないか

など目に見える現象だけで判断せず、何か数字がよくなる代わりに他にしわ寄せが及んでいないか、本当に改善したいものは改善できているか、改善そのものの数値化が難しくてもなんとか可視化できないか、その数値が妥当かどうかベンチマーク取れないかなどいくつか考える必要がありました。

プロダクトマネジメントの文脈での「解決すべき課題に向き合う」を実感する日々でした。

この本にとてもとても影響を受けました。

Inspired: 顧客の心を捉える製品の創り方

プロダクトにどういう立場で関わるにしても忘れてはいけない視点として肝に命じています。

あと、改善の過程でフロントに保守しづらいコードを結構足した自覚はあるものの、じゃあどういう設計だったら保守しやすいんだみたいな理想形が全く見えませんでした。

そこからよい設計とは?を考える、学ぶ、意識して書く時間が増えました。

パフォーマンス改善

Windowsアプリといえども、サーバーサイドは他サービスと同じくRailsのサーバーです。

C#を書きつつ、サーバーサイドで必要な修正も行なっていました。

利用してくださるユーザーさんが増えるとAPIサーバーに問題が出て段階的に対応していきました。

非同期化の過程で色々と学びがありました。

  • 時間とコストを考えて段階的に理想的なアーキテクチャに近づけていくやり方もある
  • 問題に対する打ち手を複数考える(※結論ありきの比較にしてはいけないが、自分の推しは持つこと)
  • AWS Lambdaをきっかけにインフラを含めたアーキテクチャ(特にサーバーレスアーキテクチャ)に興味を持った
  • PaaSへの抵抗(食わず嫌い?)が激減
  • OSSヘのコントリビューションのきっかけになった

自分が携わるプロジェクトに対して新しい技術をまるっと(?)導入したこともなかったので大きめの粒度で設計・導入することは考えることが多い分学ぶことはめちゃくちゃ多かったです。

電子申告アプリ(Mac)

すでにリリースしているWindowsアプリのMac版を作って明確な期日までにリリースするプロジェクトです。

Macアプリ開発の知見が社内に無い中、色々なことにチャレンジしました。

Windowsアプリ資産を活用するためにXamarin.Macを採用し、技術検証期間も取りつつチームリードとしてプロジェクトマネジメントするなどです。

  • アジャイル風プロジェクトマネジメント
  • コミュニティから力を借りること、貢献すること
  • CI/CD環境作り
  • ビルド、コンパイル入門

リリースにこぎつけただけでなく、結果的に日本マイクロソフトさんの事例掲載、大型イベント登壇、商業出版(共著)、Microsoft MVP受賞、福岡やシアトル出張などこれまでになかったくさんの機会に恵まれました。

アジャイルはこの本にだいぶ影響を受けました。

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

アカウントアグリゲーションエンジンのリプレース

2018年はC#を完全に離れ、この記事にある「アカウントアグリゲーションエンジンのリプレース開発」に携わっていました。

Goも利用するプロジェクトで、2週間くらいGoも書く期間はあったものの、だいたいRubyを書いて過ごしました。

かつあまり読み書きできなかったRailsのコードやRspecも昔よりは理解できるようになっていたり、改めて追い直してみると理解できたり最後の最後まで発見が多い毎日でした。

  • 昔読めなかったコードが今も読めないとは限らない
  • データ移行に必要な計画とシミュレーション
  • 防御的プログラミング(困るデータができる前に徹底的に落とす、ロールバック)
  • テストと設計のよい関係(?)
  • インフラ構築やWebアプリのデプロイフロー

この本に出会って設計良くなったかはわかりませんが、Rubyの文脈でpublicメソッドとしてクラスが持つべき責務は何か?を考えることでテストがとても書きやすくなり、テストに助けられたことも何度もありました。

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

あと、個人的にGoに興味をもち、コマンドラインを作ってみたりAPIを書いてみたりもかなり楽しかったです。

コマンドラインを作ってみることでコマンドラインを使うときもどう使って欲しいかちょっと理解が及ぶようになったり、シェルスクリプトが書きやすくなったりいろいろいいことがありました。

教訓

最後に、自分がエンジニアとして働く上で今のところ注意したいなぁと思うポイントをまとめます。

デバッグ環境できるまでが環境構築

  • とりあえず対象のサービスがローカルで実行できるようになった、で環境構築を終えたことにしない
  • コーディングとテストを含むフィードバックサイクルを効率的に回せる状態にすることに最初に一気に投資する
  • 同じ文脈でIDE、エディタの使い方は暗記する、できる(使いこなせる)ことを増やす時間はとり続ける

担当する(マイクロ)サービスは全部追え

  • エントリーポイントへのアクセスからそれが返るまで
  • コードを増やしてからデプロイが終わって稼働するまで(デプロイスクリプトや設定を含む)
  • 依存するライブラリ
  • サービスの基盤の性質
  • どう動くかわかるが意味がわからんならドメイン知識を聞くか調べる

本当に無駄なことはするな

  • 議論のための議論
  • 議論したことは残して立ち帰れる状態にする、前提を必ず書く
  • 登壇のための登壇
  • 2回くらいキー連打したり面倒に感じたことはショートカット覚えたりするために立ち止まる
  • 適度に無駄っぽいことはする、脇道にそれる

思い上がるな

  • 時間を空けて読んだコードが読みやすいと思ったとき、自分が成長してるかもしれないし、自分の知らないところで他の人がいい感じに直してくれたのかもしれない(git blameしろとかそういう話でない)
  • 読みやすいと思って書いたコードもきっとそのうち…
  • 自分が過ごしやすいなと感じたとき、その環境を作ってくれた人がいる
  • いいものは偶然発生するかもしれないけど大体は誰かが作り、そういうものであり続けるように維持してくれている

四半期めどに振り返ろうと思います。

次の四半期のアクションや意識することが出てくるのが理想ですが、最低限年末にこの1年何やってたか思い出すための記録ができてればOKとします。

サマリ

  • 技術書典5とServerlessconf Tokyo 2018がんばろうな
  • 振り返り観点に「失敗」足そうな
  • 「ひとまとまりのソースコード公開: 1リポジトリ/月」この調子で続けていこうな

習慣

今年の目標

年初に立てる目標は定量的に白黒はっきりするアクションにしました。

特定の技術領域に詳しくなる、的なテーマはその時その時で変わるので、アクションの方向付けくらいに考えています。

  • 本(執筆): 2冊/年
  • 登壇: 6回/年
  • OSS: 1PR/月
  • ひとまとまりのソースコード公開: 1リポジトリ/月
  • 技術記事: 2記事/月
  • 技術書: 30分/日
  • その他本: 30分/日
  • カラオケ: 2回/月
  • 歌練習: 1回/週
  • 品川健康センター: 2回/月
  • 走る: 1回/週

この中で歌系はやめることにしました。

進捗

本(執筆): 2冊/年

1冊は自分の担当部分終えて待ちです。もう1冊は10月の技術書典5で書くことにしました。

当落発表は8/1ですが、AWS LambdaとGo言語、サーバーレスアーキテクチャ関連で書きたいことがあるので、仮に落選してもnoteなどで販売する予定です。

当選してもnoteでも販売すればいいですね。

この辺り詳しい方にレビューお願いするかもしれないのでよろしくお願いします。

登壇: 6回/年

3回終わりました。

今年もServerlessconf Tokyo 2018の季節がやってくるので、そこで技術書典5のテーマ関連でお話できたらなぁと思っています。

LT想定ですが、7月でいい感じに進んだらCFP出すのもありではと思ってきました。

サーバーレスアーキテクチャの認証認可のお話。

OSS: 1PR/月

ドキュメントや設定ファイルでわーわー言いたくないですが、設定ファイル1つ足すのも普段使ってるOSSがどういう仕組みで動いてるのか勉強になってよかったです。

その仕組みに思うところがあると、自分が何か書くときのインプットになったりするので続けていきたいです。

ひとまとまりのソースコード公開: 1リポジトリ/月

  • toshi0607/StampCard
    • Xamarin.FormsとDurable Functionsでつくるサーバーレスな承認フローを経由するスタンプカードアプリです。
    • Global Azure Bootcamp 2018のときに作ったやつ。
  • toshi0607/gig
    • generate (or output) .gitignore using github/gitignore
    • Gopher道場期間に作ったコマンド
  • toshi0607/release-tweeter
    • API to tweet the latest release tag version using AWS Lambda(Golang) & API Gateway
    • Gopher道場期間に作ったAPI
  • toshi0607/bookInfoSpreader
    • get book info by ISBN on Google Sheets
    • 会社の書籍管理用。Google Apps Script初めて書きました
  • toshi0607/kakuyasuuu
    • WIP
    • Goでクローラー書いてます

習慣の中で一番重視したいのはこれなので、この3ヶ月の仕事以外の進捗としては悪くないなぁと思っています。

それぞれそんなに大きくないけれど、挑戦したいことや検証したいこと、反省して改善したことが詰まっていてどれも思い入れがあります。

技術記事: 2記事/月

下の2つの記事はこのブログの記事で、ブログではそんなに技術的な話をするつもりなないけどまぁアウトプットはしてるし、特定の技術にも触れてるしよしとします。

Goで書いたコマンド関連でmediumに英語記事投稿しようと思いつつ、そのコマンド完成してなくて書いてもないです。

技術書典の準備の次くらいの優先度でやっていこうかなぁと思います。

  • gig: もう1つオプション足せたら。単に実装すれば終わりという感じでもなくて、pecoと一緒にいい感じに使える実装考えるのが難しくて放置気味
  • release-tweeter: 機能的には完成してるけどGitHubのタグのとり方微妙なのと、AWS Serverless Application Repositoryにのっけたい

技術書: 30分/日

けっこう続いてますね。

4〜6月に読んだ本の整理

読んだ

テストの書き方から変わったし、よい設計したいと思う気持ちと実務の最高の架け橋でした。

この本にも書いている設計の考え方を元にたくさん(考えながら)コードを書いて、実際それがよいコードかフィードバックを受けてよくしていくしかないので人生はじまたという感じです。

大好物でした。サーバーレスアーキテクチャの認証認可を学びたいというのがモチベーションの1つだったのですが、認証認可だけで1章割いているのと、その前の章で章でIAMユーザーとロールについて丁寧に説明されているのが好感度高かったです。

あと、AWSを中心に説明しつつもAuth0やFirebaseなどのFunctional SaaSなどを取り入れていたのが印象的でした。

全体を通してYouTubeのような動画シェアサイトを作る流れになっていてUIも作るんですが、自分がいざ何か作るときにはその部分を今風に作るのが一番苦労しそうな気がしました。

たくさんユースケースのっててかつ関連サービスの設定方法もしっかり説明されてるのでさっとパターンを学びたいときによいと思います。

読んでる

もともと毎朝読んでたのですが、最近は自分のプロダクトのコードなり、会社のサポートツールなり書いてるのでおやすみ気味。

Gopher道場期間中になんとなく手に取ったのがきっかけでした。

Goの標準パッケージの読みやすさからちょっとずつレイヤー低めのところまで読んでみる習慣ができつつあったのですが、この本を読むと個々の処理同士の繋がりが見えやすくなってきた感があります。

例えば、TCPやソケットを意識して書かれたサーバーとクライアントではこれまで個人的にあまりメソッド名としてしっくりきていなかったListenだったり、Acceptだったりの意味合いが把握できるようになってきました。

情報処理の試験でなんとなく聞いたことがあった言葉と実装が繋がり始めた感覚です。

尊い本なので引き続き読んでいきます。

その他本: 30分/日

読んだ

この本を読んだ2〜3日後に爆誕したのがtoshi0607/gigですw

基本的にうだうだ言ってないでとっととやれ、しか書いてないので、うだうだ言ってないでとっととやる気持ちになれます。

前職で営業してモヤモヤしてるときにもゼロ―――なにもない自分に小さなイチを足していくを読んで影響を受けた記憶があります。

何を書いてあったかは何も覚えてないですがたぶんどっかに書き残してるはず…

20代でもっとも影響を受けた本の1つになりました。

他者からの注目と言う貨幣換算が難しい価値を好きなタイミングで人脈、金、情報という別の価値に転換できる。ネットの普及で自分の価値をどんな方法で保存しておくか選べるようになってきた

昨今、これまでのお金による価値把握(交換・保存・尺度)も変わりつつあります。

その流れの中でお金の流れはどうあるべきかだったり、それをどう活用するかだったり、自分はどう関わっていくべきかだったり考えるのはとても楽しかったです。

この話は近々改めて記事を書く予定です。

なんでだと思います?漫画要素はタイトルの字面ほど強くないですが面白そうと思って読んでみたら面白かったです。

ただ、人間認知によって商品そのものの価値と関係ないところに左右されるのは事実なんだとしても、本質的に価値あるものを作って届けたいなぁと強く思いました。

ザ・ゴール コミック版を読んで以来、有名な(できれば再現性のある理論に基づいた)本から自分の行動を変える程度の影響を受けるのに別に文字の羅列はいらないし、たかだか1つ実行に移せればラッキーと思うようになりマンガでわかる系の本も読むようになりました。

が、この本を読んでピンときたことは特になかったです。

飯要素強いときの方が好きでしたね。けどきっと新巻出たらまた買うんだと思います。

読んでる

どういうきっかけかまったく覚えてないのですが、功利主義に影響を受けた時期があり久々にJ.S.ミル氏読もうと思って読んでます。

高校のとき隔週の学年新聞にずっと(受験勉強中も…!)連載していてその中で自由私論()とかいう記事を書いたことがあったりしたので、今書いたら何書くんだろうとか考えるのも楽しいです。

世界史の勉強するとき、テーマ史の話の流れ追うのすごい楽しかったものの覚えられなくて論述爆死した記憶しかないですが、今特に興味ある分野を読んでみるとどうなるんだろうと思って読んでみたらしんどい。

一定の時期・地域の流れを追ったあとに同一時期・別地域の流れを追うというのが全然できない。

覚える必要あるのかと言われたらそんなことはないですが、覚えてるからこそ脳みその中で浮き彫りにできることもある気がしているし、覚えるほど反復するからこそ何か気づいたのかもしれないし、その辺の向き合いかたは未だにようわからんです。

仕事ではそんなことも言ってられないので、一度に扱うこと絞るなり分担するなり生き方を模索しています。

カラオケ: 2回/月

声が出なくなったのでやめました。

歌練習: 1回/週

声が出なくなったのでやめました。

品川健康センター: 2回/月

週1で通う習慣ができました。プロテインもはじめました。

走る: 1回/週

品川健康センターで走るのでこれも続けられてますね。

テーマ

特定の技術領域に詳しくなる、的なテーマはその時その時で変わるので、アクションの方向付けくらいに考えています。

とは書いたものの、明らかにサーバーレスアーキテクチャとGo言語に振ってる感がありますね。

ただ、それらの技術自体というよりもそれらを通じてよい設計を考えるだったり、もうちょっとレイヤーを掘り下げて実装したいだったりが主要な感心です。

最近はSQSがLambdaのイベントソースに指定できるようになったのにテンションが上がりました。

AWS Lambda Adds Amazon Simple Queue Service to Supported Event Sources

発表当日に早速aws/aws-lambda-goなりaws/aws-lambda-dotnetにPR出すかと思ったところアナウンス前後にはもう対応されていました。

イベントソースから送られてくるjsonをパースするための構造体なりクラスなりは比較的にPRが送りやすい一方で、公式ページに掲載されているjsonサンプルでは必ずと言っていいほどサンプルでは網羅できずパースこける的なissueが上がっている部分でもありました。

PRの機会が減るのは残念ですが、今回みたいな誰もが待ってました!みたいなものに関しては中の人が足してくれるのがよいなぁと思った次第です。

「よい設計をしたい」と思ったときに、クラス設計に止まることはないと思いますし、サーバーレスアーキテクチャとしてサービスを切り出すタイミングで担うべき責務を考えざるを得ません。

サーバーレスアーキテクチャを考える中でLambdaのようなFaaSだけではなく、その文脈の外でよく使うPaaSに触れることで日常業務にもよい影響があります。

今は一エンジニアとしての関心と、趣味(純粋にサーバーレスアーキテクチャなりGo言語なりは触れていて楽しい)と、業務的関心の交点にいる感んじがしてとても楽しいです。

まとめ

振り返り記事を書いてよかったかどうかと言うと、よかったかなぁと思います。

技術書典申し込もうと思いつつ申し込んでなくて、技術書典に触れる部分を書きながらサークル申し込みしました。

本とかも読み終わって全部の本で反芻してるわけではない(お金2.0はけっこうハイライトした部分読み直した)ので、その本の位置づけなり、次どうしたいと思ったのかなり考える時間をちょっととるだけでも、読書に費やした自分の時間の自分にとっての価値は上がるように感じました。

習慣の枠には書いてないですが、同僚とランチしたときに「最近ちゃんと失敗してる?」的な話題が上がって大事な振り返り観点な気がしました。

誰も失敗したくて失敗するわけではないし、当然失敗すること自体に目標を置くことはないです。(得られるものが増えるわけでもないのに)敢えて失敗する手法を選択することもないです。

万全の体制で臨んでも失敗するような、それまでの自分の枠を超えた不確実なイベントに向き合っているか?そこから次の一歩のために何をしたのか?という観点は選択や振り返りを行う上で大事っぽいということです。

記憶に残ってる範囲ではあるけど書けないので次に活かします。

この3ヶ月はお金2.0とGopher道場に受けた影響がとても大きかったように思います。

Gopher道場期間の振り返りはこちら

Gopher道場♯1でメルペイさんにお世話になりました #gopherdojo

そんなこんなで6月にとうとう30才になり、いろいろと環境が変化していきそうです。

そっと例のリストを置いてみます。

https://www.amazon.co.jp/hz/wishlist/ls/355R1ZKLIIDFM

区切りなので3ヶ月分くらいゆるめに振り返ります。

副業

開業届を出してから3ヶ月が経ちました。

開業freeeで10分でパラレルキャリアをはじめました

いくらかお声がけいただき、土日はもっぱら取り組んでいます。

  • 本執筆
  • ハンズオンの素材作り

共著なので、担当部分を書くというものです。

今年は2冊にかかわるという目標ですが、書きたいと思ってもタイミングよく書けるものではないと思うので話があればなんとか都合をつけたいですね。

ただ、1〜2章書くだけでも最低2ヶ月(の土日)は時間がかかります。そのため、つぎのことは覚悟なり検討なりして臨みたいなぁという思いを強めました。

内容

現時点でめちゃくちゃ詳しい分野はないので、書き終えたときに身についているはずの内容に詳しくなりたいか?はよく考えたいです。

ちなみに今回の内容(のうちデバッガ関連)はさっそく開発に活きています。

書くことに決めた当初章立ても普段よくつかう部分しか思い浮かびませんでしたが、書くなかで俯瞰できてとても勉強になりました。

モチベーション

書き始めたらそれなりに時間はかかるはずなので、数章なら2〜半年くらいモチベーションを保てるのか、仮にとても詳しくて高速に仕上げられるならその期間もつのかは考えたいです。

特に期限が決まっていなかったり、共著だったりする場合、他のメンバーより早く書き上がったときに出版までの間原稿をアップデートし続けられるだけの思い入れなり、技術との接点があるのかだったりは大事なポイントではないかなぁと思います。

期間

僕の場合、執筆期間は他のことに手が回らなくなってしまいます。

それは他の仕事(副業)を受けられなかったり、新しく興味をもったことを全力でキャッチアップする時間がとれなかったりするかもしれないということです。

とか言ってるときっと単著は書けないので、付き合い方はうまくしていかなくてはと思っています。

3つに分けたものの、結局その技術に詳しくなりたいかどうかが大きそうですね。

ハンズオン

まだハンズオン自体は先なので素材作り段階での話です。

僕の弱点の1つは気づいたらインプットに偏ってわかった気になり、実際手が動かないという点です。

人によって違うかもですが、僕の場合はまずテーマになる技術でひととおり動くものを作ってしまってから手順書作りに入ります。

そのため、なにはともあれひととおり動くものを短期間でつくるので、否が応でもアウトプットします。

そして、

  • はまりそうなポイント
  • アップデートに影響を受けそうなポイント
  • 環境によって手順が違いそうで、検証が必要なポイント

などなど整理しながらドキュメントを作ります。

これも詳しくなりたい素材をひととおり手を動かしながら深められるので楽しいですね!

まだ募集等始まっていないですが、公開するタイミングで告知するのでよろしくお願いします。

開発

実案件に加わる話は調整中です。

副業をはじめた理由はこの記事でも触れたようにエンジニアとして強くなりたいのが一番大きいので、うまく軌道に乗せられたらなぁと思います。

いろいろな仕事でそれぞれのよさがあり、どれも捨てがたいですが、実戦・実践に勝るものはないと思っています。

ただ、まだやったことはないので、いつか本業と別の仕事は開発じゃない方がいいとか言ってるかもしれませんね。

総括

ゆとりはないし、まだ目立った成果はまだないものの、始めてよかったなぁと思います。

お金の動きは自社サービス(会計freee)で記録しているのですが、はじめて請求書を発行してそれが収入取引として記録されたときはひとえに感動しました。

きっとサービスへの愛着も増すと思います。

習慣

年初に立てた目標はこんなんでした。

  • 本(執筆): 2冊/年
  • 登壇: 6回/年
  • OSS: 1PR/月
  • ひとまとまりのソースコード公開: 1リポジトリ/月
  • 技術記事: 2記事/月
  • 技術書: 30分/日
  • その他本: 30分/日
  • カラオケ: 2回/月
  • 歌練習: 1回/週
  • 品川健康センター: 2回/月
  • 走る: 1回/週

目標はあるものの、〜ができるようになりたいという形式のものよりも、目標に向けてよい(と思う)習慣作りに重点を置くようにしています。
(もはや目標と呼ぶ類のものではない)

歌は最近ふつうに喋るのもつらい(声がでない)のでちょっと距離を置く所存です。

執筆に取り組むと技術記事のおろそかになる度合いがすごいですが、手を動かすことよりになったタイミングで技術記事書くのも再開したいです。

品川健康センターには毎週行って筋トレするようになりました。

月単位の軽い振り返りを行って、その中で書いた記事の一覧や書いたソースコード、出したPRの紹介とかあると落ち着いた生活が送れるかもしれません。

読んだ本、読んでいる本など。

読んだ

【レビュー】山田祥寛さん著 『独習C# 新版』(2017/12/15、翔泳社)の感想

読むタイミングを間違えました。

AWS LambadaとGoとServerless Frameworkをわかりやすいサンプルで学べる手頃な本でした。久々の洋書。

読んでる

エンジニアとして出会った本の中で一番影響を受けそうな本です。

妥当なクラス設計をしたい...と思ったときに、なにが原則が、原則を適用すべき場面で原則を適用するとコードはどう変わるのかをRubyの実例をもとに説明してくれています。

日々業務の中で実践し、でも足りない部分があるから指摘してもらって改善し、徐々に書くコードも変わってきたかなぁという感じです。

ひととランチしない日はいつもこれ読みながらごはん食べてます。

Goの文法ひととおり追ったらがっつり時間割く価値あるなぁと思いながら毎日割いています。

練習問題付きですが、練習問題をやらず写経するだけでもキャッチアップになってる実感があります。

Azure Functionsに焦点をあてて、「こういうビジネス上の課題をこう解決する」みたいなレシピがたくさん書いてあります。

マイクロソフト公式のドキュメントも充実していると思いますが、もう少しいろいろなユースケースを見たくて読みはじめてみたところ、ユースケースはもちろん、デプロイとかテストとかベストプラクティスとか詳しく書いててよさげです。

読みたい

手元にはあるのが大半で、早くよみたい本たち。

明けましておめでとうございます。

freeeに転職して( = エンジニアとして働き始めて)3年が経ちました。

2017年はいろいろはじまたいい年だったなぁと思っています。

2018年を強く生きるために2017年を振り返ったり、今年やりたいことを書いたりします。

2017年

仕事面

年初の時点ではこんな感じであれやりたいこれやりたいみたいなことを言ってたみたいです。

転職して2年が経ちました。2016年の振り返りと2017年の目標

  • クエリ、データベース: 自分で早くKPIを追えるように、それが動く土台も詳しく
  • 機械学習: 経営者が一歩先に進むための判断をサポートするという文脈かついいタイミングなので追いたいです
  • 設計: 打ち手を増やして、サービスを作る、変える、大きくするを継続的によくするために。汎用的なデザインパターンとクライアントサイドの定石をまず身につけます。まだまだベストプラクティスを追うフェーズでよいと思っています。
  • フロントエンド: ユーザさんが直接的に触る部分をよくするための技術、問題解決できるサービスであることを伝えるための手段として。サービスで使われてるメインの技術をまずは追えるように…C#(WPF)的な文脈ではもうちょいxamlちゃんと理解しようと思います。
  • linux: もうちょっとコマンド自由に使えるように…去年はLinux標準教科書を環境作って追ってみたら多少ましになったので、その復習プラスサーバの負荷状況調べれるようになりたいです。
  • git: 最低限もわかってない感があるので、本一通り見るのは最低限やります…
  • Xamarin: C#のコードが自分のスマホで動くのは純粋に楽しそう
  • エディタ: RubymineとVisual Studioもうちょい使いこなそう…

実際書いた通りにやったこともあります。

機械学習も3月頃まで毎週勉強に参加しつつCourseraやったり、最終的にはAzure MLを使って社内勉強会でハンズオンをやったりしたのは楽しかったです。

でも、とあるランチがきっかけでもっと目の前の問題に向き合おうと思いました。(毎年言ってる気もする)

Tokyo Jazug Nightで「Azure FunctionsとAWS Lambdaの開発フローの違い」を話してきました。初めての登壇とその理由 #jazug

「自分が困った問題の原因を考え抜く、調べきる」

どういうテーマ・技術分野をするにしても、それによって解決したい問題がある状況の方が身になると。

一方で、本を読んだりする中で何かを学ぶときのスコープ(範囲、期間)の定め方が曖昧過ぎたのかなとも思いました。

今年最も影響を受けた本の1冊でもあるSOFT SKILLS ソフトウェア開発者の人生マニュアルでも「学ぶことを学ぼう」という部(9章分)が確保されているほど大事なテーマです。

今年は初めてLTや長めのセッションにも登壇しましたが、学習の習慣作りとして重要な役割を果たしてくれました。

日付 イベント タイトル
6/22 第6回 Tokyo Jazug Night Azure FunctionsとAWS Lambdaの開発フローの違い
7/25 第7回 Tokyo Jazug Night VSTS、Slack、Microsoft FlowでASP.NET CoreアプリのCIをやってみる
8/30 初心者歓迎XamarinのLT会!Xamarin入門者の集い #3 LottieXamarinで始めるXamarinアプリのアニメーション
10/7 .NET Conf 2017 Tokyo, Japan Xamarin本の歩き方
12/9 JXUG福岡 Xamarin初心者向けハンズオン Xamarin本の歩き方2017

登壇の申し込みをする時点では何もテーマがないんですが、そこからそのときそのときの関心事を考えて、そこまで余裕のない期限に焦りつつ勉強し、なんとか資料にしていきます。

もちろん自分に確実に技術が身についていなくても喋れるのは喋れるし、妥協もいっぱいします。

それでも短期間で一定の形にして人前に晒すのを繰り返すことは意味があると思うので続けます。

登壇は最初は自分で申し込んだものの、.NET ConfやJXUG福岡での登壇はお声がけいただいたものでした。

きっと5分のLTの経験、しかも3回しかなかった自分が45分のセッション(.NET Conf)や東京から離れた土地での勉強会(JXUG福岡)に自分から踏み込む勇気はなかったはずですw

幸運にも機会が機会を読んでくれました。

会社では窓際(物理)でだいたいひきこもっている一方で、コミュニティや他社の方との絡みが広がっていったのもとても嬉しかったです。今年もかまってください。

一方登壇系は自分のやり方ではテーマがバラバラになったり、腰を据えて勉強するのが難しい短期決戦なのでもう少し長いスパンで取り組みたいと思うこともけっこう初期からありました。

そこで取り組んだ技術書典での同人誌の執筆やQiitaでのアドベントカレンダー記事、特定リポジトリ(OSS)へのコミットなど継続的にやっていきたいことです。

技術書典3で『Extensive Xamarin』という同人誌の出展・販売に携わりました

Advent Calendar 4記事の背景にあったテーマ

結果的にMicrosoft MVPも受賞できましたが、受賞自体よりも受賞することで得られる機会を大事にしていきたいと強く思っています。

Microsoft MVP を受賞しました

つまるところ、勉強しないといけないテーマ(技術領域)は年初に「これがやりたい」と思う以上にそのときそのときで変わります。

業務で Xamarin(今後公式にお知らせしますが、Xamarin.Macを使ったMacアプリは無事リリースしました🎉🎉🎉)やることになるとは微塵も思っていませんでした。

そのため、目の前の課題にしっかり向き合い、その向き合い方をより真摯で本質的にするための姿勢・習慣作りを明確にしておくことが大事そうということです。

ある程度「こういう領域やってみたい!」もないといざというときに「え、自分って何やりたいん…?」って困るんですけどね…

そういうわけで2018年の目標はより習慣的なところに重きを置きたいと思います。

音楽面

歌については去年の6月を最後に歌って気持ちいいなぁと思えない状況がひたすら続いています。

各フレーズの1言目が音にならなかったり、息が続かず異様にお腹に力が入ったりただただ苦しいです。(語気弱め)

苦手でできないことばっかりやっているので、ランチカラオケ復活してゆるゆるする時間でも作ろうと思います。

一方聴く面では7月にいった福岡でのミスチルライブが空前絶後のクオリティでした。

中3ではまりバンドをやり始めたきっかけにもなったミスチル、2009年にSUPERMARKET FANTASYのドームツアーで本物を見てからずっと追いかけていますがこの回ほど完璧と思ったことはあいませんでした。

各曲最高のシーンを集めた映画のようで、ある意味では臨場感を失っていました。

今年は早速主題歌も決まってるので楽しみですね!

家庭面

嫁氏最高本当にありがとうに尽きます。

行きたかった海外旅行(マレーシア・マラッカ)には行けたものの、新婚旅行だったり、結婚式的なものだったり大事なイベントがまだだったりするので、日付決めます。

あと、結婚したら自分の両親とお嫁さんと沖縄に行く!!!って何年か前にしていた約束も果たせたのはよかったです。

今度は2人で離島行きたい。

精神面

年初に掲げていた睡眠の質向上は継続的に取り組み、眠いと感じる日は1年でほぼなかったです。

このスリープ・レボリューションという本で文字通りスリープをレボリューションしました。

あと、精神は半信半疑で読んだマインドフルネス系の本(世界のエリートがやっている 最高の休息法――「脳科学×瞑想」で集中力が高まる)が刺さりました。

イライラと向き合うにあたり、宗教的なアプローチ(反応しない練習 あらゆる悩みが消えていくブッダの超・合理的な「考え方」とか)や名言的アプローチ(デール・カーネギーの悩まずに進め ──新たな人生を始める方法)もそれぞれわかる、せやかて工藤みたいなノリでなかなか定着しませんでした。

でもこの本は単にイライラしない以上に自分のパフォーマンスに直結するのと、よりハードワークな状況を迎えるにあたっての「心身を休める技法」の必要性に迫られている状況がある中取り組みの裏付けもしっかりしているようで比較的定着しそうです。

2018年

仕事面

新チーム

年初からこの1年親しんできた技術とはけっこう別の技術スタックを扱うチームでがんばることになりました。

技術面では、C#や.NETに触れる中で言語の周辺を支えるツールやライブラリの中身まで追うようになってきました。

その向き合い方を忘れずにまずはキャッチアップしてやり切れることを増やしたいなぁと思います。

副業/複業

あと大きいのは副業/複業を始めることです。

またしてもSOFT SKILLS ソフトウェア開発者の人生マニュアルの影響ですが、自分が個人で仕事受けるとしたら何だろう?と、そういうテーマの章を読んでこのブログのAbout Meページで求職を書いてみました。

About Me

そしたら

「こういうことできるので仕事ください!」

と出せることの幅や深さに問題意識を持たざるを得ませんでしたw

そして実際に書いた内容で求職(副業/複業)し始めました。

意図としては、

  • 自分ができるようになってきたと思うことは社外でも(ある程度客観的に)通用するのか挑戦したい
  • ここに書くことをテーマに深めていけたら素敵。振り返りもしやすい。
  • 「どこまで勉強するか」の1つの基準になる。「仕事を受けてやり切れるまで」
  • 弊社サービス会計freeeで帳簿をつけ、Macアプリで電子申告する
  • 特定の組織に依存せず生きる力を…

というところです。

週あたりの時間を決めてやって行く予定ですが正直やってみないとわからないのでこれを主軸にやってみてから考えます。

幸い開発と本を書くことについてはお声がけいただいています。※確定して始まっているわけではない

弊社のサービス開業freeeで必要な書類は揃えたので、1/4か5に税務署に提出してきます。

習慣

習慣としてはこういうのを目安に作っていきたいです。

絶対達成したいのとできたらやりたいのを敢えてふわっと…

機会があれば他をおいても挑戦します。優先度順。

  • 本: 2冊/年
  • 登壇: 6回/年
  • OSS: 1PR/月
  • ひとまとまりのソースコード公開: 1リポジトリ/月
  • 技術記事: 2記事/月
  • 技術書: 30分/日
  • その他本: 30分/日

寄稿とかないかな?

テーマ

昨年はXamarin勉強した一方でサーバーレスな技術に触れてとても楽しかったです。

UIをHTMLやJS的なフロント以外(モバイル、Bot、Chat)におさまるというかフロント苦手意識が強い?

色々ためしてみたいことたくさんあるので、Trello(カンバン式タスク管理ツール)にチケット切って積み重ねていこうと思っています。

あとはこういう単位で自分で一通り使える状態のコード書いてGitHubにあげていきたいです。
https://github.com/toshi0607/ErrorNotificationLambda

「これできます」と言うためには、細々tips記事書くのを目標にしていたら到達しない(書くことは大事)だと思っていて、一通りサービスなりライブラリなり形にしていくのを増やしていかないとと思うこともあり上に載せたコードを書きました。

そして去年はAWS LambdaやAzure Functionに少し触れてとても楽しく、PaaSの幅広げたい(組み合わせて使いたい)のでAWSかAzureの認定資格とります。

音楽面

楽しいと思う気持ちを復活させる。

  • カラオケ: 2回/月
  • 歌練習: 1回/週

家庭面

家をきれいにw

いらないものを捨てて、書斎を復活w

ソファとか床とかでPC長時間いじるの辛い…

あと、

  • 品川健康センター: 2回/月
  • 走る: 1回/週

最近引きこもりすぎて走るのすらやってなかった。

健康診断評価のランクは変わってないけど、数値は悪くなっているw

そして現金以外の資産の比率高める。

精神面

平和な気持ちで過ごしていい1年にしような!

10/1に Microsoft MVP を受賞しました。カテゴリは Visual Studio and Development Technologies です。

Microsoft 関連のテクノロジーを使用した開発を行う上で各コミュニティの先輩方の助けがあってなんとかなった部分は数え切れません。

感謝するとともに、自分もより多くの人の役に立てるようにいっそうがんばります。

以下、自分とコミュニティの関わりについて書きます。

MS MVP が何か、どういうメリットがあるか等については何も触れていないので、そういう情報が必要な方は公式サイトをご覧ください。

C# との出会い

僕は「エンジニア」という職業に憧れ、2015年1月に SIer 営業から転「職」しました。

SIer企画営業をやめ、クラウド会計ソフトのfreeeでエンジニアとして働きます

最初の7ヶ月くらいは大体 Ruby を書いて(※書けない)過ごしましたが、2015年7月頃突然 Windows デスクトップアプリのプロジェクトにアサインされました。

それが C# や Visual Studio との出会いです。

まぁ何もわからなかったです。

前職で C# で書いていた UXデザイナーさんに Visual Studio の使い方を教えてもらったのは今となってはよい思い出です。

レビュー以外は基本的に自分しか触らない、ということは自分が開発を進められなかったらこの機能は世に出ない…!というプレッシャーがすごかったです。

(会社の中でわからないことを聞いても教えてくれる人はいたのかもしれませんが、)そのタイミングで利用し始めたのが teratail (もちろん Stack Overflow とかも)だったりします。

@Tak1wa さんを始めたくさんの方にすごいスピードで助けていただきました。

その助けがなければリリースまでたどり着かなかったかもしれない機能もたくさんあります。

感謝してもしきれません。

ここからオンライン・オフラインでの「コミュニティ」との関わりが始まりました。

はじめての Qiita

助けてもらってばかりの日々が続きましたが、無事大きな機能もリリースにこぎつけ、今度は自分も何か書いてみよう!と思っていると、世間は Qiita の( Qiita をはじめとする?) Advent Calendar で賑わっていました。2015年の12月のことです。

はじめての Qiita 記事は C# の Advent Calendar です。

Windowsアプリで出たバグをBugsnagで管理し、Trelloでタスク化し、slackに通知する

C# との闘争

2016年になり、Windows アプリのメンテや機能拡張が半稼働、Ruby で書くのが半稼働という日々が続きました。

正直頭切り替えるのしんどいし、どっちも中途半端だし、C# での開発は社内でメインストリームではない…ということでだいぶモヤモヤしていました。

しかし、紆余曲折を経て、腰を据えて C# を勉強することに決めました。

2016年の5、6月には C# の基本書を改めて読み、 Qiita 記事も色々と書き始めます。

設計もできるようになりたいという思いで、『Java言語で学ぶデザインパターン入門』を C# で書き直すという Qiita 記事も書き始めました。

C#で学ぶデザインパターン入門 ①Iterator

はじめての .NET 関連勉強会

そういう言えば C# なり .NET なり勉強会行ったことないよな…と思い、行ってみることにしました。

近々開催予定だったのが .NET Fringe Japan 2016です。(2016/10/1)

Ruby や JavaScript の勉強会と雰囲気(いる人の層?)が全然違うし、何より何言ってるかさっぱりわからなかった気がします。

今思えば最初に行く勉強会としては誤りだったと思う一方、メンバーの濃い本当に貴重な勉強会だったと思います。

はじめての Xamarin

C# でモバイルアプリの開発ができるとか何とか?という話を聞き、へ〜って思っていると、Xamarin Dev Days Tokyo というイベントがあるというのを知りました。

世界中で Xamarin のハンズオンイベントをやるとのことで、参加してみることにしました。

環境構築が全然進まず困っていたところ、@_shunsuke_kawaiさんや @atsushienoさんに助けていただきました。

atsushieno さんが Xamarin の中の人だということは後から知りました。

Japan Xamarin User Groupという日本の Xamarin ユーザグループもあり、勉強会もほぼ毎月行なっているということを知りました。

その年の会社 Advent Calendar では C# というかなんというかな話を書きました。

技術的マイノリティプロジェクトで幸せに過ごすための5つの方法

年が明けるともっと Xamarin のことを知りたいと思い、 Xamarin.Forms 本の邦訳読書会にも参加し始めました。

XamarinFormsBookReading

そして自分でも Xamarin.Forms を使って簡単なアプリを作り始めました。(2017年4月)

Xamarin.Formsで家の日用品管理アプリを作り始めたお話

はじめての機械学習

Xamarin に触れる一方で、社内では機械学習の勉強会に参加していました。

Coursera の機械学習を見つつ、その演習問題をやってみたり、Kaggle の問題を解いてみたり。

その文脈で Azure Machine Learning に出会い、そのわかりやすさに感動してこの本をベースに社内でハンズオンをやってみました。(2017年4月)

インサイド Xamarin

会社でも Xamarin で開発をすることが決まり、de:code にも参加して Xamarin の話を聞くぞ!予習するぞ!というときにある連載に出会いました。

インサイドXamarin

Xamarin に限らず、ビルドとかコンパイルって何することなんやろう?そもそも .NET って何?みたいなことがとても気になり始めていた時期(遅)で、衝撃的に面白かったです。

理解できてない部分は多いとは思いますが、詳しく知りたい気持ちが増す大きなきっかけになりました。

はじめての LT

思うところがあり、2017年6月から LT をし始めました。

その経緯はこの記事に詳しく書いています。

Tokyo Jazug Nightで「Azure FunctionsとAWS Lambdaの開発フローの違い」を話してきました。初めての登壇とその理由 #jazug

はじめての LT は日本の Azure のユーザグループである JAZUG で行いました。

これからもっと Azure を使って行く予定なので、もっともっと実践的な知見を共有できたらと思います。

Microsoft MVP

その後もイベントでの登壇やサポートをしたり、業務関連の Xamarin 記事を書いたり翻訳したり、たまにコードを GitHub に上げたりしていました。

その結果、2017年8月までの1年間の活動を評価していただき、Microsoft MVP を受賞しました。

自分のエンジニアとしてのキャリアと Microsoft 関連技術は密に結びついており、とても嬉しくて受賞した日はほとんど眠れませんでした。

(訳あって9月以降の実績を含まずに受賞できたら嬉しいなぁ…と思っていたりもしました)

会社のチームに報告したり、全社集会で報告したり、察して祝っていただいたり、全社集会で報告する日にMVP Kitが届き開封の儀を執り行ったり、自分のことのように喜んでくれる人がいたりで徐々に実感も湧いてきました。

ただ、評価指標はあくまでコミュニティへの貢献で「エンジニアとしてどうか」ということではないと思っています。

今後、MVP を受賞したことで得られる機会を最大限活用し、これまでお世話になった方々のように多くの人が一歩踏み出す力になれるよう努力し、エンジニアとしてより大きな問題を解決できるよういっそう精進していきます。

明けましておめでとうございます。

2016年は前半はブログを振り返る範囲では仕事面ではパッとしない感じでしたが、後半は色々な経験ができ、掲げた目標もそれなりに達成できて盛り返した感じでした。

プライベートは文句なしです。

2016年を振り返り、2017年に向けて色々と考えようと思います。

2016年仕事面

今年何を目指すかみたいなところは元々

  • Windowsプロジェクトを体制として確立する
  • JavaScriptと真剣に向き合う(「ニャンちゅう圧倒的にこれできないからこのプロジェクトはなしかなぁ」をなくす)
  • android触る
  • API!

をがんばる年にしたかったみたいです。

転職して1年が経ちました。2015年の振り返りと2016年の目標!

が、6月時点ではもっと目の前の技術に向き合わないと何も成果出せないと打ちひしがれてたみたいですね。

28歳になりました

というわけで、この半年間はC#でWindowsのクライアントアプリを書くことと、アプリをちゃんと使ってもらうためにフロント(Backbone.js + CoffeeScript + CSSな部分。まだまだ残ってるので…)を変えていくことに集中していました。

結果、担当してる部分で対応範囲、品質、利用状況どれもだいぶよくすることができ、半年前には想像できなかったくらい良い気分で今年を終えることができそうです。

ざっくりとした内容は年末のfreee Engineers Advent Calendar 2016に書きました。

技術的マイノリティプロジェクトで幸せに過ごすための5つの方法
まとめると、社内的にマイノリティな言語を使ってるプロジェクトにいても、

  • 少し抽象化すれば他の言語、プラットフォーム、プロジェクトで活かすことができる技術や手法はたくさん学べる
  • どんな技術を使うか以前に、問題を正しく把握し、解決できているかどうかに集中すると幸せになれそう

というお話です。

特に印象深かったのは次のようなことです。

情報を得るために情報を発信する

今年は敢えてブログではなくてQiitaで技術記事を書きました。C#のことを基礎から学ぶにあたっても、知らないからこそ調べて記事にして発信することでフィードバックはもらえるし、調べて詳しくなるしでいいことしかなかったです。

去年の2記事に対して19記事。書く抵抗もだいぶなくなってきました。

Qiitaで書いた記事

ユーザさんが抱える問題の解決にフォーカスする

いわゆる「プロダクトマネジメント」の本を読む機会があってめちゃくちゃ影響されました。

特にこの本は学ぶものが多かったです。

ユーザさんがあれほしい!これほしい!って言ったからあれやこれを作るのではなく、あれやこれの背景にある課題は何かをとことん考え、それを解決するものを作る。

会社でもよく言われます。

freeeを支えるマジ価値開発の極意

意識しても簡単にできるものではないので、こういうのを意識してうまく作られたプロダクトをたくさん触ってみたり、課題をあぶり出すためのよいフレームワークを勉強してみたり追っていこうと思います。

フロントエンドとの闘争

少しずつ勉強してきたフロントエンド(Javascript)もやっと触る機会がありました。

仕事ではBackbone.js + CoffeescriptとCSSにほんの少し触れ、プライベートではReactの勉強が進みました。

本体ももちろんなのですが、トランスパイルの仕組みが整理できてないので今年はもう少しプライベートプロジェクトで進められたらと思います。

KPIのトラッキング

ユーザさんに価値が届いているかどうか、そのための施策が有効か、それらを可視化し追い続けることの重要性をひしひしと感じました。

基盤作りからクエリまで、ほぼ何もできないので今年は勉強しないと…

というような感じでした。総括すると、特に10〜12月のプロジェクトは自分がエンジニアになるときになりたいエンジニア像として掲げた

「技術寄りでサービスを考え、作り、変え、大きくしていくことができるエンジニア」

 

を体現したようなものだったのでとても有意義でした。

そして目指したい姿と、それに必要なスキルがもう少し具体的になったような気がします。それを踏まえて2017年仕事面でこんな風に過ごしたい!を考えようと思います。

2017年仕事面

「技術寄りでサービスを考え、作り、変え、大きくしていくことができるエンジニア」というのも2年経って少し変わってきた気がします。

サービスが立つべきはやっぱりユーザが抱える問題を解決できてるかどうかで、そのためにはどんな技術も頑張って身につけたいと思うようになりました。

また、特に解決したい、マジで価値あると思うのは「リスクをとって挑戦する人」が抱える問題です。

なので、目指したいのは

「リスクをとって挑戦する人が抱える問題を解決することができるサービスを作り、変え、大きくしていくことができるエンジニア」

です。

そのために必要な技術は意識的にキャッチアップしたいです。

特にデータを扱う領域で不足しているスキルは今年重点的に習得したいです。

整理すると次のようになります。

データを扱う領域

プログラミングなんだからそりゃなんでもデータは扱うだろう…という感じですが、具体的には

  • クエリ、データベース: 自分で早くKPIを追えるように、それが動く土台も詳しく
  • 機械学習: 経営者が一歩先に進むための判断をサポートするという文脈かついいタイミングなので追いたいです

基礎力向上

データ扱う領域はもちろん、エンジニアとしての身につけておきたい部分は引き続き。

  • 設計: 打ち手を増やして、サービスを作る、変える、大きくするを継続的によくするために。汎用的なデザインパターンとクライアントサイドの定石をまず身につけます。まだまだベストプラクティスを追うフェーズでよいと思っています。
  • フロントエンド: ユーザさんが直接的に触る部分をよくするための技術、問題解決できるサービスであることを伝えるための手段として。サービスで使われてるメインの技術をまずは追えるように…C#(WPF)的な文脈ではもうちょいxamlちゃんと理解しようと思います。
  • linux: もうちょっとコマンド自由に使えるように…去年はLinux標準教科書を環境作って追ってみたら多少ましになったので、その復習プラスサーバの負荷状況調べれるようになりたいです。

その他

日常的な作業を効率化したり理解深化したりとか興味本位だったりとかです。

  • git: 最低限もわかってない感があるので、本一通り見るのは最低限やります…
  • Xamarin: C#のコードが自分のスマホで動くのは純粋に楽しそう
  • エディタ: RubymineとVisual Studioもうちょい使いこなそう…

 

という感じで頑張っていこうと思います。求められる役割は四半期ごとかそれより細かい単位で変わるとは思いますが、ユーザさんの抱える問題が解決できるか?を常に考え開発していきます。

 

2016年音楽面

去年の目標は

  • 元気ハツラツ90年代をたくさん歌うこと
  • 久石譲さんの曲をピアノで1曲ちゃんと弾けるようになること
  • 心の底から歌い、届けること

だそうです!ピアノは皆無…好きで聴いてそれだけで満足していました。

ただ、今年も歌を歌う上の課題には1つずつ向き合い、潰していけたと思います。

1つ治ればまた1つ…みたいな感じで際限なかったですね。

相当な期間昼休み返上で練習すれば何とかなる部分もあればそうでない部分も…

まだまだ現役でがんばります。

2017年音楽面

個人として引き続き課題をつぶしていくこと、際限ない課題に向き合うことを諦めずに続けること。

これに尽きます。

あと会社で作った軽音部、人も増えてきたのでできる限りみんな楽しめるように頑張りたいです(あいまい)。

 

2016年家庭面・精神面

家庭面というセクションができる大きな変化の年でした。

一昨年マラソン途中棄権した男が東京マラソン完走するまでの過程とゴール

というわけで一昨年末に出会ったエンジニアと6月に結婚しました。

 

あと昨年のテーマであった「許す(問題にもっとフォーカスして解決できる人になる!)」はできませんでした。

原因は何かは『反応しない練習』という本を読んだらうんうんという感じだったので、そもそも「許さないといけない状況を生んだ自分の精神の未熟さ」を見つめる1年でした。

人に期待してためていらいらいしないように、今年は最初からぶつかろうと思います。

2017年家庭面・精神面

今年は海外旅行行きたい!

後結婚式なんらかの形でできると嬉しいです。

あと、すごい幸せなのでそれを当たり前と思わず幸せを維持できるように月々の生活を振り返ったり、仕組み化できる部分は仕組み化したりいい感じにやっていきたいと思っています。

そして「心身共に健康な状態を保つ」がテーマです。

具体的には睡眠を科学する、です。

今年もよろしくお願いします!!

6月7日(火)

28歳になりました。

hbd

会社でのいただきものです。カエルとガルボが好きです!といった結果…!

チアシードドリンクのラベルを外してもってくることでカエルの卵感が出ていてセンスを感じざるを得ませんでした。

毎年、年末年初と誕生日には振り返り、先のことをなんとなく考えるので則ります。(去年のコピペ)

エンジニア編

今のチームに移ってもう1年経ってしまいました…。

ざっくり振り返ると、腕力の伸び、遅くて心苦しいという感じです。

比較的手をつけやすい修正ですぐ片付くものは片付くものの、

  • 自分が所属するチームの関わる部分の全体像の描けてなさ
  • 大事なバリデーション追いきれてなさ
  • 調査やりきれなさ
  • これがダメなら次はこれ!の試す速さと切り替えの速さの足りなさ
  • 手に負えなくて(量的にも技術的にも)運用カバーという甘え
  • 使う技術の思想への踏み込まなさ
  • 自動化やらなさ

こう見るとエンジニアとしてショボいとしか言いようがなくて辛いですね…

今チームにはAとBプロジェクトがあり、僕はBプロジェクトにいるという想定で書きます。

昨年末Bプロジェクトではアーキテクチャを変更し、1〜3月はその精度向上に取り組んでいました。

とは言うものの、季節柄どうしてもA関連の対応に追われ後手後手に。

一度はそのいずれでもないプロジェクトでがっつりフロント周りを触ることになったものの、今はまたBプロジェクトに戻っています。

上で挙げた、自身に足りないと感じる部分はBプロジェクトで日々実感していることです。5月以降はまず改めてBプロジェクトの課題を洗い出すことからはじめ、優先度をつけ、1つずつ潰していく日々です。

チームに新しく入ってくるメンバー用にまとめたキャッチアップ用のドキュメントも結局は自分が一定以上理解している部分しかまとまってない感があります。というのも、書いてある以外の部分でも聞かれるものの、「この辺の処理読んでください…」とか簡潔に説明できないか、動かしながらでないとこういうもんですって言えない。

プロダクトの全てを深く理解しろ!!みたいなものが要求されてるわけでもないのに、チームが主に守る範囲ですら追いきれていないのもこの1年って何やたんやろう?ってなります。

Bプロジェクトの根本技術の理解深化、サンプル書きながら要素技術を導入していく、チーム向けのドキュメントブラッシュアップ(それ自体意味はあるものの、どちらかと言うと自分の鍛錬として仕様理解してる部分増やす)をここ2ヶ月くらいはしっかりやっていきます。

今年はじめ時点の目標は

  • JavaScriptと真剣に向き合う
  • android触る
  • API!

ということでしたが、ここは腰を据えてC#関連やりきるところだと最近思い直したところです。

ただ、JavaScriptと真剣に向き合うは年末からやっていて、この辺の本を写経したりしつつ勉強しました。

(途中)

(途中)

(途中)

(途中)

JS怖い、みたいなところがありましたが、教えてもらったりサンプル動かしたりで少し好きになりました。あと、最近主に書いてるC#もイベント云々扱うので活きてます。ただ前線はひたすら遠い…

でもねでもね!できないこといっぱいなんですけど、できるようになったことも…!みたいなことを言う気も起きないので、次記事書くときにはこれはなんとかできるようになった!を言えるようにやるしかないです。

音楽編

今年は90年代溌剌ミスチルソングを歌えるように!年末までに5曲くらいしっかり!が目標ですが、その土台はしっかりしつつあるような感じです。

歌い方を変えた去年のままでは弱々しくなってしまう部分を再度鍛えて地声寄りで張れるように少しずつよくなってきました。

少しずつ…

5月末のライブ動画は比較的落ち着いて聴けます。

課題に感じる部分とそれを解消するための歌い方の調整がうまくいきつつあるので、引き続き練習していこうと思ってます。

ピアノは1曲もやってない…

プライベート編

28歳を迎えた日に入籍しました。戸籍を引っこ抜いて新しい戸籍を作る、という行為に重みを感じました。

新居は8月〜、式は来年?という感じでまだまだイベントも残っていて生活の土台もできてないです。

仕事一層しっかりせんとなぁという思いを強くしました。

エンジニア同士仕事面でも高めあっていけるといいなぁ…!

プライベートの目標の「許す」もこの本

が期待以上によくて一時期捗りましたが最近進捗ダメなのでもう少し落ち着きます。

さいごに

仕事は特に不甲斐なくて何やってるんだ感が強いですが、公私のサポートが手厚く気持ちは前向き落ち着いているのでやっていこうと思っています。

決意

忘れもしない2013年12月7日。自分がエンジニアになる大きな一歩となったTech Garden Schoolの門を叩いた日。そして、フルマラソンに挑戦した日。

就活の自己PRの練習がてら始めたランニングのけじめとして軽い気持ちで申し込んだものの、走破はもちろん踏破すらできずにリタイヤ。

足が痛くて30km地点で歩くこともできなくなりました。(そのときの記事、旧doorlog)

それから約2年後の2015年10月、会社関係でたまたま東京マラソンに出走できることになり、そのときの雪辱を晴らす決意をしました。

フルマラソンを走りきる。別に肩肘張らなくても何なくクリアできる人もいるでしょう。歩いてればいつかゴールできるでしょう。でも自分にはできなかった、それなりに準備してできなかったことをできるようにするためには、よく考えてよく準備する必要があります。

課題

最優先で解決すべき課題は、致命的な(一発退場となる)ダメージから膝(の横の筋)を守ることです。

他にも、そもそも長距離を走ったのは前回リタイヤしたフルマラソンとハーフマラソン1回。

そういうわけで、膝を痛めないように体力をつけるために次のように練習すべき内容、解決すべき課題を整理しました。

1. 走るのに必要な体力を増やす
1-1 膝悪くしない加減のもとでとにかく走る

2. 走るときにかかる負荷を減らす
2-1 膝にかかるダメージを減らす
2-2 同じ膝へのダメージでも体が受ける影響を減らす
2-3 他の体の部位にかかるダメージを減らす(どこにダメージが加わるかは練習して探す)

練習

ざっと課題は上げてみたものの、意識して走らないとよくわからないので、とりあえず走ってみて改善していく!

1. 走るのに必要な体力を増やす
1-1 膝悪くしない加減のもとでとにかく走る
→無理はしない。ちょっと間が空いて年明けに地元を走ったとき、7kmくらいですごい膝が痛くなって翌日階段の昇降かなりきつい程度に…

練習で体を傷めたら元も子もないので、痛いと思ったら練習はやめて、違和感が残ったら走らないルールに。

あと、1月?のいつからかは1回走る毎に+0.8km、週末を挟むと4km増やしていく。それまでは大体4km〜6kmを週1〜3回走っていたので、最終的には平日夜に20kmくらい走りました。

・2月途中風邪引いてしばらく走れなかった
・平日そもそも仕事終わった後しんどい
・夜の時間は修行なり音楽なり会話なり大事にしたく、コンスタントに夜の1〜2時間削るの気持ち的に相当抵抗があった
・夕飯食べるの遅れるとおなか痛かった

とかでだいぶ葛藤してた気がします。

2. 走るときにかかる負荷を減らす
2-1 膝にかかるダメージを減らす

まずはシンプルに両膝にサポーターつけて対処しました。慣れるまではつけてもちょっと膝に違和感があったり、サポーターをつけることでふとももの裏が痛かったり(膝曲げるときに負荷がかかってつりそうになる)他の問題もありましたが最終的にはサポーターつけて体力消耗する以上に膝をゴールまで守り抜くことが最優先だったので妥協しました。

次に、そもそも走り方に問題があったのでそれを改善しないと…ということになりました。

・いろいろと走り方(足の地面へのつき方、姿勢等)をかえながら走る
・その道に詳しい人が近くにいる人にアドバイスともらう

中で、つま先を進行方向に対してまっすぐに、かかとから踏み込めておらず、膝の外側に無駄な負荷がかかっていることがわかったので、ペースを落として正しいフォームで走ることをひたすら意識して走る時期もありました。

2-2 同じ膝へのダメージでも体が受ける影響を減らす

2-1で走り方を改善してもダメージは残る…ので、同じダメージを受けても体への影響を減らしたい…

自分が課題に感じている問題は何の変哲もない、走る人にはよくあることらしかったので、よく走る友人に聞いたところ膝の横の筋よくストレッチして!!というアドバイスをもらいました。

確かにその部分全然伸ばしてなかったのでしっかり伸ばしました。

2-3 他の体の部位にかかるダメージを減らす(どこにダメージが加わるかは練習して探す)

膝が特に痛くなるのはわかっていたものの、きっと40kmとか走ったら他にも痛くなる部分があるはず。ということで、練習の中で痛くなるのはどこか?をきちんと覚えておくようにして、それを軽減するための走り方を探したり、ストレッチを重点的にやるようにしました。

結果的には
・足首: 上のよくない走り方が原因っぽかったのでフォーム改善するのと、足首回すのしっかりやることで解決
・肩: 僧帽筋をきゅっとしめて走る癖があったっぽいので下げるように改善するのと、上回ししっかりやることで解決
・太とも: サポーターつけてることで太ももの裏めっちゃ痛い…多少サポーターゆるめるのと、走り込んで筋肉つけるのでなんとかしました

という感じで当日を迎えました。

本番

前日は軽めに6kmくらい走り、早めに寝ていざ当日。朝の7時から受付スタート、9時10分出走!ということで割と早めに家を出て、配給されてたバナナやスポーツドリンクをいただいてスタートラインにつきました。

3万7千人が同じコースを走るということでスタート前のブロックはたくさんあり、スタートラインまでたどりついたのは9時20分頃だったような気がします。

0〜10km

けっこうな下り坂。ここで飛ばしたら膝への負荷が半端ないので、歩くのに近いペースで走ってました。

人も団子状態なので、無理してもいいこと無さげでした。

10〜20km

めちゃくちゃ苦しいこともなく最も楽な区間。ただ、時折膝が痛んで、このまま動けなくなるくらい痛くなったら…みたいな不安は常にありました。

それまで割と翌日の仕事を気にしていましたが、気にする余裕がなくなりました。

20〜30km

肩が泣きそうなくらい痛い一方で、膝がそこまで痛くなくなりました。

給水ポイントでしっかり水分をとり、ストレッチもしつつですがこの段階でほんとしんどかったです。

それまで割と目標タイムを気にしていましたが、気にする余裕がなくなりました。

30〜40km

膝が痛くないのは不幸中の幸いだったものの、ひたすら足(太ももの裏や付け根)が痛い…

けっこう怖いながらもとりあえずサポーターは外してしまい、ストレッチ、走る、歩くをひらすら繰り返しました。

それまでは残り10kmくらいは走り続けるぞ!とか思ってましたが、もはやどうでもいい、ただただゴールが見たい。

40〜42.195km

残り2km!って見えても、1kmが気の遠くなるほど長く、最後の1kmでやっと後は全部走り切ろうと思って走りきりました。

ランナーズハイなんて1秒もなかった…。

ゴール、ゴール

時間は4:57:52。4:30:00を目指していたものの、そんなことどうだっていい。

今回はちゃんとゴールに帰ってくること、2年前に失敗したことの原因をちゃんと考えること、考えて練習すること、練習して必ず成し遂げること、絶対逃げないこと、それが全てでした。

finish

就活のときにはじめ、途中けっこう空く期間もあったものの走行距離も1000kを突破!

スクリーンショット 2016-03-07 9.23.03

全部走ってるし、途中落として電源切れたり、電池切れたりしたのも何回もあるのでとにかく大台には乗ったはず…

結果として成し遂げることが世間的には平凡であっても、ある時点でそれは自分には敵わないことかもしれません。

でも、なんとかしたいと思うならなんとかする方法はあると思うし、それがどんな分野であっても立ち向かえるだけの人間になりたい。

公言してなかったですが、その象徴が今回の東京マラソンという場とそれにいたる過程でした。

こんな思いで臨んだ東京マラソン。練習に始まり、当日も各地点を回りながら応援し、ゴールで待ってくれていた人がいます。

その人にゴール後プロポーズしました。

自分が身の丈に合わない挑戦をするときにそばにいてくれて、ゴールに待ってくれてると思うだけでがんばれる人、逆の立場になったときに全力で応援したいと思える人だからです。(もちろんこれだけでないではないです)

自分勝手ではありますが、誕生日だったり、他の記念日でなく、自分が決意を貫くこの日、未熟な自分を乗り越えて行く日が他のどの日よりもふさわしいと考えました。

何事にも負けないこと、その人と幸せを築いていく決意をここに記します。

明けましておめでとうございます!昨年は公私共々人生が変わった1年でした。

それを振り返り、今年1年をどうしたいか考える。そんなことをしながら元旦の午前を過ごそうと思います。

2015年

隔月〜四半期くらいのペースで記事を書いて振り返っていました。改めて全部読んでみると、そのときそのときに必死に考えてること、その次の3ヶ月くらいでどうしたいか、その前に思い描いたことが実現できたのかがわかってよいなぁと思いました。

ただ、それだけではなくてやっぱりこんな風に1年とかそれくらいのスパンを振り返り、次を思い描くのもあるとなおよいなぁという感じです。

1月〜10月

SIer企画営業をやめ、クラウド会計ソフトのfreeeでエンジニアとして働きます : 0ヶ月

転職して3ヶ月が経ちました。もっと速く修正したい。 : 3ヶ月

27歳になりました : 6ヶ月

転職して半年が経ちました。「技術だけで生きるというのは幻想である」だなんて僕は言えない。 : 7ヶ月

freeeへの闘争、終結。正社員になりました。 : 8ヶ月

転職して9ヶ月、面接受けて1年が経ちました。ここは求めた場所なんやろか? : 9ヶ月

転職して10ヶ月、内定もらって1年が経ちました。この1年で何が身についたんでしょう? : 10ヶ月

スタートラインに立つまでのお話。自分の技術的な成長のボトルネックは技術そのものでなく、人との関わり方(頼る、自分を過度に卑下しない)にありました。

11〜12月

10月にはじまったプロジェクトが12月でひと段落しました。大事な目標を掲げるときはダルマを買う、いわゆるDDD(Daruma Driven Development)を実践しているのですが去年2つのDDDを達成しました。

daruma

5月頃既に立ち上がっていたプロジェクトではあったのですが、追加機能をリリースするのはもちろん、今後の拡大を見据えて再設計し、バグやKPIのトラッキング、開発体制を大きく変更するというもの。

それまで主に書いていた言語と異なるのも自分にとってはチャレンジでしたが、エンジニアになるときに掲げたこと、昨年はこんな風なことやりたいと掲げたこともあってビジネス上の文脈以上の意味を持たせていました。

リリース後に…があり、力不足は隠せなかったものの周囲の方々にだいぶ助けてもらって文字通りひと段落というところです。

6月の記事には目指す姿としてこんなことを書いていました。

  1. 今目の前にある、まさに必要とされることを何でもこなせる
  2. 今の体制では手薄になってしまう、けれどもみんな必要と思っていること部分の仕組みを一から(とは言わなくても「自分がやったった」って言えるくらいの貢献度で)作りたい
  3. 特定の分野と、逆に誰もやってないけど誰がやるといいやろう?みたいなときにアイツや!って声かけてもらえるようになりたい

それぞれ振り返ると、

  1. 社内に知見が少ない分野(聞いたら分かったこともあるかもですが、結局調べないとどうにもならないみたいなことが多かった期がする)でしたが、最低限動かすのに必要はことは調べ切りました
  2. 他のプロジェクト参考にしたものの、意識的に時間とらないと入れられない仕組みをいれました
  3. 8月か9月くらいの面談?での「この分野はニャンちゅう(※社内での呼称)が育てたって言える分野として育ててくれ!」という言葉と共にアサインしてもらったプロジェクト

という感じです。

単にコードを書くだけでなく、ほんの少しだけエンジニアリングに近づいた気がしました。

ただ、他のプロジェクトと同じように運用しようとするにはまだ足りていない部分が多いです。悔しいです。次の四半期でまたよい報告ができるようにがんばります。

朝会

4月頃?からみんなの前に立って担当し始めた全体朝会。忘年会にて特別賞枠で表彰してもらいました。

オフィス移転前には100人前後の前で話す感じで気分はさながらライブ。日付言うときにはずっと手震えてたし(日付以外はそうでもない)、未だにそうだし、きっとこんな時間無駄って思う人いっぱいいるし、それ言う?言っちゃう?みたいなことも言われたし…

駄菓子菓子1人あたりの時間×人数分自分が社員を拘束するのはそれだけの責任が生じて当然。体を張って(?)滑ることを恐れず(いや恐い)、声も多少集めつつよいと思ったことはとりあえず試してみる日々でした。

効率化できることがあったり、もう一歩踏み込むべきところがあったり、朝会司会を仰せつかった頃とは大きく異なる規模に見合った朝会を設計する(やめる、も一選択肢として考えるべき)ことがあったり、これはこれで大切な仕事だと思うので人の力も借りつつ続けていきたいです。

情報発信

チキって書けなかったQiita記事。freee Engineers Advent Calendar 2015をきっかけにとうとう年末2本書きました。

ここで紹介されているGrowing Rails Applications in Practiceという海外本の全訳もGW前にやった気がします。

自分くらいのレベルだと、こういうの書いてる暇あればコード書けって思われそうな気がしてついつい控えてしまいますが、特にC#とかほんとMSDN読んでもあてにならないことも多く、こういう善意で発信された情報に支えられたと思っているので、今度は自分も貢献したいと思う気持ちは強いです。

エンジニアやってていいなーと思うのは、大して価値があると思えない知識の有無で無駄に削られたりしないことです。属人的になってしまう部分やさすがに公にできない情報ももちろんあります。それでも、根本はオープンな情報の元でコミュニテイが存在し、オンライン/オフライン問わず門戸が開かれているという世界はほんとに好きです。好きです。好きです。

総括

というわけで、

職業としてエンジニアを選んでほんとによかった

会社楽しい部活も全力でやった

会社組織の一員として解決すべき問題はあるのでそっちもがんばった

最後までやりきれなかったことも…………

そしてこの会社でエンジニアとして今も変わらず(よい方向にはもっと変われ)働き続けていられるのが昨年一番の成果です。

対外的な部分で判断してなんぼやろ、と思うのですが去年の目標はひとまずそこなのでよしとしましょう次元低くてさーせん。

one more thing

2015年振り返るという文脈でどう考えても欠かせないのがルームシェア。大学入学と共に東京に引っ越し一人暮らしを始めましたが、縁あって1月半ばから3人で暮らしています。

2014年からプログラミングを教えてもらっている師匠と、一緒に教えてもらってた人です。

いろいろ思うところはあるものの、まとめると意外にもこんな感じで変わりはありません。

『ぼくは明日、昨日のきみとデートする』を読んで

7月の頭に書いた読書感想文でですが、人が大切だと思う感ってこんな風なんか…と今更ながら気付かされました。

全員プログラムを書いたり、エンジニアリングをしたりする人なのでそっちの話をするのが筋かもですが、より強く思うのはこっちです。

そういう感じの話も別の機会にできたら嬉しいです。

 

2016年

1年スパンで目指したいことを。

エンジニアとして

「エンジニアとして具体的に直近こうしたい」は11月〜12月で書いた通り10月からのプロジェクト、より体制として確立させることです。

その他は、

「ニャンちゅう圧倒的にこれできないからこのプロジェクトはなしかなぁ」をなくす!!!

です。

そういうと語弊しかないので言い直すと、フロントもちゃんと書きたいということです。

サーバサイド満足に書けないし、設計もできない、言語の周辺も知識/経験すべてが不足しているのはわかっているけど今年はそこなんとかしたい。

フロントに限らず、QAテスト的な文脈やいろんなプラットフォームで使えるクライアントアプリという文脈でJavaScriptと真剣に向き合いたい。

あと、クライアントアプリ書いたよしみでandroid触りたい。

API整備できる人になりたい。

他の細かいところはこの記事に書いたのとあんまり変わってません。

転職して10ヶ月、内定もらって1年が経ちました。この1年で何が身についたんでしょう?

ただ、1年大枠としては

  • JavaScriptと真剣に向き合う
  • android触る
  • API!

というのをやっていきたいです。バックエンドとフロントエンドちゃんとつなぎたい…

このやり方即戦力にはなれなさそう…と思いつつ、今そういうプロジェクトに携われたら勢いでどうにかなるという思い込みも込みでこの順番でやり直してます。

JavaScriptの学習本をレベル分け!入門、中級、上級全6冊

過剰な苦手意識とこれまで学んだことを活かして概念に馴染むところから。

最新動向は社内の圧倒的革命家たちの記事とコード読みながらいつの間にかキャッチアップします。

音楽

昨日振り返り、思い描いていました。こんな感じ。

ギターを弾く、ピアノを弾く、ミスチルを歌う、今年1年の音楽を振り返る

元気ハツラツ90年代をたくさん歌うこと

久石譲さんの曲をピアノで1曲ちゃんと弾けるようになること

心の底から歌い、届けること

以上!

人間として

人としてですね。大学のときから1年に1つテーマ的なものがあったんですが、昨年は定めず?定められず?でした。

今年のテーマは「許す」です。

昨年は楽しいことがとことん楽しい1年だっただけに、イラッとすることはほんとにイラッとしてた気がします。今でも思い出すだけでいろいろとイラッとします。体調まで崩すのほんと誰得。

とはいえ、イラッとしたところで結局状況は何一つ変わらなかったし、その環境から別の環境に移動するのに腐心するくらいならもっとエンジニアリングや価値の創出に集中したいので、受け入れも対峙もせず、ただ「許す」です。

きっとその状況の中で自分だけこんな思いして飲み込まねばらないのか…とか考えると思います。いや、きっとなんてことはなく絶対思います。

駄菓子菓子、この記事を読んで吹っ切れました。

【岩田 聡氏 追悼企画】岩田さんは最後の最後まで“問題解決”に取り組んだエンジニアだった。「ゲーマーはもっと経営者を目指すべき!」特別編 -

岩田さん、エンジニアとしてすごいのは別に誰が見てもそうでしょうという感じなのですが、とことん問題にフォーカスする姿勢、記事の最後のページに出てくる

「志向性が違えば衝突するのは当たり前です。それをわざわざぶつけさせるやり方を取るのが悪い」みたいに発想して,一つ一つ問題を解決していくんですよ。

というのに痺れました。社内にもその辺含めてすごい尊敬する人がいます。直近プロジェクトが無事乗り切れたのもその人に認められたいみたいな感情があったことは否定できません。

というわけで、外面としては「問題にもっとフォーカスして解決できる人になる!」ということにしておきつつ、その前提として「許す」ことができる人になりたいです。人間への闘争。

 

最後に。仕事はもちろんですが、プライベートでも本気出して幸せな感じの1年にします。

今年もよろしくお願いします!