ということでMSのイベントに行ってきました。

昨日Visual Studio 2017の正式版がリリースされ、本国でKeynoteとDemoがあったんですが、それを見つつMSのエバンジェリストの人がわやわや喋る + LTみたいなイベントでした。

立食パーティみたいな感じであんまりメモとったりできなかったのですが、覚えてる範囲でVisual Studio 2017の目玉?を書いときます!

インストーラ

  • 超絶はやくなった。今まで2時間とかかかってたのが10分に!(※オプションによる)

本体

  • 起動もはやくなった。50%減!(※パッケージ* による)
  • ライブユニットテスト
    • 割とVS2017の目玉扱いされていて、コード変更して1秒後くらいにunitテストが自動で走り、落ちてるテストの行の横に×ついたりする。

こんな感じ!


Visual Studio 2017 RC のライブ ユニット テスト より

動画

  • コード検索絞り込み
  • mつけるとメソッドだけに絞れたり
  • エディタコンフィグのサポート
  • suggestionという形式でエディタにコーディング規約埋め込める

C#7

コンテナ

Docker for Windowsにデバッガ使える、ステップ実行できる!

Xamarin

  • インストーラ性能改善
  • テンプレート場面場面で適切なのに絞られて表示されるようになった(元々選択できるものすべて羅列されて大変だったんです…)
  • モバイルのプロジェクトだけでなく、バックエンドも一緒に雛形作ってくれるオプションが出た
  • インテリセンス賢くなった(特にXAMLまわり)
  • アプリのUIプレビューで階層構造が立体的に表示できるようになった(?)

Visual Studio Mobile Center

  • モバイルアプリのテスト、ビルド、配布、クラッシュレポート等統合管理できるやつに直接VSから繋げるようになった
  • windowsもcoming soon画面が出た
  • react nativeも入った(MSのプラットフォームで作ってないものでも受け入れていく意向)
  • github連携
  • ブランチ毎に
  • テストはエミュレータでない。デバイスファームにapk投げつける
  • 招待制だったがそうでなくなった

DevOps

  • Redgate Data Tools)が組み込まれた
  • DBスキーマからマイグレーション スクリプト作れる?
  • SQL Server標準ツールもインテリセンス強化

続きはde:code 2017)ということで見に行きたいなぁ…

まだ2015使ってますが諸事情によりサービスパックが出るまでは上げない予定です。

入れて試してみないと実感わかないですが、いろいろ試したいですね!

個人的にXamarin.Formsで家庭の日用品管理アプリを作ってるので、Visual Studio Mobile Center使ってみたいなぁと思ってます。

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

Androidは実機でビルド・デバッグしてますが、使ってるmacにXamarin入れる容量的余裕がなく…

いろいろと楽しみですねーーー

エンジニアになって2年ちょい、ブログでは人生の進捗報告しかやってこなかったのでたまにはエンジニアしようと思います。

勉強した内容とかQiita書けばええやん、社内のことならQiita:Teamでええやん、と思ってたんですが、一時の気の迷いです。

 

サービスが作りたい

エンジニアになるまで人に教えてもらったり、独学したりする上で開発を勉強するなら自分で何か作るしかない!

ということで作ったのがこれとか、

【重大発表】飲み会幹事向け検索サービス「助三(すけさん)」リリース!!!

これとかでした。
http://toshi0607.sakura.ne.jp/kakusan/index.html

そして、物心ついてからは自分でサービス作ってない!

業務以外で書くコードは大体写経。別に作りたいものないし...

とかとか普段通りの休日を過ごしていたときに出会ったのがXamarin.Formsでした

Xamarin.Formsってなに?

Xamarin.FormsというのはC#で書くとWindowsのストアアプリはもちろん、iOSアプリも、Androidアプリも、macのデスクトップアプリも、もうちょっとしたらTizenアプリも作れてしまう便利なプラットフォームなんです!(雑)

※いろいろと誤解のある表現なので、厳密に知る必要がある方はいろいろググれば出てくると思います。
Xamarin(ザマリン) とはなんぞや

昨年Microsoft社がXamarin社を買収してVisual Studioと関連付けて無料で使えるようになったこともあって注目する人も増えて気がするし、Microsoft社も積極的に宣伝してる様子です。

そんな中、昨年Dev Days Tokyoというイベントがあり、参加してみると感動したのでXamarin.Formsで何か作ってみたい!!!という気持ちが高まりました。

感動したというのも、

  • 普段書いてるC#でアプリが動く!
  • コミュニティ(JXUG: Japan Xamarin User Group)の方超絶親切

というのがあります。環境構築なかなかうまくいかなかったんですが、めちゃくちゃ助けていただいた結果、自分の書いたコードが自分のスマホ上でアプリとして動く感動を得ることができました。

家の日用品の在庫を管理するアプリを作ろう

割ととりあえずコード書いて動くもの作りたい、という動機が強かったものの、日用品管理でたまに困ることがありました。

