Archive

Archive for the ‘IT’ Category

Python-MySQL(MySQLdb)のメモリリーク対策

10月 27th, 2009

会社のスクリプト言語がPythonに統一されて、今月からPythonをメインに使っているのですが、MySQLに接続する際なぜかものすごくメモリを食う時がありました。その備忘録。

最近技術ネタが続いていますがf^^;

結論から先に書くと、MySQLdbのfetchallの部分を下記のように書きなおすとメモリリークが起きなくなりました。

sql = "SQL文"
con= MySQLdb.connect(db = db, host = host, user = user, passwd = passwd)
cur = con.cursor()
cur.execute(sql, params)
result = cur.fetchall()

sql = "SQL文"
con = MySQLdb.connect(db = db, host = host, user = user, passwd = passwd)
con.query(sql)
r = con.store_result() # use_result()も可
result = []
while(True):
  row = r.fetch_row()
  if not row: break
  result.insert(0, row[0]) # 初めにデータを挿入してリストの再構成を防ぎ高速化!
con.close()

» ueBLOG | PythonをつかってMySQLの巨大な結果を返すselect文を処理する
主にこちらのブログを参考にしたのですが、cursorを使わず直接connectからクエリを投げるようにしています。
大きな違いは、一度にデータを取得するのではなく、1行ずつ取得するようにしている、ということだと思います。6~9行目で取得する行を一つ一つリストに格納しています。

なお、4行目でstore_result()を使っていますが、use_result()も可能で、use_result()を使うとデータをサーバに保持しそこから一行ずつ取得するようになるので、よりメモリの消費が抑えられる、気がしますf^^;
確認していないので何とも言えないのですが。

SQLAlchemyだとメモリリークしない、と聞いて試してみたのですが、ORマッピングで導入が面倒くさそうなうえに、生SQLを叩く際は結局MySQLdbを使うようで問題は解決しませんでした。
大量のデータをMySQLに保存しそこから全文検索(エンジンはSenna)でデータを引っ張る処理を行っていて、ある特定のSQLを書く必要があったので。

参考:
» MySQLdbのメモリー・リーク – スコトプリゴニエフスク通信
» [Python] MySQLdbのメモリリーク (それなりブログ)

8maki IT, proposal, エンジニア , , ,

Data VisualizeなWeb系アプリケーションまとめ

5月 14th, 2009

昨今、新しいインターフェースを採用したアプリケーションが多く出てきている印象があります。先日Blogでも紹介したGAPMINDERですが、こういった統計データをグラフ化して公開するサービスは、最近になって注目を集めている気がします。

データが溢れてしまって、次はそれを「いかにわかりやすくまとめて表示するか」に焦点が向うのは自然かもしれませんね。そこで今回は、どういったアプローチがあって、具体的にどんなアプリケーションとして実装されているのか、調べてみました。

【目次】

2D(2次元)

大きく分けて2Dと3Dの方向性があって、2Dはいかに2次元ブラウザ上でうまくデータを表示するか、というアプローチになるでしょう。2Dはさらに、コンテンツプロバイダー側のデータをグラフ化して提供するアプリケーションと、ユーザーのデータをWeb上でわかりやすく表現するアプリケーションの二つに分類できます。

■2D(プロバイダーがデータを提供)

○莫大なDBからデータを提供するアプリケーション

Wolfram Alpha(画像↓1枚目)と最近開発が発表されたGoogle Squared(to Techcrunch)は(画像↓2枚目)有名ですよね。前者は10TBもの統計データを、検索キーワード(SQLのようなクエリ?)に応じて図を示してくれるアプリケーションで、5月にリリース予定です。あの数学アプリケーションMathematicaの作者Wolframのプロダクトとしても有名です。
wolframalpha

一方、Google Squaredの方ですが、下記の画像を見るとわかるように、Web上の検索結果をグリッド上に表示して、それぞれの結果を比較できる、というインターフェースになっています。莫大なWebデータを保有するGoogleならではのサービスですね。Google Analyticsがアクセス解析の会社を一掃したのように、巷のバーティカルサーチエンジンを恐怖に陥れるのでしょうか。

