優れたプログラマの姿勢トップ10

Steve Rileyさんがブログに書いていた記事がリバイバルでバズっていました。「The Top 10 Attributes of a Great Programmer」と題して優れたプログラマが持っている姿勢をリストアップしています。
- 優れた問題解決者であること
- 物事を遂行すると同時に怠惰である
- 他人のコードを理解する
- プログラミングへの情熱
- 学びたいという欲求の為に学ぶ
- 数学が得意
- コミュニケーションスキル
- ディベートに強い
- 超楽観主義者
- 超悲観主義者
本人の体験ベースで書かれていることもあり納得しやすい項目ですね。記事内ではさらに追加の10項目として時間の見積もり力やスキルを他のプログラマに伝えられるといった内容も挙げられています。またコメント欄でも20件以上のリプライがあり、いろいろ指摘が出ています。
- 11個目にユーモアのセンスを追加だ
- Emacsのアウトラインモードを使うと思考の助けになるよ
- 12番:優れた英語力
- 優れたプログラマを具体的に挙げて欲しいな
皆さんは優れたプログラマとは何だと思いますか?
via:http://programmingmatters.com/the-top-10-attributes-of-a-great-programmer/
スタートアップに学ぶ個性的な企業になる方法
スタートアップというとユニークな制度やサービスを行っている事が多いですが、企業が個性を持つ事の例を紹介した記事が話題になっていました。オーガニックよりのスーパーマーケットチェーン、Trader Joe’sは商品の値札をアーティストを雇って手書きする事で親しみの持てる内装を作ろうとしており、なんとその数は140万枚。でもそのおかげでポップな値札や地域の路面電車を題材にしたサインなどが作られているという分析のようです。
またインターネット企業が個性的な演出を施している例も挙げられていました。
- オンラインの靴通販 ザッポス(zappos) ジョークが聞ける専用の電話番号を開設
- アフィリエイト広告 Woot アフィリエイター登録の仕組みをコミカルに説明(表題の画像)
- グルーポン メールマガジンを配信解除した後に「こいつがあなたにメールを送っていました」とCEOの画像が表示され「おしおき」をクリックすると水をかけるビデオが流れる
グルーポンのビジネスモデルは有名ですが、こういったコミカルな面は少し目新しい気がしますね。メールマガジンを購読していなくても「おしおき」は出来ますので宜しければ試してみてください。
売れっ子フロントエンドデベロッパになる為の10のスキル
オランダのテック系コミュニティ、FronteersでRuben Timmermanさんが発表した資料が賞賛を浴びていました。ヨーロッパのコミュニティの様子というと想像もつかないですが、ピザにビールにスライドなんていうカジュアルなmeetupから上の写真のような大掛かりなイベントまで色々と行われているようです。フロントエンドというとHTMLやCSSなどのコーディングのイメージがありますが、このプレゼンが主題とした点は少し違ったようです。
- 新しいツールを追いかける
便利なツールはたくさんありコンバージョンの向上に役立つ。kissmetrics Usabilla Padi Act など - それは自分の仕事か?
マーケティングやUXのアイデアを形にするのがフロントエンダーの役割 - デベロッパとのコミュニケーション
フロントエンダーはバックエンドエンジニアなどの力を借りなければならない。コミュニケーションスキルが重要。 - WEBアプリケーションがどう動いているかを理解する
(ボタンを変更したらシステムの挙動が変わった失敗談の例あり) - デザインを再利用するセンス
- 勇気か説得力
テストの過程でコンバージョンが低下する事もある。そういった際にうまい説得をする - コンバージョン(転換率)マニアになれ
- マニアックでないコードを書け
後で変更しやすいように - スピードにこだわれ
速度はコンバージョンに直結する - モックアップは素早く
ランチの際に出たアイデアもすばやく形にして見せれるように
悪くても百万になるスキル「10 Skills to Become a Frontend Developer worth Millions」という事でなにかと思いましたが、コンバージョンの向上を追求する役目を追求するというストーリーだったんですね。たしかにコーディング部分だけで競争をしていくのは厳しいと感じた人が、その先を見るビジョンとして共感していたようです。
via:http://devblog.eduhub.nl/frontend-developer-worth-millions
DHH氏のキーノートスピーチに使われたイラスト
ボルチモアにて、現地時間の16日よりRuby on Rails開発者のイベント RailsConf 2011がスタートしました。Rails開発者のDHHことDavid Heinemeier Hansson氏によるキーノートスピーチのレポートがDHH’s RailsConf 2011 Keynote Live-Blogged Hereにて公開されています。
今回のDHH氏のスピーチは「The Asset Pipeline and our Post-Modern, Hybrid, Javascript Future」と題したもので、来るべきRails 3.1の新機能紹介が中心となっています。が、今回はその内容ではなく、スピーチに使われたスライドのイラストにまつわるエピソードを紹介します。
スピーチのタイトルどおりに未来風(だけどちょっとレトロ)なパイプラインと宇宙船が描かれたこのイラストは、このスピーチのためにMike Rohdeさんという方が描かれたそうで、DHH氏に依頼されてからイラストを仕上げるまでの流れがブログで公開されていました。
この方、DHH氏が所属する37signalsの書籍 REWORKのイラストも担当された方だそうです(邦訳は「小さなチーム、大きな仕事」ですが残念ながらイラストは収録されていません)。
さて、今回DHH氏からはスピーチのタイトルとThe Jetsons風の宇宙船というイメージが伝えられ、Mike氏はまず、
- PenultimateというiPad用のスケッチソフト
- 自分の指
- Stylus Socks Pro
を使ってデジタルなスケッチを仕上げました。それをiPadからダイレクトにDHH氏に送り、コンセプトとデザインの大枠が決まったら、次はモレスキンとペンを使ってアナログなスケッチを作成、それをスキャンしたものをPhotoshopで仕上げる、という流れで完成させたとのこと。
ちなみにキーノートの本番は月曜日、依頼があったのが金曜日でしたが、DHH氏のツイートによるとどうやら日曜日には仕上がっていたようです。
最近は、クリエイティブ・コモンズな画像や有料の写真素材をスライドに取り入れる方が増えてきましたけれど、あえてオリジナルな手書きスケッチを取り入れてみるというのも目を惹いて面白いかもしれませんね。
リモートのスタッフと良いコミュニケーションをする方法
遠隔地のスタッフと業務を行うという話は国土の広いアメリカでは筆者の周りでも少なからず見られる業務形態です。特にスタートアップなどではその傾向は強いようで、リモートでのコミュニケーションを改善するというTIPSに注目が集まっていました。
- 全て書き留める 全てを明確にする為に必ず書き留めて見えるようにする
- いつでも連絡可能な状態に リモートのスタッフが気軽に連絡できるように心がける。聞き出す力が鍵。
- 全てを一カ所にまとめておく コミュニケーション、ドキュメント、タスク管理などが複数のツールに分散しがち。
- テキストを超える 非同期でメールだけでなくインスタントメッセンジャやSkypeなどを活用する。
- 分け隔てなく リモートのスタッフは環境をエンジョイする一方で孤独でもある。チームの一部であると感じさせる事が大事
リモートでの勤務が広く受け止められている事もあり、ベーシックなTIPSですが注目を集めたようです。ビデオチャットは気恥ずかしような気もしますが、非常に便利なツールとして広く使われているようですね。
via:http://mashable.com/2011/04/25/communicate-remote-employees/
テック系カンファレンスで良いWiFi環境を作る方法

