退職しました
去る4月12日(金)を最終出社日として、3年とちょっとお世話になった株式会社シャノンを退職しました。退職しました、と言っても退職日は5月31日ですので、それまでは一応シャノンの社員ではありますが、区切りということでご報告いたします。
シャノンでは割と自由な立場で色々やらせてもらっていました。シャノンは企業向けのマーケティングSaaSを提供する会社です。提供しているSaaSは、お客様の企業サイトやキャンペーンサイトの裏側を支えるようなサービスですので、あまり表に名前が出ることはないのですが、実は地味にシェアが高く、世の中で行われている企業向けセミナー、イベントの結構な割合がシャノンのSaaSを使っています。僕もプライベートで技術カンファレンスやビジネスセミナーに申し込みすると、シャノンの申し込みフォームが出てきたりして、ここもうちなんだ、みたいに感じることが多かったものでした。
シャノンでやったこと
そんなシャノンでの3年間で、僕は主に下記のようなことをやっていました。
SDKの開発、APIドキュメントの整備とトレーニング、サポートなど
シャノンはRESTfullなWeb APIを持っています。Flickrなんかと似た認証API(pre-OAuthって感じの仕様)も早い時期から持っていました。
このAPIを外部の方がスムーズに使えるように、サンプルコードのセットを作り、ドキュメントを整備し、SDKとしてまとめる仕事をしていました。またお客様サイドのエンジニアさんやサードパーティベンダーさんたちにトレーニングをしたり、技術的なサポートなどもしていました。
新製品の開発
上記の仕事と並行して、新製品の開発も行っていました。自分自身でコードを書いたものもあれば、プランとデザインだけを行ってメンバーに書いてもらったものもありますし、パートナー会社さんと開発したものもあります。リリース出来たものも出来なかったものも、色々あります。
node.jsを使ったWebsocketなサービスも作りましたし、Play1+Javaなサービス、Play2+Scalaなサービスも作りました。
技術ブログの立ち上げ
シャノンに入社して一年経ったころに立ちあげ、ちょっとして開発環境について書いてそこそこのブクマをもらいました。その時のエントリがこれです。
やはりシャノンは小さい会社で、知名度もほとんど皆無であったため、できるエンジニアの採用にとてもとても苦労していました。
シャノンは会社の規模にしてはエンジニアの粒がそろっていて、取り組みも面白いものが多かったので、それをそのまま伝えていけば採用に好影響があるんじゃないかと思って始めたものです。
効果はとても大きく、このブログをきっかけにして応募してくれた人、入社を決めてくれた人、がたくさんいます。その人たちが今のシャノンの中核を担ってくれています。
もちろん上記の各々は僕ひとりでやった仕事というわけではなく、上司や同僚、チームメンバーのみんなの協力が合ってこそです。本当に感謝しています。
シャノンはエンジニアの職場としてオススメですか?
Yes!
エンジニアが正しいと思ったことを推し進めやすいいい環境です。
なにげに、Scala, Github, PivotalTracker, Jenkins, Herokuみたいなあたらしめのモノを使って開発している会社ですし(細かいところは部署によって異なります)、エンジニアがいいと思ったものはかなり積極的に採用していく会社です。今挙げたようなツールやテックスタックの選定はもちろん、機能や製品の企画など、提案すればどんどん採用される風土があります。(もちろん相応の責任が伴いますが)
色々やってみたいことがある人にとってはいい職場だと思います。
退職の理由
一身上の都合ですw
ただ、色々なタイミングが重なって、次の職場とご縁があったという感じです。
上記に挙げたAPIのSDK開発やサポートの仕事をしていく中で、プラットフォームを作り、サードパーティのエコシステムを作り上げる仕事に魅力を感じ、もっと大きなプラットフォームでこの仕事に専念したい、と思ったことがきっかけではありました。
次はどうするの
決まっています。6月1日から次の職場です。詳しいことはその時にまた改めてご報告します。
有給長くね? なにするの
実は書かないといけないものがあり、一ヵ月半ずっと、執筆にかかりきりなのです!
でも飲みにはいけるから、誘ってね!!
SBTメモ:Scctの並列実行を止めるには
下記のように設定するといいらしい。社内のPull Requestレビューしてて知った。多分動くよ(試してないけどね!)。
parallelExecution in Scct := false, parallelExecution in ScctTest := false,
備忘
この記事を読んで、特に1番を見て感じた違和感をTweetしました。備忘。
よほどひどい目にあったのかな / “アジャイルがダメだと思う7つの理由 - arclamp” htn.to/DLRhnX
— Takafumi Ikedaさん (@ikeike443) 2013年3月22日
大変ですねという感想しかない
— Takafumi Ikedaさん (@ikeike443) 2013年3月22日
全体計画にコミットしなきゃいけないってのがダウトなきはする。経営者がコミットしなきゃいけないのは収益であり顧客価値でしょ。顧客価値最大化のために毎スプリント計画を見直して優先順位を議論するわけだし。そういうことに納得してユーザーが選択するのがアジャイルでは。
— Takafumi Ikedaさん (@ikeike443) 2013年3月22日
@ikeike443 同感ですね。計画としてリリース日はコミットすることが多いけど。
— Ryutaro YOSHIBAさん (@ryuzee) 2013年3月22日
@ryuzee はい。日付はある程度コミットしますが、内容は状況次第ですね。でもそれはたらたらやって出来たらリリースするという意味ではないですけど。そんなことしたら自社の収益に響きますし。
— Takafumi Ikedaさん (@ikeike443) 2013年3月22日
下請けの方からアジャイルで行こうっていう提案する構図はそもそもおかしいのでは。ユーザーが自分で選ばない限りアジャイルにはならないとおもう。
— Takafumi Ikedaさん (@ikeike443) 2013年3月22日
アジャイルは思想であって手法ではないという理解
— Takafumi Ikedaさん (@ikeike443) 2013年3月22日
事業者がリスク取るのがアジャイルという理解
— Takafumi Ikedaさん (@ikeike443) 2013年3月22日
スクエニがドラクエのリリース計画をコミットしたことがあっただろうか。してほしいけど。
sbtとJenkinsを使ってMavenリポジトリへ成果物をパブリッシュするのってどうするのが正しいの
ですか?
Mavenでビルドしているなら、ジョブ作成の時に「Maven2/3プロジェクトのビルド」を選択してやれば、ビルド後の処理として「Mavenリポジトリへ成果物をデプロイ」が選べますよね。
sbtでビルドしている場合は「フリースタイルビルド」で作らざるを得ず、上記の機能が使えません。
その場合、ビルドの「シェルの実行」にて下記のように指定すれば、testが成功した時だけpublishが実行されるようにできます。これでだいたい同じ事ができますね。
JAVA_HOME=/usr/java/default/ /usr/bin/sbt clean scct:test publish
一行で書くのがミソです。sbt publishを単体で実行すると、testの成功/失敗に関わらずpublishが実行されてしまうのでまずいです。
2012年振り替えるよ
今年もあと2時間。
色々チャレンジした年であり、新たに始まったことが多かった年でした。
が、反面、反省も多かった。
Jenkins本に寄稿した
これ今年でした。作業したのは2011年だけど。。
- 作者: John Ferguson Smart,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/02/22
- メディア: 大型本
- 購入: 12人 クリック: 334回
- この商品を含むブログ (32件) を見る
Playframeworkコミッターになった
2.0が出た関係で1.x系のメンテナーが足りず、協力を申し出てそのままコミッターになりました。
が、この件は反省が多いです。メンテナーになっておきながらほとんど貢献できず、負い目を感じる局面が多かった。。
言い訳になってしまいますが、本業が大分忙しくなった(新規のプロジェクトを複数持ってた)のに加え、プライベートな時間も色々とあって、メンテナーの仕事がなかなか出来なかったです。
1.2.6あるいは1.3を待ってる方もいることですし、この件はなんとか時間を作っていきたいと思います。
Play勉強会、第三回やれた
一年に一回しか出来てませんが、とりあえず今年もPlayframework勉強会やりました。
年末には忘年会もやりました。
そこでも希望が多かったですが、来年はもくもく会でいいから定期的にユーザー会やろうと思います。
JJUG CCC 2012 Spring で講演した(2013年1月15日追記)
WEB+DB Press に Play 企画書きました
おい、美輪さんヨイトマケ歌ってるよ。びっくりした。
前年からPlayについて本書こうとか記事書こうとかそういう話が浮かんでは消えしてたんですが、技評の春原さんの助けもあって、やっと形になりました。
一緒に書いてくれた梅澤さん、九岡さん、ありがとうございました。
- 作者: 竹迫良範,Jxck,じょさん,後藤秀宣,藤原俊一郎,奥野幹也,堤智代,森田創,中島聡,A-Listers,はまちや2,相澤歩,柴田博志,池田尚史,梅澤雄一郎,九岡佑介,近藤宇智朗,佐藤鉄平,mala,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2012/10/24
- メディア: 大型本
- 購入: 12人 クリック: 159回
- この商品を含むブログ (10件) を見る
職場に Scala チーム作った & 新製品リリースした
こう見えて僕は部署を持ってたりするのですが、今年はたくさんのエンジニアを採用させていただき、Scala チームの編成に頑張ってみました。
Scala をやったことある人なんて全然いないので、採用の時に Scala でもいいですか? なんて聞きながらでしたが。皆楽しんで Scala に取り組んでくれたのでよかったです。
詳しいことは書きませんが、Scala + Play2 で新製品も出せましたしね。
来年の抱負
来年のことを言うと鬼がわらいますので特に言いませんが、やりかけてるものはきちんといい形で終わらせますのでよろしくお願いします。各位。
ご迷惑おかけしている方々、ほんとすいません。
さて、今年もありがとうございました。もろもろみなさんのおかげです。
来年もよろしくお願いします。
スラッシュ付きとスラッシュなしURLの扱いとPlay2での逃げ方
Play2でスラッシュ付きとスラッシュ無しで別のRouteとして扱われちゃって面倒くさいという問題があったと思いますが。
ここでも議論になっています。
James Roperの言うように、Global.scalaにコード書けば、一応問題は避けられそうです。将来的にはこれはPlay内に機能として持ったほうがいいコードだと思いますが。。
ちなみにこの辺についてどう対応するのが正しいのかについては、下記Googleのサイトが参考になります。(上記チケット中にもリンクあり)
http://googlewebmastercentral-ja.blogspot.jp/2010/11/url.html
Jamesが提示したように、片方を200にして片方を301にするっていうのがあるべき姿みたいですね。