googlesquared

また、先日紹介したGAPMINDERも統計データの表示なので、こちらのアプローチに入ります。

検索エンジン系
扱うデータが膨大なため、検索エンジンの様相を呈していくのではないでしょうか?となると、データの表示は主に今までなされてきたようなグラフ化に落ち着きそうです。それよりも、検索クエリの構文とか、検索方法といったユーザーインターフェースに改善の余地が出てきそうです。

○関係性の視覚化

mixigraph_mac

また、検索エンジン系のアプリケーションでは対象としていない、データ同士の関係性を示そうとする試みもあります。一番わかりやすいのはmixigraphではないでしょうか?ノードとノードがあってその間をつなぐ線があるという図は、実生活ではよく目にしますが、なかなかWeb上では目にしません。

ただ、関係性の抽出という意味では、一つ有名な領域があります。

レコメンドエンジン系
レコメンドエンジンです。主なレコメンドエンジンは、商品同士の関連を計算して、類似商品を表示します。サイジニアのデクワス(画像↓)というレコメンドエンジンでは、ユーザーの指向から類似コミュニティを見つけて、そのコミュニティを利用して関連商品を出しているようです

deqwas

結局mixigraphも、共通の知人や関連性の高い友人を見つるのに使うのが主な目的だと思うので、ある種レコメンドエンジンと言えますね。多くのレコメンドエンジンもmixigraphのような、ビジュアル的アプローチができる気がします。

■2D(ユーザーが自分のデータを表示)

○Web上の描画支援

googlevisualization

Google Visualization APIは、ユーザーのデータをWeb上に表示する際に便利なAPIです。仕組みは簡単で、データを投げるとグラフの画像が返ってきます。また、Google Analyticsなかのひと、といったアクセス解析ソフトも、ユーザーのデータをわかりやすく表示するアプリケーションと言えばこちらの分類ですね。

API系
今後も自分のデータを簡単に、かつ分かりやすく示したいというニーズは増えてきそうですし、こういった描画支援系のサービスはAPIやASP/Saasといった方向で出てくるのではないでしょうか。

○脳内の視覚化
mindmapguidlines

Mindmapに代表されるような、脳を整理するアプリケーション群です。これはこれで別エントリでまとめたいほど多くのアプリケーションがありますが、基本はツリー構造のアプリケーションですよね。個人的にはFrieve Editor(画像↓)というのがオススメです。普通のMindmapではツリー構造しか表現できませんが、こちらは多対多の関係を表現できます。

frieveeditor

認知系
Webに限らず、多くの形が考えられそうな領域です。スライドをインタラクティブに作れるツールとか、ワークフローに特化したアプリケーションとか、それこそ無限に考えられます。けれども、人間の脳をいかに効率的に表現するか、という領域に収まる気がするので、認知系とまとめてみました。

3D(3次元)

上記のグラフ化と一線を画すのが、3Dの方向です。2Dの、「人間が紙の上にまとめる」という考え方が、3Dでは「人間がその中で行動する」という考え方になり、よりインタラクティブなアプリケーションが出ています。

ifree3d

iFree3D(to Techcrunch)(画像↑)は立方体空間の中で、Webブラウジングするアプリケーションで、サイトや画像といったアイテムを、より直観的にいじれるように3Dを活用しています。ま

た、FoxTab(画像↓)というFirefox Addonも、今開いているサイトを、3Dで表示してくれます。

foxtab

ブラウザ系
これらのアプリケーションに共通しているのが、ブラウザあるいはブラウザ支援ツールということです。より実世界に近い形でWebを動き回れたらいいんじゃないか、というのは自然なアプローチはな気がします。AR(拡張現実)も注目を集めていますし、IE vs Firefox vs その他Webブラウザ、という構図が大きく変わりそうな気配がします。

————– まとめ —————

datavisualize

こうみると、本当に分野横断的に色々なアプローチ、アプリケーションがありますね。とはいえ、今回まとめたものだけでも、一通りのトレンドを網羅しているように思えます。つまり、新しいイノベーティブなアプリケーションには、イノベーティブなインターフェースも必須になりつつある、ということなのではないでしょうか。