テクノロジー系のカンファレンスに参加するとWiFiのネットワーク名とパスワードをアナウンスするという光景は最近はどこの世界でも見かける光景です。グーグルのJavaScriptハッカー、Malte UblさんがJSConfでのネットワーク環境を快適にする為に注意した点をまとめたエントリが話題になっていました。
- 0.基本 WiFi環境を担当する人を決める。
- 1.何も信用しない 会場を予約して「WiFiは大丈夫」と言われても嘘だと思って詳細を確認する。
- 2.参加者の数とデバイスの数 1人あたり2.3のデバイスとして計算する。(iPad以降の数字)
- 3.知らない会場 臨時の設備 事前のテストが難しくなるが、それでもできる範囲でテストすべき。
- 4.帯域 参加者独りあたり上り下りともに100kビットとして計算する。
- 5.チャンネル毎の帯域 1チャンネル毎に有効な帯域は20Mビット、WiFiは11チャンネル。つまり220MBの壁を越える事は出来ない。
- 6.人 bittorrentなどで帯域を大量に消費する人が居た場合はIPをブロックする必要もある
- 7.JSConfでの教訓 100人程度のカンファレンスでも数人、問題になる参加者が居るので対処が必要
このセッションの発表資料がこちらにあります。イベントを運営する際にWiFiの提供は悩みの種の1つです。JSConfはかなりの規模のカンファレンスですが、その裏では地道な苦労があったのですね。みなさんもイベントに参加する際は帯域を大量に使うソフトウェアを終了する事を忘れないようにすると運営者の方の苦労が小さくなるかもしれません。
via:http://www.nonblocking.io/2011/05/how-to-make-wifi-work-at-tech.html
美しすぎるギークと行くザッポスのオフィス