スーパーに行ったときにケチャップ家にあったっけ?

お風呂でシャンプー切れてるうわああああああああ

みたいに、日用品・食料品を買える場所に行っても家にある在庫の数がわかんなくてもやもやする、日用品切れてから気付いてイライラする、みたいなことがあるのでそれを解決できるものを作ることにしました。

もちろん、もの切らしたくないならAmazonで定期便セットすればいいんですが、食料品とか絶対近くのスーパーで買うし、日用品は薬局行くし、そこ突き詰めることはやめてとりあえず動くもの作って改善していくことにしました。

というわけでStockIOというアプリを作りました。

gif動くかなぁ...基本的な仕様は

  • 買わないといけない = 在庫数が自分で設定した閾値以下
  • 買い物リストを更新(+をクリックして在庫数を増やす)するとリストから消える
  • 管理タブには管理したい在庫の名前、在庫数、閾値を一覧できる
  • 在庫の新規登録、更新、削除ができる

 

という、今のところ何の変哲もないCRUDがあるだけです。いつもAndroid端末を使ってるのでAndroid端末だけ動作確認してます。

iOSをビルドするためにはmacにXamarin入れてリンクしないといけないんですが、容量的に厳しく...

コードはこんな感じです!

https://github.com/toshi0607/StockIO

開発した内容とか今後実装したいこととかもGithubのissueで管理してます。

https://github.com/toshi0607/StockIO/issues?utf8=%E2%9C%93&q=is%3Aissue

アーキテクチャ

バックエンドはご多分に漏れずAzureです。

Azure Mobile Serviceというのがあって、DB準備してくれるのはもちろん、

  • オフライン同期
  • ユーザ認証
  • プッシュ通知

等々、モバイルアプリを作るうえで欲しくなるものが揃っています。

オフライン同期には対応してます(たぶん)。

これからの展望

  • Realmで動くようにする
  • ユーザ認証できるようにする(家族単位とか、複数ユーザで共有したい)
  • エンプティUIになるときアニメーションつける(Lottie使ってみたい)
  • 画像登録できるようにしたい
  • 在庫に対してお店を登録して、残数が閾値下回ってる状態でそのお店の近くに行ったらプッシュ通知くるようにしたい
  • iOSでも動くようにする
  • 登録作業もうちょいどうにかならんかなぁ...もはや写真だけでよいかもやし、写真撮るだけで名前入ったら楽そう
    • Azure Cognitive Services使いたい(機械学習モジュールがAPIで使える!!)

とかとかです。機能作るというより、技術要素かじりたいという思いの方が大きいです。

一応MVVMで書くようにしてるので、今それっぽくないところは(それっぽくないと認識できる程度に勉強して)直していきたいです。

ストアにもゆくゆくは上げたいな~

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

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年にします。

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

1年位前にこんな記事を書きました。

ミスチルという呪縛の向こう側にある音楽

ミスチルという大好きな音楽。長年向き合ってるけど全然うまいことできない!けど、なんとかしたい!!ということでこれまでと歌い方を大きく変えてやってみよう。そんなスタンスで取り組んだ昨年のお話。

駄菓子菓子、いざ肝心のミスチルに新しい歌い方で取り組むことになる新しい1年はお仕事も変わる。果たしてうまく練習していけるかなぁ…

という内容でした。

今回の記事はまさにその結果、この1年の音楽が自分にとってどんなものだったかを振り返る記事です。

新旧の統合

昨年の様子

全然うまいことできないミスチルの音楽。いろんな「うまいことできない」はあるものの、自分が歌うにあたっての致命的なところは

  • 高い部分歌えない(音程が下がってしまう)
  • 無理に高い声を出そうとして喉をしめてしまう
  • 喉に高負荷をかけ続けるため最後までもたない

です。終わってます。

これらを克服するために、喉をしめて無理するこれまでの歌い方を根本的に変えないといけない状態でした。

そこで、ミックスボイスというのを教えてもらい、取り入れました。

平たく言うと、普段喋る地声とクロちゃんよろしく裏声の間の声を出す。太めの裏声で高い部分を歌うという感じです(とか言ってると怒られそう…)。

昨年は秦基博さんの鱗をこの歌い方で歌ってみて、だいぶそれっぽさが出た気がしました。

けど、ゆったりしたふわっとしたテンションの曲ではそれっぽくなっても、自分がやりたい元気ハツラツ90年代ミスチルソングにはちょっとか弱すぎるという状態でした。

今年の様子

そういうわけで今年最初に課題曲としたのはミスチルのNOT FOUND。普通に地声を張って歌うのは絶対無理!!というのを敢えて持ってきました。

途中で曲変えざるをえなくなって全然仕上がらなかったですが、

  • 地声の余裕ある音域でもかなりのどしめてる
  • 地声でがんばるかミックスにするか迷う音域がある
  • 歌い方変えたことによって息使いすぎて苦しい

