Hatena::ブログ(Diary)

Over&Out その後 このページをアンテナに追加 RSSフィード Twitter

2013-11-27

プログラミング素人の31歳が、カヤックに入社するまでの記録・ダイジェスト版

本日、CAREER HACKさんに、『失敗続きの窓際エンジニアが掴んだ最後のチャンス|iOSアプリ開発者 堤修一に訊く | CAREER HACK』というインタビュー記事を掲載していただきました。


screenshot


この記事は2本立てとなっていて、実際にどうやってスキルを伸ばしていったのか、という後編につながるのですが、31歳のおっさんが、最初はディレクターとして応募したり、スクールに通ってプログラミングを勉強したりと四苦八苦しながらもどうにかこうにかカヤックに入社させてもらうまでの話ってこのインタビュー中にはしなかったなと。


で、本ブログの前身である、


Over&Out

screenshot


というブログは、まさにその、「カヤックの中途採用に応募してみよう、と思ってから、カヤックに合格するまで」を綴ったブログになります。


CAREER HACKさんに過去の経緯についてインタビューいただいたことだし、せっかくなのでこの超マイナーブログの記事をいくつか掘り起こして、ダイジェストで、『プログラミング弱者の31歳が、カヤックのプログラマになるまで』をお送りしようと思います。


ブログ立ち上げ

カヤックを受けようと思い、この時点では自分でプログラム書いて何かをつくったりということができないので、まずはブログを立ち上げました *1

Web業界への転身を(これから)目指します。


それにまつわる日々のあれやこれやを、

ブログとして書き残していきたいと思います。


応募職種を決めるところからスタート。

現状について正直なことを申しますと、

応募する職種さえ決めかねている状態です。


Webの世界について勉強をはじめる

Flash レッスンブック―CS4対応
今北 舞
ソシム
売り上げランキング: 108,214


この本を買って、Flash体験版をさわってみました。画像をタイムラインに貼り付けただけですが、たったそれだけで動くものがつくれたので、「おおっ」と思った記憶があります。


ウェブサイト制作のワークフローと基礎技術
佐藤 好彦
技術評論社
売り上げランキング: 896,500


ディレクター志望でエントリーシートを書いたものの、ディレクターってどんなことやるの?というのがわからなかったので、ブックオフで上記の本を買って読んでみました。


で、感想は、

・・・つまんなそう。。

でした。。


カヤックのディレクター全員を研究したりしました *2


面接対策として、企画を99本持っていくことにしました *3


カヤック二次面接

面接時にCTOかいちさんの反応があまりに冷ややかで、これはヤバいと、急遽その日にたまたま開催されていたカヤックの交流会に飛び込み参加。


かいちさんをつかまえて、言い足りなかったことをアピールしました。


結果、どうにかこうにか二次もパス。


数年後、この日のことをかいちさんに聞いてみたところ、実際に落とすところだったそうです。


カヤック最終面接

無事三次もパスして、いよいよ明日は最終面接!というタイミングで書いた記事 *4


まずは合格者像を正確にイメージするために、柳澤さんの「採用に関する発言」を集めてみました。

とあるとおり、CEOやなさんのインタビュー記事を大量に集めてきています *5


実際に受けてきた感想。CEOやなさんのあとに、瀬尾さん、玉田さん、大塚さん登場。




結果は・・・




見事に不合格!!



そして・・・


はじめてのActionScript作品

当時、自分で手を動かしてものをつくれるようになるべく、週末を利用して、ActionScriptのスクール、『クスール』に通っていました。



そこでの制作課題は、「Yahoo! JAPAN Internet Creative Award」のバナー部門に応募すること。


で、つくって応募したのがこれ。


※開くといきなり爆音が出るので注意)


タイトルは『ヘビメタ』です。マウスに合わせてキャラ *6 がギターソロを弾き、最後にフライングVを宙に投げ、それがYahooのYになるというもの。


カヤックのやなさんが審査員ということではりきってつくりましたが、残念ながら箸にも棒にもかからず


Mac購入/はじめてのiPhoneアプリビルド

タイトルには「iPhoneアプリつくりました」ってあるけど、本のサンプルをビルドしてシミュレータで実行しただけ。


全然まとめられてない。。 *7


退職 → (ほぼ)ニートに

ダイジェストと言いつつかなり長くなってるのでここらから巻きでいきます。


