プロとは

twitterのプロフィールにしれっとWEBエンジニアって書いていたけど、一般の人がWEBエンジニアに期待することって何?そのままだと複雑すぎるから、たこ焼き屋を例に考えてみる。 たこ焼き屋の最低限スキルは、仕入れて、焼いて、売る。この3つがそこそこできれば、一応プロとして成立する、食っていける。プログラミングできます、SEOできます、ログ解析できますで雇ってもらえている俺の状態と同じ。 でもここからが問題。一般人はたこ焼き屋のプロに、もっといろんなことを求める。「たこ嫌いのうちの子でも食べれるようなの焼けない?」「斬新でおいしいたこ焼きないかなあ?」「一番うまいたこ焼き屋ってどこなの?」 必要ないよ、ただ食っていくには。でも、業界の外の人からすると、たこ焼きに関する相談に乗ってやれる、問題を解決してくれるって思ってる。たこ焼きの応用問題も解けると思ってる。 ちょっと脇道。一般人の側に回った時は、プロに見える人のほとんどは、応用問題なんて解けないという事実を忘れちゃいけない。たこ焼き屋は、プロに見えてもただ焼けるだけ。常識しか知らない。 で、WEBに話を戻すと、こちらはたこ焼きよりジャンルとして広くて、普段は分業せざるをえない。けど、応用問題というのは普段からどれだけ軸をずらしながら考えているかなので、業務外でもわかったりする。 PC/携帯/スマホ、テレビ/新聞/ネット、受託/自主事業/レベニューシェア、課金/受託/広告、予算、規模、メンバーのスキル、いろんな軸が考えられる。たらればを想像しながら現実と比較していくのが深みにつながるんだろうな。

デマルコ本を捨てました

SIにいたころ、プロジェクトマネジメント(スケジュールやリソースの管理よりは、特に社会的な部分。デマルコ系)に興味があったから、その方面の本が結構あるのだが、捨てることにした。自分にとってこの決断は、単に紙の束を捨てるだけの意味にとどまらない。 何十人もCクラスのエンジニアを集めて、何ヶ月もかかるようなプロジェクトを成功させる…なるほど素晴らしいPMだが、今はそれには魅力を感じない。なにより、それじゃエンジニアが成長しない。

ディレクターに必要なエンジニアの知識

ディレクターに技術的なこと教えるとしたら、何を教えるのが業務に役立つんだろうってたまに考える。HTTPヘッダかなあ、DBの正規化かなあ、正規表現かなあ。 技術的なことがちゃんとわかるディレクターは需要が高いみたいな話があったけど、逆に必須なのに身につけようとしないディレクターが多すぎるだけなんじゃ。そして、基礎知識があるだけのエンジニアなんて追放しちゃえ。 んで、エンジニアにとって必須知識なのに、身につけようとしない人が多すぎるものはなんなんだろう。分業ってのはタスクをわけるってことであって、わからなくてもいいわけじゃないんだよね。なんか新人みたいなことを言うようだがw

HTML5

まだ一般化していない新しい技術に対しての興味はもともと人より薄いが、HTML5は超重要と考える。ScalaやRails3は、それに比べれば自分の中で相対的に重要度は低いかな(もちろん、名前が挙がるくらいだから重要ではあるが、相対的に)。 みんなが必死にライブラリやフレームワーク作って生産効率上げようとしているのに対して、「あ、それ新しくタグで実装されてっから」でシンプルに解決されてしまう。同じことができるなら、難解なほうは駆逐されるしかない。 HTML、SQL、HTTP、この3つが柱だと思う。正直、これらの重要さに比べたら、プログラミング言語やフレームワークなんて。意訳をちょっと広げると、ブラウザ、ビジネスロジック、サーバーってことになるのかな。

ブラックスワン

いまさらブラックスワンを読んでいるが、プロジェクトマネジメントの仕方が10年以上ほとんど進歩しないのは、ブラックスワンをうまく扱えていないってのもあるんだろうなー。以下のような考え方は、プロジェクトマネジメントを扱う本では見たことがない。 先進国の女性の平均寿命は「79」歳。この女性が79歳で生きていると、残りの寿命の平均は10年。90歳で生きていると、残りは4.7年。 それに対して、「79」日で終わると予想されたプロジェクトが79日で終わらなかったら、終わるのは25日後と予想される。90日で終わっていないと、終了予想はさらに58日後になる。 プロジェクトの見積もりを、人間の平均寿命と同じような感覚でとらえるとスッ転ぶってことだけど、じゃあどうすりゃいいのかって言われるとまだ良くわからないww