【参考】
こちらのブログ↓では、扱うデータによってでData Vizualizationの視覚化アプローチを7個にまとめています。

» Data Visualization: Modern Approaches | Graphics | Smashing Magazine

  • Mindmaps
  • Displaying News
  • Displaying Data
  • Displaying connections
  • Displaying Web-sites
  • Articles &  Resources
  • Tools and Services

8maki IT, Web, proposal, survey, テクノロジー, デザイン , , , , ,

「情報の可視化」における新しいアプローチ、2次元グラフを動画のように再生

5月 4th, 2009

最近、Data Visualization(情報の視覚化)というテーマで調べ物をすることが増えました。
ようは「データをいかに人がわかりやすく、接しやすいインターフェースで表示するか?」という意味で私は捉えていますが、非常に曖昧な言葉だと思います。Infographicsも「情報の視覚化」という意味で同義な気がします。

Data Visualizationのアプローチで、最もポピュラーなのがデータのグラフ化。Googleが検索結果にグラフを表示(via Techcrunch)するようになったのも記憶に新しいですが、データ描画検索エンジンとも言える、Wolfram Alpha(via Techcrunch)も注目を集めています。

そんな中、2次元グラフの推移を動画のように再生できるようにして、時間推移をわかりやすく表現するサイトがありました。 

» GAPMINDER

デフォルトで、横軸に「一人当たりGDP」、縦軸に「寿命」がプロットされていますが、さらに横軸の下を見ると、時間軸があるのが分かります。以下で5つほど、推移をお見せします。中くらいの大きさの赤い丸が日本なので、注目して見るとおもしろいです。

↓ほとんどの国が同じような位置に。

gamminder-1800

↓欧米(オレンジ・黄色の丸)の国々が右上のほうにシフトしています。
gamminder-1876

↓日本を始めとするアジア諸国が追随しています。
gamminder-1935

↓終戦付近で、日本の寿命がものすごい勢いで落ちています。
gamminder-1945

↓高度経済成長で、日本は世界一の長寿国に。左下のアフリカ諸国の格差が目立ちます。gamminder-2007

。実際に再生して連続で見てみるととてもわかりやすいので是ご覧ください→GAPMINDER

Data Visualization: Modern Approachesにもある通り、様々なグラフ化のアプローチが試されていますが、2次元グラフに時間軸を取り入れて時間推移もわかる3次元グラフにする、というアプローチは非常に有効なのではないでしょうか。意外に使われていないアプローチなので、取り上げてみました。

このサイト自体も、様々なデータを扱っているので、うまく使えば教育等の分野に使えそうですね。

8maki IT, proposal, デザイン , , ,

大規模分散処理を身近に、”Amazon Elastic MapReduce”のビジネス的インパクトは?

4月 3rd, 2009

logo_aws 先ほどAmazon Web Servicesから新しいサービスがBetaリリースされていましたね。

 その名も「Amazon Elastic MapReduce
 

MapReduceというのは、Googleの検索技術を支える分散処理アーキテクチャで、ようは「処理を細かいタスクに分けて、めちゃくちゃたくさんのPCに独立して処理させることで、スパコン並の能力を発揮させられる構造」という感じでしょう。
Amazon Elastic MapReduceのDemoはこちらから見れます。 
(Demoでは、ある文章の単語出現数を計算しています。) 

mapreduce

MapReduceを実装しているフレームワークで一番有名なのが、オープンソースのHadoopです。
商用化など、Tech界隈で話題のフレームワークなのですが、そもそも大規模分散処理用のインフラ技術なので人目につきにくく、ビジネス界隈では見慣れない名前ですよね。

言ってしまえば、「大規模分散処理が身近に!」ということなのですが、ビジネス的にどれくらい身近になるのか未知。
そこで、ちょっと計算してみました。(ものすごい大雑把な計算ですf^^;)

———— 計算 ———–