Zappos(ザッポス)は靴のオンラインショップとして始まり、高いユーザーの満足度を得る経営手法で脚光を浴びた企業です。ついには競合していたアマゾンが買収を申し入れるに至ったという事で知られているかと思います。またフォーチュンが選ぶ働きがいのある企業でトップ15に選ばれており職場環境が優れている事でも有名です。この会社のオフィスの様子が前回も紹介した求人サイトDice.com提供の動画番組、「Best Job Ever」で取材されていたものが面白かったので紹介します。

CTOのArun Rajanにインタビューするリポーターはもちろん美しすぎるギーク、ベロニカ・ベルモントです。

オフィスはオープンなタイプ。カメラの動きがあってキャプチャできなかったのですが、かなりユニークな飾り付けがたくさんされているオフィスです。オフィスを訪れた人をリクルーティングのチームが鐘を鳴らして歓迎する様子も映っていました。

開発に携わるエンジニアは500人、PerlやJava、Gitなどを使っているとのこと。また3ヶ月毎に恒例のハッカソンが行われそこで出来たものがサービスの機能になるという事が頻繁に行われているそうです。

ユーザーの満足度だけでなく、従業員の満足度も高いと言われるザッポスですが、ザッポスのスタッフの楽しげな様子がとても印象的です。YouTubeにはZapposのスタッフによるドーナツの大食いコンテストの動画なんてものもアップされていました。
ザッポスについては書籍も出版されていますが、イメージを膨らませる為に動画もご覧になってみてください。
via:http://www.youtube.com/watch?v=VZlEDjs6M6E
GitはNoSQLデータベースなのか?

目を疑うようなタイトルですが、ReadWriteHackに「Is Git a NoSQL Database?」という記事が投稿されていました。事の発端はMarkus Winandさんのブログに投稿された記事、「Choosing NoSQL For The Right Reason(NoSQLを正しい理由で選ぼう)」内でNoSQLのインデックスについて述べた後に提示した疑問発端です。GitがNoSQLなのかもしれないという理由は下記の通り。
- GitはSQLのフロントエンドインターフェースを持っていない
- GitはSQLをバックエンドで使っていない
- Gitは分散型だ
- コンフリクトが起こりうる
Markusさんは「何がNoSQLの最小要件が何で、それをGitが満たしているのかどうか分からないが、NoSQLを正しい理由で使わなければと」所感を述べています。
それを受けたこの記事の中ではNode.jsをフロントエンドに、データストアにGitを使ったWheatというブログエンジンを例に挙げ、「GitってNoSQLなのだろうか?」とさらに疑問を深めています。
コメント欄によるとこのテーマについてのセッションがRuby Conferenceで行われていたそうです。NoSQLとは何なのかを考え直すきっかけになりそうなテーマですね。
さて、皆さんはどう思いますか?
via:http://www.readwriteweb.com/hack/2011/05/is-git-a-nosql-database.php
720万の会員数のサイト、Meetupを300ドルでコピーしてくれ