等々課題山積。好きで歌ってきた数々のミスチルソングはもうこれまでと別の曲と捉えた方がいいというのがよくわかりました。

もしもピアノが弾けたなら

7月頃だったでしょうか?年末にコンサートがあると。

基本ピアノコースの方々が参加するもの、ということだったのでどうせならピアノ弾き語りでミスチルやろうかなと思いました。

  • ちっさい頃ピアノやってた
  • ハイスイノナサっていうバンドが好きで、ピアノけっこう入っててピアノの音を求めてた
  • 仕事しながら久石譲さんのピアノコレクションひたすら聞いててピアノ熱が高まっていた
  • 最近新しいこと挑戦しても何とがなる気がする

等々重なって挑戦してみることにしました。

やる曲はミスチルのHERO。

前奏・間奏のメロディに確実にピアノが合う気がするのと、伴奏は伴奏でけっこうピアノ入ってるのと、原曲もサビはミスチル楽曲には珍しくふわっと歌っていることからです。

あと、年末の寒い季節にこんな曲演奏できたら素敵かも…という妄想の産物ですね。

コンサート自体は音楽に限らずここ数年で最も緊張して散々でしたが、コンサート後も練習し続けて人前で歌う機会があってそれなりになったり、録音して聞けはする感じになったりと選んでよかったなぁ…という半年を過ごしました。

今年最後のレッスンはHEROにしてもらったものの、「あれ、こんな歌いづらかったっけ…?」ってくらい新たな課題が見える結果となりました。けどいったんこれはこれで区切って年明けは声張らないと迫力が出ない曲を課題曲にする予定です。

そして3月にあるライブでやります。

ピアノで弾き語る

ピアノ弾き語りは弾き語りで人生初だったので備忘録!

  • 本番1週間前の時点で、暗譜しようとせず暗譜した状態になってないと本番は弾けない
  • 最悪足、右手、左手、歌、マイク、聴衆、楽譜バラバラに意識することになるが、少なくとも楽譜は省きたい
  • 早めに妥協してシンプルなアレンジにすること。楽譜通り伴奏引くことが目的では決してない
  • けど何かしら本番が終わったら元のアレンジで弾けるように練習を再開すること。うまくならない

バンドでもミスチル

折しも7月に仲間を見つけ社内で立ち上げた軽音部。

忘年会でバンドをやろうということでミスチルのシーソーゲームをやらせてもらいました。

これこそザ・元気ハツラツ90年代ミスチルソング!自分がやるタイミングとしてはまだ早い…と思いつつ。

前後いろいろとあったり言われたりで歌える心境ではなかったんですが、しっとりとゆるっと歌うのとはまた違う空気に胸がアツくなったのでどうにかしようと思います。

番外編

もう1つの挑戦

久々に前職のサークルにも顔を出し、11月にはライブに出ました。aikoのギターで!

ギターだけ持って、歌なしでライブ出るというのは大学以来。何かと挑戦の多い年でした。

思ったより手も震えどうしようもない感じでしたが、ギターはギターで楽しいですね。

ボーカルやるにしても、ギター難しいからこのバンドコピーは無理!というのはもったいないので細々と続けていきたいです。

あとaikoよかったなんで聴いてなかったんやろう…

今年前半

年の最初の方にやってたの、よく考えたら秦基博さんのアイでした。

これもギターがネックになりそうな曲で、ライブバーで弾き語ったときけっこう手が震えた気が…

ギターで細かいフレーズ弾かないといけない曲、まだ成功したないのでこれはこれで課題ですね。

好きな曲なのでもっかいどっかでやりたいです。

秦基博さんのアルバムも今月出たのでいろんな曲やってみたいですね。

来年の音楽

まず、今年は変わらず、むしろ多めに音楽できてすごくよかったです。

時間作るのはほんとにやりたかったらなんとかなる!

普通に人と楽しく昼ご飯食べたら40〜60分。昼休みに菓子パン買って、喉詰まらせながら30分カラオケ入るだけでも全然違う。すごいしんどいけど。

ピアノはピアノで久石譲さんの曲やっていきたいなぁ。

このアレンジがとてつもなく好きで落ち着きます。

ピアノでジブリ Studio Ghibli Works Piano Collection

ピアノ弾き語りもあと何曲かやってみたいのあるので、また機会があれば必死に練習するとしましょう。

でもやっぱり来年は元気ハツラツ90年代ミスチルソングをかっこよく弾き語りたい!

自分の音源聴いてても依然としてため息ばっかですが、去年よりは確実にマシなので来年は今年よりももっと上達させたいです。

勢いに任せて書いた去年の記事とは違って淡々としてしまいましたが、1年でミスチルのライブに3回も行ったり、ミスチル部作ったり、音楽的文脈でより憧れを強くし、前よりはほんのちょっと、ほんのちょっとだけ自信を持てたいい年だったかなぁと思いますいい年なだけに…

11月1日

に書いたことにしとこう。