仮に、セットアップ・維持が3人日、処理が1台のサーバーで7日かかるシステムがあったとします。

するとそれにかかるコストは、だいたいこんな感じでしょうか。

  (セットアップおよび維持中)の人件費+10日分のサーバー費用(AmazonEC2.small:1台とS3:1台)
  =3人日×4万円(人月80万円)+(月8000円÷30×11日+1000円)
  ≒12.7万円 

それが、このAmazon Elastic MapReduceを使うと、だいたいセットアップ・維持に1人日、サーバーを4台使って2日くらいになると思います。すると、

  1人日×4万円+8000円÷30×2日×4台+1000円+MapReduce使用料:1000円くらい?
  ≒4.5万円

コストがおよそ1/3くらいになりますね。
もちろん前者の例ではAmazon EC2を使って、サーバー代をかなり浮かせているため、実質は20万円以上かかると思います。

———— 計算 ———–

小規模な処理だとコスト削減はこれくらいですが、サーバーを数百代、数千台使う処理だと雲泥の差に なるでしょう。

かつ、これだけ簡単に使えるようになると、多くの業者がこのサービスを使ったソリューションを提供することが考えられます。
昔なら100万円以上したECサイトの開設が、今や10万円以下で作れるようになり、販売のビジネスチャンスが大きく広がった、くらいのインパクトにはなりえそうですね。

もちろん重要なのは、この高性能演算システムを安価に使えて何をするか、なのですが。
今は下記くらいしか用法が思いつきません。。。

  • 大規模なクローリングとインデックス化が必要な検索エンジン
  • 機械学習によるレコメンドエンジン
  • データマイニング
  • ログファイルの解析
  • 科学的なシミュレーション
  • 生物学的な実験

まだまだ検索・レコメンドエンジンやアカデミックな領域を出ない分野ではありますが、逆にいえばものすごいチャンスでもあるので、何か面白いプロダクト・サービスを作る会社が出てくるのに期待ですね。

もちろん弊社でもバリバリ狙っていきますがw

なお、MapReduceの技術的説明は、id:nayoyaさんのブログが詳しいです。

※追記 Techcrunchでも紹介されていました。

8maki IT, proposal, survey, テクノロジー, ビジネス , ,

シリコンバレー訪問5:Adobe-エンジニア

9月 9th, 2008

本日は昼から研究室の先輩(Mozzillaでインターンされててこっちに来ている)と合流し、IntelやApple等のメジャー企業を周りました。

Adobeの女性エンジニアの方とお茶

その後、ウノウの山田さんにご紹介いただいて、Adobeの方とお会いしました。
そして、Adobe San Joseオフィスの中を案内していただきました。

adobe.png

やはりAdobeでも個室が一人一人に与えられるのですが、それが広かった!およそ2.5m四方くらいでした。

オフィス内もさすがデザインツールの会社、細部まで凝られていておしゃれでした。様々なフォントが額縁に飾ってあるのは秀逸でした。

社内レイアウトもZ型に通路が出来てるなど、おもしろい仕組みが満載でした。Googleは郊外の大きなキャンパスというイメージでしたが、Adobeは都会のおしゃれビルって感じでした。

その後、カフェテリアで軽くお茶しました。

家族を持つとやはり大企業がいいかも。

これは米国でも同じですね。
ただ日本は独身中心のキャリア感ですが、こっちは家族単位で物事が進むそう。男の産休とかザラ。

こっちで留学考えるんだったらTOEFLやらないと。

奨学金を得るにもTOEFLが高いと有利とのこと。ただスピーキングもあるため、日本にいても留学生とかとつるんで常に英語力を鍛えないといけないですね。
その点うちの研究室は1/3が留学生になるので有利ですw

就職するなら景気を読め。

これは就職の本質だと思いますが、やはり不景気のときより景気の良いときの方が就職のうまみが大きいということです。
これから少なくとも2,3年は米国も日本も危ういので、留学して時間稼ぎもありだよねーっていう話をw

こっちで起業するにしろ就職するにしろビザが問題

