2015年を振り返る。
あけましておめでとうございます。
本来なら振り返っている場合ではないのだけど、
せっかく毎年やっているので今年も振り返ることしました。
Ruby。
昨年から引き続きRubyをメインで書いていました。
400日くらい休まずコード書いた。
留学するまで毎日コードを書いてました。
まさかここまで続くとは自分でも思っていなかったです。
Webサービス。
今年もネタ的なやつから、
実用的なサービスまで色々作りました。
特にSttendは気合入れて開発したつもりです。
一人で作るのは大変でしたが、学びが多かったです。
ふとももは突貫工事で作ったにもかかわらず瞬間的なPVがSttendより遥かに多く複雑な気持ちになりました。
色々な言語を入門しては放置した。
かなり迷走していました。
色々手を出してみましたが、継続して書いてるのはGoだけです。
ISUCON。
予選敗退(またもや)。
Backbone.js / Marionette.js なお仕事。
1~2ヶ月程度ですが、jsメインなお仕事を初めて経験しました。
俺 → vagrant → virtualbox → centos → java/maven → Node.js/npm → gulp/browserify(← 今ココ) → 目的のjs
— Future Bass (@_Yasuun_) September 18, 2015
光から闇まで学びが多かったです。
英語と向き合うことにした。
英語を本腰を入れて学ぶことを決めました。
それについての詳細は後でまとめようと思っているので割愛します。
現在フィリピンのセブ島へ移住し、英語留学中です。
毎日暑いです。
退職した。
上記を理由に約4年お世話になった会社を退職しました。
本当に多くの事を学ぶことができました。感謝。
// TODO: あなたがこれを読んでいるということは…
— Future Bass (@_Yasuun_) October 6, 2015
結婚した。
結婚して無職になって海外へ行こう!と申し出を快諾し、
夫より先に海外で就職をしてしまうアグレッシブな奥さんに感謝です。
まとめ。
技術勉強とサービス開発についてバランスよく活動できたと思っています。 技術の勉強と同じくらいにサービスを作る事も好きなので、 今後もこのバランスを大切にしたいです。
去年の今頃からキャリアについて悩むことが多かったのですが、 その結果がまさか異国で年を越すとは思ってもいませんでした。
今年やりたいこと。
仕事と英語学習を両立できる環境を作る。
英語学校を2月中旬に卒業予定なので、3月中頃からお仕事を再開する予定です。 しばらくセブ島に居る予定なのでリモート可能な仕事を中心に探す予定です。
仕事をしながら学校に通ったりと継続して英語学習を行える環境を作りたいと考えています。
もし仕事が見つからなければ、異国でヒモというよくわからない状況になってしまいます...。
深掘りしてみる。
前職で求められていたポジションと、新しい事を学習するチャンスが多かったので、 インフラからフロントまで色々な分野を広く経験することができた一年でした。
一方で、特定の分野を深掘りするという事が少なかったなと感じてます。 来年は特定の分野に集中してしっかり深掘りしてみるのもいいのかなと考えています。
WEBサービス開発している会社/スタートアップにジョインする。
イケてるサービス作りたいです。
今年もよろしくお願いします。
ISUCON5に参加した。
今回も言語はGoを選択しました。
やったこと
開始直後はとりあえずアプリを動作させて、仕様を把握。
その後はツール系の準備やnginxのアクセスログの調整とかをしました。
- GoAccess
- htop
- dstat
前回参加時はGoを全然使ったことがない状態でしたが、 最近バッチ処理を書いたりする際に使用していたので実装を読んだり、クエリをexplainしたりしてました。
感想
前回はミドルウェアやDBのチューニングがスコアを左右し、アプリケーションはシンプルな印象でしたが、 今回はアプリケーションがやや複雑で実装に手を入れなければスコアが伸びないように感じました。
自分のGo経験値が低いので読む事はできるのですが、気の利いた実装がとっさにできなくてもどかしさを感じました。
手に馴染む言語*1の重要性を改めて感じました。
諸事情により来年は出れるか分かりませんが、またリベンジしたいです。
チームの様子がおかしい。 pic.twitter.com/tNGbJU7gpy
— Yasu (@_Yasuun_) September 26, 2015
1年間毎日コード書いた。
365日を達成したので振り返り。
エビデンス
始めたキッカケ
1年前に仕事でRubyを扱う事になり、プライベートでの勉強時間を毎日作るためのキッカケ作りとして始めました。
主にやっていた内容
前半
中盤
後半
- Go入門
- Goでデザインパターン
全期間
- その時話題だったり興味があったりした言語、ライブラリ等のハンズオン
継続するために工夫した事
やることを常にメモしておく
PC立ち上げて今日は何をやろうかと考えるのはかなり時間を消費しました。
毎日それをやるのはしんどいのでネット上で興味を持った技術記事等を常に草メモ
へストックしておきました。
やる時間を決める
日々の業務もあるので、時間を作ることに一番苦労しました。
やる時間をルール化しておくことで、少し強引にでも時間を作り続けることが必要でした。
毎朝のゴミ捨てとおなじ感覚でできるよう、日々の生活の中に組み込むことを心がけました。
感想
全然やる気がない日も当然あって、そんな日でも「とりあえず何かコミットして寝るか」という気持ちでコードを書いているといつのまにかやる気が復活していました。
「やらないとやる気は出ない」ってのは本当でした。
始めた理由にも書いたキッカケ作り
としてはとても有効だと思います。
ただ、旅行中とかお酒飲んだ日とかは結構キツかったです。
得たこと
やる前まではここまで続けられると思っていませんでしたが、 やってみると継続することがそこまで苦痛ではなく、自分の新たな一面を見つけることが出来ました。
B3スポーツユーザ向けのWEBサービスをリリースしました。
この度、B3スポーツユーザ向けのWEBサービス「Sttend 」をリリースしました。
Sttend?
SttendはB3スポーツを楽しむ人に向けて作成した、スポットを中心にユーザー間のつながりを促進するためのWebサービスです。
作った背景
私自身もB3スポーツユーザーです。
B3スポーツに限ったことではありませんが、一人でやるよりも複数人でやった方が当然楽しいです。
ですが人口が少ない競技であることも影響してか、同じ競技のコミニティに出会う確率は中々低いのが現状です。
私自身も環境が変わった際に近辺にどのようなスポットが存在し、どれくらいの人が居て、どの競技が人気なのかといった情報を得ることが難しかったため、暫く足が遠のいてしまいました。
私の場合は運良く同じ競技のコミニティと出会い、 再びB3スポーツを楽しむ事が出来ましたが、同じような状況の人が他にも居るのではないかと考えました。
そこで過去の自分が欲しかったサービスを作成することにしました。
期間
業務終了後の時間と休日で作成して約5ヶ月程かかりました。
アイディア出しや、デザイン作業等の時間が予想以上にかかりました・・・。
放置期間や、Ruby、Rails学習時間もあるので次回はもっと早く作れると思います。
開発着手までにやったこと
サービスを作る際はゆーすけべーさんの実装までにする7つの企画作業を参考にさせて頂いてます。 今回のサービスですと
哲学は
スケートは一人で滑るより、複数人で滑った方が圧倒的に楽しい。
アイデアとして
- 全国のスポットが検索できる。
- スポットに参加予定を書き込める。
- フォローしているユーザーの参加状況がわかる。
- フォローしているスポットの参加状況がわかる。 ... etc
といった形で7項目をそれぞれ考えて随時見なおしていました。
この項目に従ってサービスを考えるのはとても考えやすかったです。
Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ (Software Design plus)
その他にも
をCacooで作成しました。 あまり書きすぎるとメンテナンスしたくなくなるので程々を心がけました。
使っている技術
- Ruby on Rails 4.2
- Nginx / Unicorn
- MySQL
- Git / GitHub
- AWS
- Newrelic ...etc
とよくある構成です。
タスク管理はGithubのissueとEvernoteでやっています。
当初はホスティングにHerokuを使用するつもりでしたが、前から気になっていたSqaleを使用しました。
いまどき Rails で何かつくるなら、VPS より Sqale(スケール)だと思うの
気になることがあり何度か問い合わせメールを送ったのですが、全て1日程で返信して頂けて満足です。 日本語で問い合わせが出来るメリットは大きいですね。
学んだこと
使用しているライブラリの修正
今回使用したJSライブラリにいくつかの不具合があり、それに気がつくまでかなり消耗しました・・・。
使用していたライブラリがGithub上に合ったのでせっかくなのでプルリクを投げた所、あっさりと取り込んで頂けました。
OSSにプルリクを出すことは敷居の高いことだと感じていたのですが、今後も気がついた点は積極的に上げていこうと思いました。
モチベーションの維持
正直やる気がでない日もありました。
そんな中でモチベーション維持に利用したのはGithubのLongest streak (草活動)
でした。
その時興味ある事や勉強中の何かをGithubへコミットしてSttendの開発作業開始、という習慣を作ることで
モチベーションが上がらなくともTermを立ち上げるきっかけとなりました。
個人的な体感ですと勢いでなんとかなる期間は1ヶ月が限度だと感じました。 それ以上の期間が必要な場合はモチベーションを維持させる作戦が必要だと思います。
細かく動かすことが重要
実際に動作する物があるとモチベーションが上がります。
テストを書いてとりあえず動くものを作り、細部を検討してリファクタ。
のサイクルを心がけました。
今後の課題
Homeのデザインが不評なのと実際に想定している使い方(予定の作成)まで辿り着いている方が少ないのでHomeページのリニューアルを予定しています。
ユーザー検索機能の追加等も検討中です。
ユーザーに想定した行動をしてもらうのは中々難しいです...。
おわりに
実はこのサービス、2年前程に一度作成しようとしたのですが挫折しました。 今回のリベンジが成功して本当に良かったです。
一人でWebサービスをリリースするのはやることが多く大変でしたがその分学べることも多かったです。
現在B3スポーツをやっている方、またはこれからやってみようとお考えの方が居ましたら是非一度お試しください!
Sttend バグ報告や改善要望など頂けると助かります。