内定もらったのがちょうど去年の10月28日(火)23:22。電話にて。条件付きではあったものの、ただただ嬉しくて師匠にすぐ連絡した気がする。

それはおいといて、そこから実務でエンジニアとしてやっていくための準備が始まりました。

bsPAK86_codeing20140517

それまではCakePHPとjQueryとRailsをほんの少し触っていたものの、いざ業務となると話は別です。

内定もらってすぐ会社に行って、こんな本読んだらいいよ!みたいなのを教えてもらって修行が始まりました。

いわゆるfreeeへの闘争というやつです。

前職では引継ぎや挨拶回りした後有給に突入し、それから入社まで大体の時間は課題図書を読んだり、ものをつくったりして過ごしました。

今回はこの1年で
・どんな勉強して(何読んで)
・何ができるようになって
・何ができてないのか

を書きたいと思います。業務より少し広い範囲でエンジニアとしての道のりを定点観測する大事な時期だったり。

入社前の課題(11月〜1月半ば)

内定とほぼ同時に言い渡された(表現的に受け身ですがとてもとてもありがたかったです)課題図書、3ヶ月でマスターしようシリーズ。

毎週会社に報告に行ってKPTを振り返り、今週はこんだけやります!って宣言してまた次の週、みたいなのを繰り返してました。

そのときの内容、Evernoteに「精神と時の部屋@freee」ってタイトルで丸々残っててそっ閉じせざるをえなかったです。

Webサイト

Railsチュートリアル4.0版
jnchitoさんのRspecに関するQiitaまとめ
Railsガイド

書籍

Everyday Rails

ものづくり

・二次会会場検索
・端末管理システム
・書籍管理システム

まず最初の1週間でRailsチュートリアルをやりました。実質4日くらいでひーひー言いつつ…。

途中から全然わからなくなってきて、でもこれ次行くときまでに最後まで動かせんかったら未来はないと思え…みたいなテンションでとりあえず出てくるエラーを潰しつつ最後までやりました。

結局半年くらいで4周写経しました。

1周の写経と写経の間にいろんな知識が身についてて(Rspec勉強する時期がったり、都度Rubyのメソッド調べたり)、やるたびに理解は深まってるのを感じたものの、最後に写経したとき、最後の方やっぱ難しいと思った覚えがあります。

1周目で
・マジRspecわかんねぇ
・RailsとRubyの境目どこだよ…

って思ったので、次に
jnchitoさんのRspecに関するQiitaまとめを読んだ上でEveryday Rails(Rspecのチュートリアル的な本の邦訳PDF。先に書いたjnchitoさんが翻訳)とパーフェクトRubyをやるという流れです。

こんな感じで特にわからないと感じた部分に関連する関連書籍を週3冊程度、それぞれ100〜250pずつくらい読み進めました。

11月末からは社内の端末を管理するシステムを設計して作り、Rspecも足してみるというのをやり、正月には書籍管理システムと作りながら年越しました。

バーコードリーダーでISDN読んで楽天APIをたたいて書籍名を引いてくる、というのをどうしてもやりたくて(こんくらいできないと未来はないと思えと思いながら)必死だった気がします。

1月からは業務も始まりつつということで、12月までに大体読み終えて(わからんものはわからんと割り切って)入社という形になりました。

当時通っていたプログラミングのスクールは年末でゼミが終わるということで卒業制作に勤しんでました。

こっちはこっちで必死で、
・食べログAPI
・GooleMapAPI
・ページ下部でクリックしたら上部まで戻るjQuery
・非同期通信
・UIの何かしらのライブラリ
をなんとか使いたくて、これはやる!って言ったものはとりあえず全部動かしたと思います。

結果できたのが、現在の近くにある飲み屋さんをマップ上に表示しれくれる、二次会会場検索サービス各参(かくさん)。※ふりではない

Github
各参

Qiita teamとか振り返ってみると、なんかすごい遠慮してる感じ…(1月半ば〜3月)

入社してすぐはあまりにもコード書けなくて、このままではあれですね的な面談を受けつつ社内向けの機能をリリースしたりしてた気がします。

private APIをいじって、クライアントも準備してみたいな感じでチームをまたぐ開発をしました。一歩一歩調べつつ。

コードの実行を途中で止めてデバッグする、というのを最初に教えてもらっていっぱい止めて動きを追いかけてました。

一方でどういう書き方がいいものか他社のコーディング規約を読んだりしたり、リファクタリングの本読んだりしたものの、
・cookpadコーディング規約

周りの人に相談してやっぱ手動かさないとどうにもならんよねってことで基礎振り返りつつとにかく写経してたっぽい。
・パーフェクトRuby(再)
・楽しいRuby
・パーフェクトRuby on Rails

あと、メタプログラミングRubyとか読んでて、よくわからんかった。

2015年10月10日に新版発売。

転職3ヶ月経った直後の記事、こちら

ただ、なんかこの辺りのQiita teamの記事1つ1つに空回り感というか、できない負い目みたいなのを感じられて胸がすごい苦しくなった。