ここでも出ましたビザ問題。
こちらに進出する場合、圧倒的な日本企業のスポンサーが必要のようで、そういう意味では大企業に入りこちらに派遣というやり方が一番手っ取り早いかもしれません。
他にも、未踏のスーパークリエイターの方は経産省がバックについてくれるという話も聞いた事があり、色々な手法がありそうではありますが。

雑感:
こちらの日本人女性は個性的というか、芯が強くActiveです。
もちろん日本でも仕事をされている女性は多いですが、こっちは家族単位、つまり働きながら、色々な活動をしながら子育てがしやすい環境なのだなぁと改めて実感。

実際、生活も訪れたことのある他のどの国よりもしやすいです。

8maki IT, proposal, エンジニア, シリコンバレー, 海外 ,

シリコンバレー訪問4:Google-エンジニア

9月 7th, 2008

この日は午前中、残してしまった仕事をして、午後はGoogleのエンジニアの方に訪問しました。
ちょうど毎週金曜のSocialization Eventだったらしく、Familyやら色々な方がいらっしゃいました。

google.png

Googleのエンジニアの方とmtg

職探しはコネもコネ。

転職ありきのこっちではreference・人との付き合いは大事。
referenceとはレジュメに書く、他人からの自分の紹介。
前職のボス等に、自分はどういう人間か、どんな功績を残したかを書いてもらうケースが多いみたいです。
逆に敵を作ってしまうとその会社に入れなくなるということもシバシバ。

4年もいると長いねと言われる。

こちらの方は3,4年周期で転職を考えられているようです。
もちろん大企業を見れば10年戦士もざらにいらっしゃるようですが。

面白いのはモバイル

日本にもiPhoneが上陸しましたが、こっちでのiPhone熱は異常w
異常というか、iPhoneにより米国のモバイル事情が一気に変わるという見方が濃厚のようです。
未だにモバイルよりPCの普及率のほうが高い米国で、これからコンテンツとしてのモバイルが面白いし、変化をもたらすべき領域だと感じました。

やっぱりGoogleはエンジニアにとっていい会社だよ

直前に、グーグル、豪華な福利厚生の大半を廃止へ――同社を去る従業員が増加 という記事を読んで、どんなもんかと思っていたのですが、相変わらず好きなことができて、優秀な人が多いこの会社はエンジニアにはとても良い会社だと思いました。
(この記事についてはお聞きしませんでしたが。。。)
この方に限らず、こちらの人のGoogleの評価は未だに非常に高く、「そろそろ落ち目なんじゃね?」という見方も昨今見られますが、そんなマクロ的な分析とは関係ないみたいですね。

chromeのリリースによるWEB包囲網戦略は、Googleの成長を見る上で重要なポイントですね。

その後Googleキャンパスをうろうろしたのですが、とにかく広い!
数十の建物が散在していて、全て車で回るのも一苦労でした。
朝とかはGoogleに行く車の列で渋滞するそうなw

8maki IT, proposal, エンジニア, シリコンバレー, 海外 ,

IT業界キャリアセミナーのパネルディスカッションで

11月 28th, 2007

ということで以前告知したイベントの詳細がCNetに上がっていました。

it_career_panel_cnet.png

» IT業界でキャリアアップするとはどういうことか–業界人が議論

初めてのパネルだったのでちょっとばかし感想&反省を。

○全く準備が無かったのでテンパった

運営者の方を批判するわけではないですが、何も考えずに臨んでしまいました。
結果、ろくな発言をしておりませんf^^;(記事を見ていただけるとわかりますが)

面接だと自己PR、志望動機、長所短所など準備していけるので対応が可能なのですが、いきなりの質問に対して即答するのは至難の業でした。

ですが、他のパネラーの方はこれぞという発言をされていることもしばしば。
やはり人生哲学(今回の場合エンジニア哲学)を確立しているとすぐにアウトプットが出せるようです。

私も今まで考えることに関しては自信があったのですが、圧倒的な経験不足を思い知らされました。

○学生だからと尻込んでしまった

これは今回で一番の反省です。
上記の状況から、途中ろくな発言ができていないことに気づき尻込んでしまいました。