アメリカのネット社会の1つの象徴とも言える地域密着情報交換サイト「クレイグズリスト」。ニュージャージーのセクション内のWEBカテゴリに奇妙な依頼が書き込まれていました。
Meetupの全ての機能を備えたクローンを探している。報酬は300ドルから600ドルだ。会社の情報やら月額での費用やらの連絡は求めていない。締切までにテストされたコードがサーバーに納品された後に支払いは行う。なおこのサイトはMeetupで出来る事は全て出来なければならない。

Meetupについても少し説明しておきます。Meetupは会員数が720万人、月に25万回のイベントがサイト上に登録されている超巨大なイベントコミュニティサイトです。また4万5千の都市で利用されていてイベントの種類もテクノロジーなどのギークカルチャーだけでなく、スポーツや趣味、社会問題など幅広いのが特徴です。ユーザー同士が集まるイベント自体の事も「Meetup」と呼ぶ事が定着している事からもその影響の大きさが伺えます。
おそらく応募者は現れないでしょうが、愉快犯なのでしょうか。本当にこの値段でMeetupの完全なクローンが出来るのであればきっと大変なことになりますね。
via:http://cnj.craigslist.org/web/2308566632.html
GitHub 創始者が起業するまで
世界で面白いことをやっているギークたちがどういう環境で働いているか?というインタビュー記事を載せている「The Setup」というサイトがあるのですが、先日そこに GitHub 創始者のひとりであるトム・プレストン-ワーナーさんが掲載されました。

Tom Preston-Werner (Photo by The Setup)
彼は自身のブログで「そこに載せるバイオグラフィーを書いたんだけど『長すぎ。』って却下されちゃった…」と、その原文を公開しています。
大学で理論粒子物理学者を志したもののコンピューターサイエンスへ転向した理由は「数学は好きだけど、仕事にするには現実のささいなことにふりまわされすぎるタチだから」とのこと。加えて、8歳の時から BASIC プログラミングで遊んでいて、フィードバックがすぐに得られる点が好きだったと書いています。
結局大学をドロップアウトし、ドットコムバブルに翻弄されたりといった6年間を過ごした後サンフランシスコに引っ越した彼。グローバルなアバターサービスの Gravatar を作ったり、Wikipedia 検索エンジンの Powerset という会社で働いたりしていたそうです。彼も、
ランチのタコスを買ってたら、隣にいるグループが組み込みプロセッサ上で C を最適化するための込み入った話をしてた、なんていうのは他の場所じゃありえないよね。
と表現しているようにプログラマ文化の濃いSF。そこで Ruby コミュニティの勉強会や飲み会に通うようになったのがきっかけで GitHub プロジェクトのパートナーとなる Chris Wanstrath と PJ Hyett に出会い、夜や週末の時間を使って6ヶ月後にサービスを立ち上げます。Powerset がマイクロソフトに買収されるタイミングで、30万ドル(約2400万円)という年棒のオファーを前に、GitHub をフルタイムの仕事にすることに決め会社を辞めたとのこと(このくだりについてはまた別に興味深い記事があります)。
「The Setup」には前述の共同創始者クリスさんの環境も登場します。他にも Google、Tumblr、TextMate、Processing などの開発者、塊魂のゲームデザイナ、YCombinator のポールグレアムなど個性的な面々がたくさん登場していますので、アーカイブからぜひ読んでみてください。トムさんほど長いバイオグラフィーは見つかりませんが、どれも使っているソフトやその理由などから人となりが見えてくる記事となっています。