まわりを頼れ!!!(4〜5月)

上でも触れたものの、なんかこうできない自分の負い目で過度に遠慮してまわりにあまりもの聞けないみたいな時期があって。

もちろんコード書くのはまだまだだったものの、それ以上に仕事のスタンスとしてある程度調べてわからなかったら周りに頼って聞く。自分で調べてどうにかするのが大事なんじゃなくて、ちゃんとリリースすること、聞くことを通じて爆速で成長することが大事やから!っていう話をしてもらった。

その流れもあって全社の朝会と社内イベント企画みたいの担当させてもらうことになった。

そこから少し肩の力が抜けて変わり始めた気がします。

この時期は
・Railsチュートリアルもう1周
・リファクタリング案件向けにEveryday Railsもう1周
Code SchoolのRubyシリーズ講座毎晩
・お決まりの書き方が知りたくてRails3レシピブック
Growing Rails Applications in Practice訳して読んだ
をやってました。

やることががらっと変わる(6〜8月)

紆余曲折を経てチームが変わりました。それまで馴染みのあまりなかったseleniumをたくさんたくさんたくたくさん触って、コードを書く量は少し増えたと思います。

それにプラスして、同じ技術を使って他のチームをサポートするコードを完全に自力で書き、その過程で技術選定もやってみました。

それまでは既存のコードに足して機能を追加したり、リファクタリングしたり、バグ直したり、調査したりと一から書くことはあまりなかったのでものすごい勉強になりました。

通常業務にもだいぶいい影響があったり、もう少しインフラ周りも勉強しないとと実感したり。

そのとき一番お世話になったのがこの本でめちゃくちゃ面白かったです。

それと、Railsチュートリアルよりももう少し実践的で具体的なサンプルあるもの写経したいと思ってこの本やりました。

プロジェクトでも目にするような設計になぜなっているのかシンプルな作りのものを作り変えながら進めていくのですごいよかったです。これはもう2周くらいしたい。

続編はKindleのみ。

あとseleniumの基礎とQAについて。

自分が主に育てていく領域をもつ(9〜10月)

新しいチームにも漸く慣れ始めてきたとき、それまで使ったことのない、型のある言語でクライアントアプリを書くことに。

わからないながらも短期間であほほど調べて何とかリリースを重ねるうちに、いつの間にがこれまでで一番大きな開発をやることになっていました。

まだ出たばかりのものを引き継いで、単にコード書くだけでなく拡張性を考慮して設計したり、修正のフローやサポートのしかたを考えていく楽しいプロジェクトです。

周りには何年もプログラミングを経験している人がいる中で思い切った開発させてもらうにはきっと社内に知見がそんなにない分野でもオーナーシップをもって諦めずにやりきるしかなくて、チャンスがあれば食い気味に案件取りに行くしかないと思っています。

そうやってもらった案件には愛着しかなくて毎日楽しいです。

最近はこの本も読んでて、本当に楽しい。

ある程度馴染みのある分野ならなかなか手を出せなかったJavaScriptとも仲良くなれるかも…という淡い期待があるからこその楽しみですが、QA的な分野にも活かせたらなぁなんて思っています。

ただ、やっぱりJavaScript書くならがっつりフロントやりたくてまだまだ距離あるなぁと感じつつ。

今の案件だとそこまでフロント書く感じではないですが、apiがっつり触れるタスクやらせてもらって詳しくなった上で、それ使いこなしてフロントへ…みたいな流れになるようお仕事もらおうと企んでます。

そういう意味だと.NETのWPFがけっこうイベントイベントしているので前よりは理解しやすくなってるのではとも期待しています。

身に付いたこと

という流れでこの1年で何が身についたんでしょう?

Rubyの基礎

・とりあえず今やりたいことは普通に調べて出てくる程度のメソッドでやりくりできる程度。
・メタメタしていると一切理解不能。

Railsの基礎

・処理の流れはbinding.pry挟みながら何とか追える程度。
・Railsコミュニテイで盛んな設計(formとかpresenterとかserviceとか)は何となく真似する程度。
・いやでも画面とかフロントエンド絡むと途端に手止まるなぁ…

まとめると、処理の流れは何とか追って既存のコードの真似して何とかコード書いているものの、設計思想とかパターンへの理解が曖昧で書くのも読むのもいまいち確信が持てない状態。

フロントはからっきしダメ。

直近身に付けたいこと

オブジェクト指向

・C#書いててどかっと新しい機能足すときに「ザ・オブジェクト指向」なところで完全に手が止まる。

設計

・こういうときはこういう設計するよね、みたいなの知りたい。
・なんでこういうフォルダの切り方するの?みたいなの普通によくあるデザインパターンだったみたいな事例があった。

フロントエンド

・この期待感を形にする

まとめると、少し実装は追えるようになったきたからこそなぜそうなっているのかを理解して自由度を上げたい。

身につけるべきこと

あれもこれも多すぎてもはや分野列挙することしかできない…
・CSS
・テスト
・SQL
・UNIX
・DB、モデリング
・git
・コンピュータのしくみ
・セキュリティ
・ネットワーク
・サーバ、インフラ

うわぁ…テストとCSSはさすがに情けなくなってきたので早めに…

まとめ

できるようになってきたかも…!みたいに思い始めてきたことって単にひたすら似たようなこと繰り返してるだけで以上でも以下でもないです。

だからこそ特定の分野は割り切ってその期間ひらすら没頭して成果を上げて、新しいことできる機会があれば絶対逃さないの繰り返しの気がします。

なんとなく全体感の中で足りないこと、足らせたいことは意識しつつ。

結局最高に気持ち良く没頭できることがしたい、できるようになって気持ちよくなりたいに尽きる。

10月18日(日)

転職してから9ヶ月とちょっと。そして何より面接を受けて1年が経ちました。

Wantedlyで話を聞いてみたい!みたいなのを押したらどこよりも早く返事がきたfreee。

早速オフィスに言ってカジュアル(半)に話を聞き、面接を受けてみることに、みたいなやりとりしてたのがちょうど10月の半ばでした。

当時、こんなサービス作って〜みたいな感じで話していたサービス、今コード見てみたら何書いてるのかわからないというか何も書いてなくてよくこれでエンジニアなるって言ったな!笑みたいな気持ちになる。

けど当方はそれでいて楽しくてしかたがなくて、先方はよくわからんが目を輝かせて何か言ってる若者に何かしら可能性を見出したんやからもうええやろって思う。

職業としてのエンジニア

営業(というラベルのついた何かしらの仕事)をやりつつ、週末や平日仕事から帰ってからコードを書く。人と一緒にサービスを育てる。

限りある時間の中で精一杯やってきたものの、これから仕事でやるのとまた違うはず。

学生を終えて社会に出る直前に見た、ビジネスも作れてプログラムも書ける人への憧れ。

会社から提示された条件は何の心配もなかったと言えば嘘になるけど、それ以上に自分の憧れるエンジニアになれるのか、職業としてのエンジニアに違和感なく没頭し続けられるのか。

そっちの方が遥かに本質的な関心事項でした。

1年経って

実際どうやろう。

まず仕事を仕事と感じずにしている感があります。

もちろん、リリースの日はリリースの日だし、サービスを守り、未来を築いていく責務はあります。

駄菓子菓子、かつてプログラミングに感じていた、小さい頃1日無心で組み立てたレゴとか、発表会の前だけひらすら練習したピアノとか、そういう類の没頭感。

週末プログラマーのときに感じたものはそのままに、体力的に問題なければずっと触れていたい程度には好きみたいです。

よかったよかった。

憧れ

エンジニアであることに違和感ななくとも、憧れのエンジニアになれているか。

9c88e25a5315273851e8b9c523d4e224_s

それは何重にもダメなところがあるなぁと思ってます。

「自分の手でサービス作れる人かっこいい!」という憧れは目指すには必要な要素が多すぎるし、具体的に考えてもないし。

「技術寄りでサービスを考え、作り、変え、大きくしていくことができるエンジニア」になりたい!!とか言ってエンジニアになったものの、それが測れる程度に考えてもない。

それゆえ漠然と成長足りてないなぁとか思うのはそれ自体ダメダメやなぁと思うものの、1年経ったらもう少し色々できるものと思ったのも事実です。

闘争

だからこそ目の前のお仕事しっかりやる!分野好き嫌いせず!というのは当然としてプラスで色々やってみたいと思いやってたりやってなかったりします。

メンテ系のタスクが重なると、コード自体は書くしプルリクもいっぱい出すしで仕事している気になります。

エラーでサービス受けられない人減らしていくのそれはそれで大事。

でもより大きな価値を届けたり、エンジニアとして成長するにはそれだけでは足りない…

そういうわけでいろいろと。

・他のチームのお仕事請け負う
メインのタスクには絶対支障出さない!絶対!絶対出さない!!という(個人的な)約束の下で1つのプロジェクト。

メインのタスクと近い分野でも、そこまでの設計にする必要なかったり、そもそもメインのタスクのアーキテクチャってなんでそうやってるんやっけ?みたいなことを調べたり、技術選定したりしながらほぼ一から構築。

コード書けばとりあえずは目の前の成果が出るという劇薬的な性格も相俟って、最初の方は土日も朝手つけ始めて気づいたら夜だったみたいな感じでした。

7月末に声をかけてもらって、「試しでやります!やりたいっす!」と言ったもののほんとにできるかわからず、無理なら外部に…みたいな状況だったので、なんとか形にできてよかった。

新しく立ち上がったプロジェクトがいい感じに進んでいくのは最高だし、日常のタスクにもいい影響があって、何というか
ほんとにやってよかったです。