どうせ学生の言うことなんて浅く参考にもならない、だろうと。

○学生だからという地位を活かせなかった

つまり、これは学生という地位をうまく活かせなかった、とういことです。

学生なので企業のしがらみは全くありません。
ですのでかなり好戦的な発言をしようと思ってはいたのですが、やはり「キャリア」の話になると全くキャリアなんぞ歩んだことの無い私はツッコみどころをその場で探すことができませんでした。無念。

※後半からは逆に開き直って思ったことを素直に言うようにしましたが。

○声がイイと言われた

うれしかったので載せますw

そもそも面接やプレゼンなどで緩急をつけることで、人をひきつける話方というのを意識しているので役に立ったのか、な?

○写真写りが微妙w

微妙!慣れてない感が・・・

以上、つらつらと。

またタイムリーにも田口さんがパネルについてのエントリーを書かれているので参考にしたいです。

» パネル限界論

———————————————————
ついでなのでCNetに上がっている自分のコメントを取り上げます。

コーディングできなくても会社は成り立つけど、社長がコードを書ける会社は元気な印象があります

ウノウとかはてなとかですよね。エンジニアが生き生きしている会社って。
やっぱり技術系の会社を見ると社長が(元)エンジニアであることが多いと思います。

それはエンジニアの気持ちっていうのはエンジニアをやってみないとわからん、ていうのが僕の自論です。

でもそれは竹岡さんによると「生き生きしていると思わされているだけ」と。

これは一見相反する意見ですが、本質は一緒で僕のはある程度の待遇があった上での”生き生き”です。
もちろん給料は無いけどカリスマエンジニア社長についていきます!系は生き生きとは呼べないと言う点で同意。

考え方として、お客様に対する仕事はすべてサービス業だと思います

これはそもそもサービス業だの製造業だの分類は議論として無意味だと思ったのであっさりスルーしただけの発言ですねf^^;

やりたいことをやりたいですが、収入の最低ラインは維持していたいですね。ITや環境を変えていけたらいいなと思います

これは今のIT業界は賃金の最低ラインさえ維持されていない、と学生に思われている、という僕の発言からのものです。
給料が低いと言うか、労働分の給料に見合ってない、と”思われている”と。

ただこれは実際のところどうなのでしょうか?
僕が学生代表と名乗りにはあまりにもIT業界を知りすぎている気がします(うぬぼれ)

まだ学生の私が言うのもなんですが、私は『穴掘り』を極めたんです(笑)。子供の頃ですが、庭に穴を掘って自分の背丈まで掘れたら成功という。極めたことで、どこを掘ればいいのかという場所選びや、最後までやり抜くことなどを学びました。たぶん、これはすべてのことに共通すると思うんですよね

ウケ狙いのためスルー。でもこれで場を持っていくことができたw

よく人の多いところは『渋滞する道』に例えられますが、人と同じことをせずに別のルートを探る、開拓していくことも重要です

まあうん。そんな感じ。もっといいたとえをしたつもりだったんだけどなーw

以上初パネルの顧み。

8maki IT, proposal, survey, イベント, エンジニア, 八巻 ,

ウェブサービスインターフェース勉強会でしゃべらせてもらいました

10月 8th, 2007

今回、百式の田口さんがデザイナー集めて勉強会やる、ということでなぜか僕がしゃべることになりました。

» 『ウェブサービスインターフェース勉強会』へのお誘い

全2時間の中、はじめに僕が十数分話して、次にbebitさんのWEBユーザビリティ事例紹介、最後には会議といういつもの感じです。

僕のターンでは、『出会い系に見るWEBインターフェースの今後』というテーマで、以下の4サイトのコミュニティサイトとしてどんなおもしろい機能、インターフェースがあるか、サイトレビューのような形で進めました。

詳しい内容は参加者の方がブログで書かれているので割愛。

「ウェブサービスインタフェース勉強会」に行ってきた。 (treasuring misc.)

Webインターフェース勉強会に参加してきました (ちきんぶれいん.com)

にゃりんこ: 金曜日の勉強会。⇒ 翌日の朝練。

100_1986.png

とは言えコンテンツはほとんど田口さんが用意してくれたようなもんなので、僕はいかにうまく伝えるかに専念。

プレゼンはそこそこ慣れていたと思うほうなのですが(学生にしては)、人からお金をもらって(今回は¥1000)人前で話すというのがどれだけプレッシャーがかかるか、思い知りました。

いや、別にプレゼン自体の緊張感が増した、というわけではなくやはり、それなりのコンテンツを提供しないといけない、というプレッシャー。
ITイベントにいってつまらんかった、という経験もありますし、お客さんの満足度が低かったらどうしよう、っていう部分が一番怖かったです。
まあどっちにしろかなり緊張はしましたがw

飲み会や帰り際には「よかったよ」「面白かった」というお声もいただきましたが、精進必須!
田口さんからの反省メールでは

プレゼンは100点だったが、120点にするには「期待させる言葉」を効果的に使うと良いね。あと、声のトーンに強弱つけようねー。

といただきましたが、所詮学生にしては。プロとして話せるようになるにはまだまだ遠い。
「いかにうまく伝えるか」の視点も欠けていました。

高みを目指すものにとって人前で話すという壁は避けては通れないませんし!!w

8maki IT, proposal, survey, イベント, デザイン, 八巻 , ,

Mozilla 24にスタッフとして参加

9月 16th, 2007

お久しぶりです。

今日は秋間氏に誘われてMozilla 24のスタッフをしています。
今もなおリアルタイムにw

562596552_69.jpg

Mozilla 24ということで24時間のイベントです。ITイベントで深夜突入は初めて。

でもこのイベント。24時間っていうことで以外にも色々と面白い企画がちりばめられています。

まずShibuya.js

言わずもがなの人気イベントのため、開始数分でいっぱいになるという。。。
当日も盛況で250人近く参加していた模様。かなり高度な話題が多かった。

でもCUIでphotoshopをイヂる、というのは圧巻でしたw

次にドキッ! 丸ごとウェブ!! ブラウザだらけの討論大会 ~Chatでユーザのポロリもあるよ~

livecoding.jpg

ブラウザベンダーやユーザさん同士のパネルなのですが、リアルタイムに動画を配信し、IRC(チャット)でイベントに参加できる。
ustreamの存在で一気に動画配信が身近になった感じですね。
てか会場でPC使ってあえてWEBから参加する人の多さw

双方向性を実現するイベントとしてはかなり質の高いイベントだったと思います。

そして今がLiveCoding

LiveCodingっていうのはリアルタイムに簡単なプログラムを作成するシーンをスクリーンに映して、実際にコーディングを見せる、というもの。
これは23:30~3:30っていう激しいスケジュール。

たった今、はてなの神原さんがニモTVなるサイトを開発されていますw
最近は就活生として、コーディングから離れた生活をしていたのですが、こういう雰囲気の中にいるとなんかうずきますよね~

さあ、後はサバイバル。いつまで耐えていられるかっていう新しい感覚も味わえるイベントでしたw

8maki IT, proposal, survey, イベント, エンジニア

ITベンチャーのスピードを速くする10の提案~エンジニア視点~

6月 14th, 2007

もうIT系のベンチャーでエンジニアとして働いてきて3年目となりました。
その中で思ったことをまとめてみたいと思います。

speed.jpg

photo from flickr.

ソースコード管理システムは必須かと

そこそこ分かるエンジニアに取っては当たり前のことですが、3人以上の人がいじるとなるとこのシステムは必要不可欠。間違えて他人のコードを上書きしてしまったときの悲しさといったら・・・最近ではSVNが主流のようですね。
ただ人数が2人以下とかだったら地道な手作業UPの方が速いかもしれません。

※ソースコード管理システムとは・・・
説明が難しいのですが、ようはメーリングリストのソースコード版と例えればいいでしょうか。メーリスではメールを投げると皆に届きますが、SVNでは自分のいじったソースコードを投げると、ある場所で他の人のものと比較・合併して皆で共有するというものです・・・という感じ?

逆にバグ管理システム等は使わない

細かいバグに追われてしまう気がしました。売り上げに直結するタスクは何なのか、優先順位をつけるという意志が薄くなってしまいがちです。ただ、大きめなシステムとなるとこういった類のツールは不可欠となります。そのような場合では、キューのように常に個人のタスクに順番をつけてやるといいと思います。

ノリが良い&&事業化に向けたフローが整っている

ITベンチャーではノリのよさが一番だと思います。「それいいね!とりあえず、やっちゃうか」。でもそれを具現化するプロセスを持っていないと頓挫してしまう可能性が高いので、早期に新規事業のフレームワーク作りをしておくと成長後に楽かと。基本的にベンチャー社長は事業を興すために起業したわけで、そういったことは得意のはず。他の人にも共有した方が良いと思います。

エンジニアにやらされている感じをさせない

自分から進んでバグを直すような風土が一番ですが、中々そうはいきません。その対策例の一つとして、googleでは見つかったバグを一番に直した人がamazonギフト券をもらえるという仕組みを導入しています。
また、上司や非エンジニアの人は頭ごなしにタスクを押し付けるのではなく、ちゃんとそのタスクが会社の何に貢献するか説明すると良いと思います。何事も説得&納得が重要。会社への貢献感は大事ですが、具体的にどのように貢献しているか把握できると仕事もやりやすいはずです。

ただマーケティング担当者が口うるさいのもプラスかも

正直、エンジニアはプロモーション等への意識が希薄だと思います。やはりマーケティングを専門にやっている人からのプレッシャーはある程度あったほうがいい。そうしないとダラダラと売り上げに直結しないようなタスクをしていまいがちに。
つまり、ある程度の「縛り」は、自由な環境の中でも必要だと考えます。

社内の情報共有がしっかり生きている

基本ですが、進捗報告、他人のやっていること・考えているこが分かるというのは非常にプラスです。それは上司と部下の間だけでコミュニケーションが取れればいいわけではなく、他部署の人でも閲覧できると良いと思います。その人がどのくらいできる人なのか一目瞭然で、自然な競争を生むからです。

自分がどう評価されているかを明確に”適宜”伝える

これはモチベーションの維持という点で非常に効果的だと思います。自分の行ったものに対する評価というものは気になるもので、「実装が速い」「仕事が丁寧」等の言葉をもらえたりすると自分の武器を認識し、さらにその武器を高めようと努力します。逆に怒られても、自分の欠点が分かり努力すべき部分が把握できます。(ここで努力しようとしないのはベンチャー向きでない?w)

タスクの〆切が明確

いつまでにやるべきことなのか、ダラダラを防止します。

居眠りは推奨すべき

私は仕事中でも短時間の仮眠は非常に効果的だと考えています。ダラダラと眠い中仕事をするよりかは、30分だけ寝て次からまた頑張った方が確実にいい仕事ができる。ただ、眠る場所や時間帯は工夫すべきかもしれませんね。

究極的には少人数がベスト

やはり小さいベンチャーはスピードが速い。何せ自分がやらないと何も進まないのでf^^;
人数が多かったらどうするか。そこはいかに少人数なチームでこなせるか工夫したいところです。例えばいじる箇所を完全に分ける等。

  
特に個人的には、”目的意識”、”売り上げへの意識”、”少人数”がポイントだと思います。効率的な社内システムというものには昔から興味があり、生涯の課題としたいと考えています。そのため、外資コンサル・VC業界に興味があるというわけなのですが・・・

とはいえ、まだ学生の身ですし、経営をしたことがあるわけではないので、あくまで末端のキャラから見た提案だとお考えください。まだまだ至らないものもあると思いますが、書くことに意義がある!w

何か「これは違う」「たしかにそうかも」等、フィードバックを頂けたら幸いです。

【関連】
東大経営の現実

【参考】
Joel on Software – ジョエル・テスト
ソフトウェア開発に必要な12に項目を挙げています。参考までに。

8maki IT, proposal, エンジニア, ビジネス, ベンチャー