当時勤めていた会社の上司に退職の意志を伝えました。


・・・といっても転職先とかが決まってるわけではなく、

実績も次の就職先もない。


人脈もほとんどない。


年齢は30を超えている。


既婚。

フリーランスという名のニートに。 *8


賞をもらう

引き続きスクールで Flash / ActionScript を勉強し、

2つ目の作品で、賞をいただきました。


そのときの作品を、ブログパーツにしたものがこれ。



天気予報APIを使用して取得した週間天気予報より、オルゴールのように美しいメロディを生成します


というコンセプトですが、APIの使用期限が切れているので、「晴れ」しかでず、今はもうあまり自動生成感はありません。。


カヤック合格

二度目の面接は10分ほどで終了。


持っていったものはあまり評価されませんでした *9 が、

勉強をして、それをしかも形にして、賞という一定の評価まで得て、実際につくっていたものを持って受けに来た(元記事

ことが合格につながったとのこと。



で、このブログとしてはめでたしめでたし。



そして、例のスライドの話や、今回のインタビューの話につながります。




以上、カヤック入社までを綴った前身ブログ『Over&Out』のダイジェスト版でした!


(2013.11.28追記)告知

そんな感じで前身ブログ、本ブログと、ずいぶんお世話になっているはてなさんよりお声がけいただき、「はてなエンジニアブロガー祭り」というイベントに登壇させていただくことになりました。



"第2部 パネルディスカッション「ブログとエンジニアと私(仮)」" なるパートに出ます。


ピザもビールも出て無料とのことですので是非!



*1:タイトルは、家にあったCDの曲名から適当に語感が良いと思うものを選びました。で、Gorky's Zygotic Mynciというバンドの曲名より拝借。

*2:とはいえプロフィールと関連コンテンツ読んだだけ

*3:今思うと、これは企画というより、アイデア(それぞれ1行ぐらいのメモ書きしかなかった)。当時「企画書」とか見たことなかったし、どれぐらい/どうやって具体化すればいいのかわかってなかった。

*4:このブログは全然アクセスなくて超マイナーなのですが、『カヤック 面接』でググるとこの記事が上位に出てくるので、カヤックに入社してくる人だけには「ブログ読んでましたよ〜」とよくいわれました。

*5:当時の自分に「そんなのいいから何かつくれ!」と言いたい

*6:ペンタブ買って自分で描きました

*7:結局どれが何用なのかわからず、この後1年半ぐらいは「View-Based」だけを使ってた気がします。

*8:ちなみにニートで有名な id:pha さん(phaの日記)は、同じ大学、同じ学年、(一瞬だけ)同じ部でした。彼の文章・考え方・つくるもののファンで、memorizeの頃からずっとブログを読んでいます。

*9:実戦ではまだまだ通用しない、という評価

2013-11-21

オフラインになる、あるいはSNSを遠ざける方法7つ

シャワーあびてるときはやたらアイデアが浮かんだり今やるべきことが明確に見えてきたり(あとずっと忘れてたことを思い出したり)するというのはなんでだろう、と考えてみて、仮説として思い浮かんだのは、「外部からのインプットがほぼないので、自分の内面と向き合えるから」ではないかと。


そういえば、机に向かってるときはもちろん、歩いてるとき、トイレに行くとき、布団に入って寝る前もスマホ見たり音楽聴いたりしてて、ほんとに「外部からのインプットがない」状態なのはシャワーあびてるときだけかもしれない。


で、ライフハックとして、「明確な用があるときまでiPhoneとMacの電源を切っておく」というのを思いついた。



というわけで一度消えます。


ということをFacebookに書いて3時間ほどPCもiPhoneも電源offで過ごしてみたのですが、これがなかなかよかった。


店出たとき、電車乗ったとき、信号で立ち止まったとき・・・とちょいちょい無意識にiPhoneを見ようとしてて、相当毒されてるなーと思った。



で、iOSアプリを開発する人が Mac も iPhone も電源 off のままというわけにはいかないので、どうするかなーと思いついたのが以下の 7 つ。


無自覚にインプットを受け続けるのをやめたい、という意味でのオフラインになる、というのと、Facebook/Twitterをちょいちょい見て時間を無駄に消費するのをやめたい、というのが混ざってます。


あと自分ではちょっとできないな、、というものも混ざってます。


1. Mac/iPhoneの電源を切っておく

仕事もできないので、制約としてはなかなか厳しいですが、Mac/iPhoneを使って何をやるべきか、どのように進めるかが明確でないときはこの状態からスタートするのがよいのかなと。


2. SNSクライアントをアンインストールしておく

iPhone から Facebook アプリや Twitter クライアント等をアンインストールしておく、というものです。


必要なら都度インストールしてもいいし、Mac起動してブラウザからアクセスしてもいいし、iPhoneのブラウザからアクセスしてもよい。


いずれにしてもそれぐらいのハードルを超えてまでアクセスしたいのか?という抑制効果があります。


自分はFacebook Messengerだけ入れておいて、他のFacebook/Twitter関連アプリはアンインストールしましたが、なかなか快適です。


3. キーチェーンからSNSのid/passを消しておく

キーチェーンとか、1passwordとか。


覚えられるようなpasswordを使っている場合に限るので、セキュリティの観点からはよくありませんが。。


4. SNSからログアウトしておく

抑止力はちょっとしたものですが、ハッと我に返れるときもあります。


5. ブックマークから消す

ほとんどこういう人はいないかもしれませんが、僕は昔ブラウザのブックマークバーからメールやTwitterにすぐにアクセスできるようにしてました。


6. ブラウザのプラグインでURLをブロックする

WaistNoTimeというプラグインがありまして、

*.facebook.com
*.twitter.com
*mail.google.com

みたいな感じでFacebookやTwitterをブロックしてます。また、開発に必要なdev.〜とかはallowリストに入れてアクセスできるようにしてあります。


詳しくは以前書いた下記の記事にあります。


仕事に集中するための仕組みづくり


Chrome, Safariにはこれを入れてあって、Firefoxは抜け道としてとってあったのですが、最近カジュアルにそこから見るようになってしまったのでアンインストールしました。


7. Wi-Fiの登録を消す

Mac だと System Preferences の Network -> Advanced から、iPhone だと Settings -> Wi-Fi から、ネットワーク情報を削除することができます。


落としどころ

思いついたのを順不同で適当に挙げましたが、自分で(部分的に)実行してみているのは、1, 2, 4, 5, 6です。


2013-11-18

iOS7対応の名刺をつくりました

カヤック時代の同僚であり、かつ尊敬するクリエイターである 佐藤ねじ 氏(以下ねじさん)に、デザインをお願いし、個人の名刺 *1 をつくりました。


f:id:shu223:20131128004555j:image:w600



「堤」の部分にはミシン目が入っていて、


f:id:shu223:20131128004319j:image


ペリッとはがすと一番上の写真のように「iOSアプリアイコン型の穴」があきます。


で、これiPhoneに置くとちょうどホーム画面の左上から2,2番目のアイコンと位置が合うようになってるのですが、いま出先の喫茶店でこれを書いてて、iPhoneが1台しかなく、その様子を撮影することができません。。


他にも仕掛けがあるのですが、そのあたりはこれから準備を進めていく予定です。


裏面には諸々のコンタクト情報を載せています。


f:id:shu223:20131128004155j:image


ねじさんについて

カヤックのデザイナー(ほぼ同じ時期に入社)で、会社でもいろいろおもしろいものをつくってるのですが、個人活動でもめちゃくちゃおもしろいものをつくってる人です。


たとえば、昨年すごいバズった『すごいWEB』とか


グッズのアイデア提案サイト『prototype 1000』とか。


ねじさんの仕事一覧


経緯など

ねじさんに個人名刺を依頼したいなというのは実は海外に行くよりも全然前の、今年の始めぐらい(このころ)からあり、正式に依頼したのは9月中旬。


帰国してすぐぐらいに直接会って、名刺のデザインをお願いしたいです、ということと、載せたい情報(名前は日/英両方とか、GitHubアカウントとか)だけを伝えて、アイデア含めまるっとお願いしました。


名刺に穴をあける、という加工が個人名刺として現実的な価格で可能なのか、というのがこのデザインの最大の課題でしたが、ねじさんがいろいろ探してくれて、トムソン加工というものに行き着きました *2



仕事でもプライベート開発でも、わりと一人でもくもくやるのが好き *3 なので、こういう試みは初めてだったのですが、かなり楽しい体験でした。


刺激にもなるので、個人的に尊敬している人に何かを依頼する/一緒に何かつくるというのは今後は意識して積極的にやっていこうかと思っております。



*1:引き続きAppSociallyで働いております。最近個人としての動きも多いのと、単純にねじさんに依頼したかったというのもありつくりました

*2:費用とかの詳細は、ニーズありそうであればまた後で追記します

*3:ハッカソンとかでもチーム組まずに個人でやることが多い

2013-11-13

『iOSアプリと連携させて使えるデバイスたち』という連載を始めました

今日から、gihyo.jpで新しい連載が始まりました。


iOSアプリと連携させて使えるデバイスたち


というタイトルで、 iOSアプリと連携させるためのSDKや、Web APIが用意されているデバイスを紹介していこうと思っています。


iPhoneやiPadは,あたりまえですが画面があって音も出て,インターネットにもつながり,さらにはGPSや加速度センサも付いていて,スマートフォンアプリに必要な機能を実現するにはかなり「揃っている」デバイスです。ただ,それでもiPhoneからにおいは出せませんし,脳波はとれませんし,時計のように腕に巻くことはできませんし,直接電子回路をつなげることはできません。


そういった「iOSデバイスにない機能」を使うには,外部デバイスに頼る必要があります。嬉しいことに,昨今のスマホアプリ開発人気のおかげで,iOSアプリと連携させて使えるデバイス,すなわちiOSアプリと連携させるためのSDKや,Web APIが用意されているデバイスが色々と市販され始めています。


本連載では,そういった「iOSアプリの可能性を広げるデバイス」を毎回1つずつ取り上げ,その特長や,連携させるためのアプリ側の実装方法などを紹介していきます。

(第1回「はじめに」より)


というようなコンセプトとなっております。


第1回 「konashi」とiOSアプリを連携させる

記念すべき第1回目は国産フィジカルコンピューティングデバイス『konashi』を紹介しています。


http://gihyo.jp/dev/serial/01/futuredevice/0001



対象読者としては、

  • Objective-C で iOS アプリはつくれる
  • デバイスまわりの専門知識はない
  • でも興味がある

こんな感じの方々(要は僕自身)をイメージしているので、デバイスは使いつつ、アプリ側の実装、もしくはデバイスの組み合わせであれこれやるというスタンスになる予定です。


というわけでこの第1回も、フィジカルコンピューティングデバイスを扱いつつも電子回路的な話には踏み込まない範囲で書いています。


元同僚で現ユカイ工学の Rentaro Nozaki さんや、開発者の Reo Matsumura さんにもご協力いただきました。


連載開始の経緯

ずっとリアルデバイスには興味あったのですが、Arduinoのワークショップに参加してみたりしつつ、


  • 「どうやら自分は電子回路とかを本格的に学びたいとは思ってないらしい」
  • 「はんだづけも、ブレッドボードもあまり好きじゃないなぁ。。」

などなど方向性を模索するうち、


得意なiOSアプリをベースにしつつ、その可能性を広げるようなデバイスを使う


というあたりがリアルデバイス周りで自分の一番興味あるポイントだなとたどり着きました。


で、以前の連載 でお世話になった技術評論社の馮さんに、

 Shuichi Tsutsumi 10/22, 5:56am


Fuonさん、ご無沙汰しております。元カヤック、現AppSociallyの堤です。gihyo.jpへの連載のアイデアがあり、ご相談したく。(後略)

早朝5時のテンションで企画持ち込みメッセージ を送ってみたところ、


 Tomihisa Fuon 10/22, 8:30am


ご無沙汰しております.おもしろいですね.

ありがたいことに見事採用していただけた、という経緯です。


そんなわけで

みなさま、どうぞよろしくお願いいたします!!!!



2013-11-11

人生初の講演をしました

本日11/11吉日、TechCrunch Tokyo ハッカソンにて、"TechTalk" という枠で人生初の講演をさせていただきました。


さて、このハッカソンに、ハッカー界の著名人が2人も登場して頂けることとなったのでお知らせしたい。(中略)もう1人は、同じく500 Startupsに参加するグロース・プラットフォーム「AppSocially」の開発者、堤修一氏だ。



堤氏のことは、iOS開発者向けに多くの技術情報を出すブログや、著書「iOSアプリ開発達人のレシピ100―開発現場で実証された実用コード集」でご存じの方も多いかもしれない。これまでにフルスクラッチで開発したiOSアプリは30本以上といい、その中には150万ユーザー以上を獲得した対戦RPG「バウンドモンスターズ」もあるという筋金入りのiOS開発者だ。NTTデータ、キヤノンで、それぞれ音声認識技術の研究開発、画像処理機能の設計に携わるなど硬派なエンジニアでもある。ハッカソン経験も豊富な堤修一氏には、イベント初日11日の11時半ごろからハッカソンの心構えなどを語って頂く予定だ。

TechCrunch Tokyoハッカソンで、500 Startupsに参加する日本人エンジニア2人が講演!


上記の告知文にある通り、お話をいただいた時点では サンフランシスコで開催されたTechCrunch主催のハッカソンに参加したときの話 をしようかなと思ってたのですが、資料をつくりはじめてみると、このテーマでそんなに話したいことは多くはないな、と。


自分が、ハッカソンに参加される方々(主にエンジニア?)に向けて、わざわざお時間いただいて話せる話って何だろう、といろいろ考えて、最終的に次のようなスライドをつくりました。


「スキルなし、実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで


二度も受けてやっと入れたカヤックで初めて自分で手を動かしてものをつくる立場になり *1、「全然使えないおっさんが入ってきた」状態になってしまい、そのつらい状況から這い上がるきっかけとなった3つのターニングポイントについての話です。


普段は黙々とモニタに向かってるだけなので、今回は急遽話し方教室に行って練習し、普段のばしっぱなしのヒゲをそり、いつものロンTではなく襟付きのシャツを着て臨みました。諸々反省点はありますが、話したかったことはちゃんと話せたし、今はホッとしつつハッカソン会場のうしろでこれを書いているところです。



ちなみに、今週末ですが、こういうイベントにも登壇します。


シリコンバレーで働く方などをお招きした「スタートアップ企業のリアル」というトークイベント

ソーシャルメディア上でベンチャー・スタートアップ企業に関する情報を目にする機会があるかもしれませんが、表面的な情報だけで、その内情について知る機会はあまり多くないのかと思っております


そういった企業のリアルな姿を知ってもらうことで、今後のキャリアを考える上でのヒントになるようなことを想定して今回


「スタートアップ企業のリアルという」


コンセプトにてトークイベントを実施いたします。


登壇いただく方たちの経歴などを踏まえて

  • 海外(シリコンバレー)で働いて感じた現地のスタートアップ企業の人達
  • SIerからベンチャーとフィールドを移した時に感じたこと
  • ベンチャー・スタートアップらしさとは?

といったテーマに触れるパネルディスカッションを以下要領にて実施いたします


こちらは少人数・双方向でもっとじっくりお話できるかと思います。ご都合よろしければ、ぜひご参加いただければ幸いです。



(関連記事など)


*1:それ以前は自分では手を動かさない仕事をしていました

2013-11-01

SLComposeViewController が iOS 7 で表示を勝手にキャンセルする問題の対処法

iOS7 で SLComposeViewController を表示しようとすると、すぐに completionHandler が実行されてしまい、表示できない、という問題の対処法です。


ググっても同じ問題で困っている人が見当たらなかったので、すごくニッチな話かもしれません。。 *1


状況

SLComposeViewControllerCompletionHandler の引数に入ってくる result の値を見てみると、SLComposeViewControllerResultCancelled が返ってきていました。


そもそもまだ SLComposeViewController が表示されてない状況なので、誰もキャンセルなんてしていないのに。


あと、いろいろな iOS7 プロジェクトで試してみましたが、どのアプリでも発生するわけではなく、問題なく表示される場合がほとんどでした。


対処法

UIAppearance で、UIBarButtonItem に対してバックボタンのタイトルの位置調整を行っている場合に、この問題が発生していることがわかりました。


[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-10, -200) forBarMetrics:UIBarMetricsDefault];

なので、上記処理をやめるとか、iOS6 以下の場合だけ実行するようにするとか。



ちなみに、あらゆる UIAppearance について調べたわけじゃないので、他にも SLComposeViewController が表示を勝手にキャンセル要因となるようなものがあるかもしれません


また UIAppearance 以外にもそういった要因になるものがあるかもしれません。


*1:あのStackOverflowにも見当たらなかった

2009 | 08 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |