2013年5月15日水曜日

新卒1ヶ月半で死なないための教訓3つ

ほんとは1ヶ月のときに、こんな感じのことを書こうとしてたんですが、
ちょっとタイミングが合わなかったので、今書く。


1, 先手を打て

「これ、放っておくとあとで修正がいるかもだけど、まぁあとでいいか」

みたいなことは、90%本当にあとで返ってくる。

しかも、それがいつ発覚して、いつ対応しなくちゃいけないかが読めない、
厄介なタスクになって。


「あとまわしにしない」っていうのは、優等生的な話ではなく、

単純にこういう「いつ発生するか分らないタスク」を生まないために重要だと思う。


特に新人のうちは、普通に割り当てられたタスクをちゃんと捌くだけでも大変なのに、

そこへ更に予想外のものまで飛び込んでくると、まじ死ぬ。


気づいたことはその時に対処するなり、
機能してるタスクリストにメモするなり、
対応した方がいいかを分かる人に確認するなり、しよう。


2, 悩んでる時間が無駄

これは先輩が言っていた言っていた言葉そのままだけれど。

(もっと言えば、同期が引用していたのを見て思い出した言葉だけれど)

1つの作業に対して、「どうすればいいか分らない状態」を続けることは、無価値。

何も生み出せずに死にます。


仕事は一人でやっているのではなくて、チームでやっているので、

極論言えば、「誰の力でその作業をやるか」なんてどうでもいい。

チーム全体の利益を考えて、
・分らないことを分らないと言う
・できないことをできないと言う
というのも仕事だと思って、さっさと先輩に聞いた方がいい。


3, 日本語で手を抜かない

上の2つを実践する上で、超大事なのはやっぱりコミュニケーション能力だと思う。

・自分が何で困っていて
・何ができていて
・どう助けてほしいか

を言語化できないと、どうしようもない。まじで死にます。

いかなる状況・立場でも、相手に伝わるように言葉を使う。

また適切な連絡手段を使う、というのが一番大事な気がする。


補足: そのために使ってるツールいろいろ

要は、「気づいたことを忘れないようにしようぜ!」
「その上で、今やることに集中しようぜ!」
っていうためのツール。

Catchは、クラウドメモのアプリとしては、
オフライン時の動作が格段に安定してるのですばらしい。
日報書いたり、実装上の注意メモ書いたりするのに使っている。

trelloは、数あるTODOアプリの中でも、
「いま何をしなくちゃいけないか」に注目しやすいツールだと思う。
「タスク終わった!」というのがわかりやすいジェスチャーで入れられるし、
「今日はやらないけど明後日までにやるタスク」みたいなのも分りやすく入れられる。

gmailはやっぱり、「基本読んだらarchive、対応が必要なものは受信箱に」
というスタイルで使った方が安心。

2013年5月7日火曜日

GWの成果とSTEINS;GATE感想

GWあけましたねー。
今年はだいたい勉強とゲームしてました。
(あれ、社会人のはず…)

いろいろやりっぱなしで、まとめを書けてないものも多いので、
あとで思い出すためにも、一通りまとめておきます。


node.jsでこんなのもテストしたい!! という話

mochaの動かし方をいろいろチェックしてました。
expressのテストだったり、mongooseのテストだったり。
shouldよりchaiがいいという話を聞いたので、その後のりかえ。

▼「htmlひとつで、他のリソースはすべてwebsocketで送る」

というサーバーを書いてみました。
https://github.com/fnobi/ares

いまのところ、
・普通にhtmlを書く
・専用サーバー(expressをベースにした↑のレポジトリ)を通してアクセスすると、
 imgとscriptのsrc、link[rel="stylesheet"]のhrefを削ったhtmlを返す。
・ページロード後、削っていたリソースをぜんぶwebsocketで送って表示 というのができます。

なんかウケるんですが用途未定。
とりあえずWebSocketの練習になったのでよかったです。

▼my grunt-templateを仕上げる

けっこう長いことこねこねしてたんですが、
ようやく納得いくものになりそう。
https://github.com/fnobi/grunt-init-jsapp

▼RequireJSをごにょごにょする

便利なんですが、微妙に小回りが利かないrequirejs。
どう使うのがベストなのか、いろいろ模索してました。

結論としては、
・もとのjsソースはいじらずに、configのshim指定で全部片付ける
・dispatcherをくっつけると、すべてのページで全く同じjs読み込みで書ける!
・optimizerを使うかはまた考える(license残しがうまくいかない…)
という感じ。

なんのこっちゃーだと思うので、ちゃんと記事にします。
あるいは、もうgrunt-init-jsappに組み込み済みだったり。

▼mochaのブラウザテストを練習

サーバーサイドテストは書いたことあったんですが、
クライアントサイドのテストはまだだったので、勉強。

ごにょごにょやってみましたが、
grunt-mocha-phantomjsを使っちゃうのがらくちんな気がしました。
(ので、こちらもgrunt-init-jsappにも導入済み)

▼backboneを勉強

しました。
いいですね。

requirejs環境も整えて、モデルを分割して書くとかもやりやすくなったので、
ガンガン使っていきたいです。

イメージしてたより全然薄かった。
プラグイン的なものも書きやすそうですね。

現在、backbone使ってfirefoxOS app作ってみてます。
https://github.com/fnobi/toycapsule

▼音環境ととのえる

声録音用のマイクとオーディオインターフェース買ったり、
Logicを入れたり、

しばらくは、不満ゼロな音楽制作できそうです。

▼STEINS;GATEプレイ

前々からやってみたいとは思っていたので、ついに手を出してみました。
iOS版があるなんて素敵!!

https://itunes.apple.com/jp/app/steins-gate/id454136236?mt=8

最初のゲームが2009年で、アニメが2011年…とのことなので、
いまさら「まゆしぃかわいい」とか言ってみても時代遅れ感がすごいけどかわいいですね。
あざといぜ…!

ストーリーは案の定このみでした。

理系ロマンMAXな序盤でにやにやして、
中盤の無力感でうるうるして
終盤の伏線回収でぞくぞくしました。

(あと、ルカ子のパートはなんか笑った。)

しかしこういう、
・ループもので
・描写がえげつなくて、
・各種需要を満たせるヒロインがそろってる

というのは、このころの流行なんですかねぇ。
ひぐらしとかまどマギとか。
全部すきなんですが。

たぶん「このころ」っていうほど時期同じじゃないので、
もう一つのパターンなのかもだけど。

※アニメとかゲームとか、半年に1本くらいしかやらないので、
適当な考察なのは見逃してね!!


というわけで、充実したGWだったんじゃないかなぁと思います。
5月はこの方向でもっとのばしていきたいなぁ。