・予約管理システム請負
社外案件ですが、できないかなぁ?みたいな話があり。上のとは若干毛色が違って、一から設計して業務システム作って運用まで持っていくみたいな機会なかなかなさそう!的なもの。何があっても本業優先という条件付きで受けようとしたものの、当面は無料のシステム使うことになりいったんペンディング。

作りたくなりがちではあるけれども、ユーザが気持ちよくサービス受けられて事業運営がうまくいくのが本旨。無料システムが思うようにいかなければ改めて一から構築する意義があるし、そもそもの業務フローってどうなんでしょ?って話もシステムありきでなくできると思うので見守ってます。

・新しいプロジェクト
これはメインのタスクですが、自身の経験の無い技術を使用しているかつ立ち上がりたてのプロジェクトを引き継いでサポート体制含め作っていくみたいなプロジェクトにアサインしてもらいました。

数字を見て改善しながらサービスを作り、変え、大きくしていくってまさに自分がやりたかったことで、経験豊富なエンジニアがたくさんいる中で携われるとは思ってませんでした。

だからこういう案件が並びでは、何としても新しいプロジェクトはやり切って成功させたいと思ってます。

成功させた日には少しだけ憧れのエンジニアに近づいてる気がします。

前回の記事の最後に触れた次の目標はまさにこれ。

は?みたいなこともなくはないし、触れたこと無い技術ではまったときの絶望感はすごいけど、求めた場所で理想的な挑戦ができて幸せやなぁと思います。

ひと息

同じように自身のアウトプットに不足を感じている人がいて、話していたら、
今週はここまでできたらOKとか決めて毎週振り返ったら少しでも進んでる感もあって健全!自分を認めるのも大事!
というすごく前向きな意見をもらいました。

素敵やと思います。

ただ、週次のまとめで、あれ?今週俺なんもやってない風?みたいにならない程度の客観性も確保してがんばりたい〜

8月1日

転職してまるまる7ヶ月。8月1日付で正社員になりました。

スクリーンショット 2015-08-02 22.04.28

民主党テレビCM女性の味方編「夢は正社員になること!」が女性をバカにしていると話題により

昨年この画像が話題になったときにはさすがにうっ…と思うところがありましたが、今日言いたいのはそういうことではない。

試用的な期間が終わるとか、契約社員から正社員になること自体とかそういう話でもなく、僕がこのステータス変更に持たせた意味がとても大事なので書かずにはいられないのです。

契約社員スタートとしての「転職」

2015年1月1日、クラウド会計ソフトのfreeeでエンジニアとして働きはじめました。

ただ、働き始めたと言っても制約つき。契約期間は1ヶ月。1ヶ月経った時点でその後の処遇を判断。

そんな条件でのオファーを受け取ったのは2014年10月末のこと。

正直迷いはありました。

・成果が出ないとさよならってこと…?
・自分がそういうステータスであることを自分は受け入れられるのか…?
・親にこれはさすがに言えない…
・いくら未経験って言ってもなんか安売り感があって嫌だ…

何でもやります!内定ハッピーハッピー!と口先では言いつつも、手放しでは喜べない。でもそう思ったのも実際は束の間で、これはある意味自分が目立つチャンス(つよがり込み)と思い、方手放しくらいで歓喜しました。

・成果が出ないとさよならってこと…?
→なんてスリリングなんや!それまでぬくぬくレールに乗ってきただけに、一歩踏み外せばアウト的なの乗り越えたときの自分、かっこいいうぇーい!
・自分がそういうステータスであることを自分は受け入れられるのか…?
→(主に親世代とか一般的な就活を通ってきたような層にっとての)ブランドや待遇(主に給与、もらえるにこしたことはないけどそれより得たいものに出会えた)より価値を置いたものは何だったのか。それはエンジニアとしてバリバリコード書いて、自分が支えたい人を自分もプレイヤーとして支えること。ステータス云々にこだわるのは人生の無駄。
・親にこれはさすがに言えない…
→言わない。
・いくら未経験って言ってもなんか安売り感があって嫌だ
→たいていプライドの向こうに自分の得たいものがあるのでプライドにこだわるのは人生の無駄。

そして何よりも。職業としてはじめてやるエンジニアという仕事。やるなら突き抜けたいけど、とても好きだけど、ぶっちゃけ伸びるかわからない。やってみないとわからない。

ならやってみよう。この程度のハードル越えられないなら何やってもどうせできひんねんから。いくらでもハードル設けてくれ!!

更に、
・IVS界隈のスタートアップで働けること
・最初はバイトでもいいと覚悟していたこと
・創業2年のスタートアップにも関わらず教育投資してくれること
等もあり、他社の選考は内定時点で完全に辞退しました。

色々な会社を見るのも新卒就活時とまた違った楽しみがあるものの、自分がフォーカスすべきはそこではない。

1ヶ月経過。待っていたものは…

入社以前にも課題に取り組み、悲壮な顔をした正月を過ごし、とうとう入社。

駄菓子菓子、入社3日目。あまりにもコードが書けず、このままでは…という面談。週末にも同様の趣旨を定例MTGで言い渡される。

趣味でコードを書くのと職業でやるのはそりゃ違うやろ。前進あるのみ!

とは思うものの、入社1ヶ月 + 1日目が来ない夢をたくさん見ました。

そして1ヶ月が経とうとした頃、面談。

お、とうとう正社員登用かと思いきや、

次の契約期間は6ヶ月。他のエンジニアと同じく戦力になれるくらいに。また契約期間末で判断というお話に。

もはやこういうとき、どんな顔すればいいのかわからない状態です。

定量的な基準ではなかったものの(なかったからこそ余計に情状酌量的な余地はあったはずなのに)、成長速度的なものからの「コイツはヨソへやってはいけない!」という強烈な焦燥感だったり、「不完全であるにせよ、短期間でこんな成果出すなんて…」みたいなインパクトだったりを感じさせることができなかったわけです。

少し余談。その数日前、2月からの体制図に自分の名前が無くて泣きそうになりました。

自分やっぱ甘いなぁと。

駄菓子菓子、ないのもそのはず。そのときから僕の名前はNyanchuと表記されるようになったのです。

苗字も名前も被ってしまう人たくさんいますゆえ…

異動

いくつかの調査だったり、リリースだったりを経て迎えた4月。

エンジニアの人何人かが僕を囲んでアドバイスをくれるという会が発足。

コードは少しずつ書けるようになってきたというフィードバックをもらってほっとしたのも束の間。それ以前の働き方そのもの指摘が入り、しかも内容が5年とか10年とかのスパンで負い目を感じていることでした。

当然改善。が、次のフィードバックの結果の詳細はさておき、まとめると別のチームで頑張ったらより結果を出せるのではというもの。結果的には1月末と似たような思いをすることになりました。

そこから2週間弱というもの、社内の色んな人を1人1人捕まえてランチに付き合ってもらい、いろいろと話を聞かせてもらったり聞いてもらったりで考えを整理しました。

その最中の社内イベントの幹事でけっこう酷だなぁと思うこともありました。

7月の社内合宿の企画なんかは、企画だけして実施の頃には最悪自分いないのでは…何やってるんだ自分は…みたいなことを思う時期もありました。

駄菓子菓子、社内イベント類の幹事だったり、5月頃?に拝命した全社的な朝会の司会だったりは非エンジニア要素ではあるものの、大事な要素だったように思います。これについてはまたいつか。

6月、そして8月

紆余曲折を経て前述とはまた別のチームでの開発が始まりました。

そういう系ではもう動じない気がしました。

それまでとはまた別の技術に四苦八苦しながらも少しずつキャッチアップし、6月下旬の面談では8月から正社員というお話が…

当初の要件の「他のエンジニアと同等の戦力」だなんて酔っ払っても絶対に言えないです。駄菓子菓子、技術の絶対値以外に認めてもらえる要素があるならそれは自覚的に大事にすべきだし、持ち味になるまで育てたい。

そして、これまた何度も見た契約期間1ヶ月 + 6ヶ月を越えられない夢を打ち砕けたのは未経験の僕にチャンスを与え、ありえないほどのコストを割き、レビューし、アドバイスし、育ててくださった社内外のみなさまのおかげ以外の何物でもないです。全力で感謝して、胸をはって8月からのエンジニア生活を送りたいです。

過度に自己肯定感を下げた風でいるのは支えてくださった方々に失礼。

でもやっぱり

成長足りてないというか、方向定まってないというか…ちょっと前まで1日、1週間が一瞬だったのに最近そうでもないのも気になる。

そもそもコードを書くこと自体楽しいし、会社は楽しいし好きだし(吊り橋効果経た感もある)、とりあえず何をやっても楽しい!箸が転げても面白い!みたいなところがあります。

けど、エンジニアにも色々タイプがあると思うし(技術的分野でなくて性格とか人との関わり方とか)、チームもいろいろあるし、技術・分担もいろいろあるし、価値を届ける先もいろいろあるし、当然何をやるにしても突き抜けたいしそうでないならやらない方がまし。

その中で日々焦点定まらずふわっとしているのは相当もやもやするし、何でも引き受けるにせよ自分にとっての意味づけはやるべきだし、入社半年時点で書いた記事の

結果を求める手段としての技術との距離感を測りかねています。

というのは根深い気がする。そしてその記事上で「やるべきこと」として書いてることは正しい気がして実践しているものの徹底できていない。

あと、これ読んだり、先人の方々の姿勢を見ていると「勉強する!」みたいなスタンスほんと間違ってるんやなと思う。

だからこそ社内外で来ているオファーやり遂げたい。

何はともあれ

できてないと思うことのが多いけど、できたこともある。

入社初日にダルマに込めた目標(ねがい)は1つ達成できたので静かに目を入れてやりたい。

DSC_0564

次の目標が退屈そうな顔して待ってる。

We' re hiring!