Google のソフトウェア・エンジニアリング
上記のブログにGoogleでのソフトウエア・エンジニアの働き方がうまくまとめられています。大変参考になります。
元ネタは下記のYouTubeのビデオ
Google Developer Day Tokyo の鵜飼さんのプレゼン
My thoughts and journals about software engineering and life
Google のソフトウェア・エンジニアリング
上記のブログにGoogleでのソフトウエア・エンジニアの働き方がうまくまとめられています。大変参考になります。
元ネタは下記のYouTubeのビデオ
Google Developer Day Tokyo の鵜飼さんのプレゼン
dankogaiさんの404 Blog Not Found:好きを仕事にするな、仕事を好きにしてしまえにて、「好きを貫く(好きな事を仕事にしよう)」という流れに疑問を投げかけている。
DanKogaiさんは仕事を恋愛・結婚に例え(惚れた方が負け)、仕事に惚れるのではなくて、仕事に惚れさせるようにしなさいと訴えている。全くその通りだよねと思う。
しかし、ブログのエントリーで取り上げている理論は凄く納得できるのだけれども、人って好きなものを追いかけてしまうものではないだろうか?
「好きを仕事にする」って永遠のテーマですよね。
Paul Grahamによる、アーキテクトとエンジニアの違い (Hackers and Paintersより)
Sometimes what the hackers do is called “software engineering,” but this term is just as misleading. Good software designers are no more engineers than architects are. The border between architecture and engineering is not sharply defined, but it’s there. It falls between what and how: architects decide what to do, and engineers figure out how to do it.
アーキテクトは何をするか決める人で、エンジニアはそれを(何を)どうやって実現するか見つけ出す人。さらに、ハッカーは両方する人であると続きます。
建築で言ったら、図面を引く人と、大工の違いかなー?
ソフトウエア・アーキテクトを目指している人は多いと思うのですが、ソフトウエア・アーキテクトの具体的な定義って難しいですよね。
On Off and Beyond: 細部にいるのは神か悪魔か
私はアメリカの東海岸でソフトウエアの開発をしています。最近、仕事において、他の人・他グループとの兼ね合いで、プロダクトの細部にフォーカスし開発をしていました。昨日、たまたまマネージャー(アメリカ人)と話をしていたら、”最近細部の開発ばかりしてない?”って言われた。マネージャーは、もっと元となる部分をやってよって言いたかったのだと思う。その会話の中から細部の部分をがんばってもあまり評価されないんだなと。そんな事を考えている内に渡辺さんのブログに上記のエントリーが載せられていたので、反応してしまいました。アメリカ人も、細部まで丁寧に作らないと製品の完成度が高くならないと事は理解しているし、実践している人も沢山います。しかし全体の傾向として、細部より元となる部分にフォーカスがより行くようです。日本の文化と、アメリカの文化は、色々な部分で違いますね。だから”The devil is in the details. 細部で厄介なことが起きる。”って事になるんでしょうね。
先日ポストしたブログの英語バージョンです。
http://hideki-memo.blogspot.com/2007/03/key-to-find-ideal-job.html
最近は、Andy Grove: The Life and Times of an Americanを読んでいる。著者がハーバード大学の教授で、少し小難しく書いてあり、ページ数も450ページ以上あるので、なかなか前に読み進むことが出来ないでいる。今やっと250ページ程読み終えた。この本の中でちょっとした仕事を選ぶ上でのヒントを見つけたので書いてみようと思います。
この本13章ではIntel InsideというタイトルでIntelのIntel Insideマーケティングに付いて取り上げています。このキャンペーンは、Dennis Lee Carterにより考案されたマーケティング手法です。
Carterは、Intelに就職する前にHarvard Business Schoolを卒業しています。卒業の際に一人の教授から下記の言葉を送られました。
“When you look for your first job, find a job where nobody knows exactly what you’re supposed to be doing. If they don’t know what you’re supposed to be doing, they won’t know what you’re not supposed to be doing. As a result, you can do anything you want, and you can take risks”
要約すると、自分のやりたい仕事をする為には仕事内容(Job Description)のしっかり決まっていない仕事を選びなさいという事である。Carterは、Andy Groveの技術アシスタント(Technical Assistant)という、送られた言葉通りの仕事をIntel内で得ることができ、その後Intel内で重要な人物となって行きます。Andy Groveの技術アシスタントというポジションは仕事内容が決まっていなかったので、面白い部分もあったとは思いますが、仕事をする上でやりにくかった部分もあったと思います。Caterはこの仕事が気に入り、2年の予定が4年半続けます。
仕事内容が決まっていると、仕事はやりやすいが、他人に決められた仕事をこなすのみで、面白みに欠ける。多くの人がこのように感じていることではないでしょうか?仕事内容が決まっていないと、仕事を自分で見つけなければならないので、大変だと思います。しかし、仕事を自分で見つけ出す事ができ、自分で見つけ出した仕事はきっと面白いはずである。
My Yahoo start page gets new beginning | CNET News.com: “the full version becomes available”
昨日は、netvibes.comを見つけて喜んでたんだけど、今日CNETをざーと眺めていたら、YahooがMyYahooのスタート・ペー ジ新しくすると言う内容の記事を見つけた。今、パーソナライズド・スタート・ページ(ポータル)って流行っているの?流行っていると言うよりは、既存の WEBページをAJAX使って使い勝手を良くしようてのがブームなのかなー?Yahooは既にホームページもYahooMailもアップデートしてるし。
最近、DREAMING IN CODEと言う、コンピューター・オタク向けの本を読んでいる。その中で、登場人物の一人が自分の仕事(ソフトウエア・エンジニア)を、Information Plumber (情報配管工)だとBlogか何かに書いているシーンが出てきた。的を得ているなーとつくづく思う。プログラミングと言う仕事は情報(データ)を右から左に動かしたり、上から下に動かしたり、形を変えたり、本当に配管工のような仕事である。配管工は水や空気のなどの流れをデザインするのですが、ソフトウエア・エンジニアは情報の流れをデザインします。たとえばデーターベースから情報を引っ張りだし、情報の形をHTMLに変え、インターネットに流し込めば、地球の裏側からブラウザーで情報を見る事ができます。ソフトウエア・エンジニアの仕事を表すのに適切な表現だなーとつくづく思う。他のソフトウエア・エンジニアはどのように自分の仕事を表現するのだろう?
今回は実際にどんなサービスをソフトウエア・コンサルタントとして提供しているのか書こうと思います。 ソフトウエア・コンサルテーションと呼んでいますが、実際には、ソースコードを書いています。理由としては、彼(雇い主)一人で始めたビジネスですが、顧客の要望に答え、ビジネスを発展させていく上で、彼一人では全てに手が回らなくなってしまい、彼の手の届かない部分を彼の代わりにやってくれる人を、彼が探していたからです。その手の回らない部分というのは、彼のソースコードに対してユニット・テストを書くことです。なぜユニット・テストかというと、プロダクトの機能テストは、顧客が行ってくれるのだけれども、ソフトウエアの質の向上が、彼のビジネスを発展させていく上で必要だからです。プログラミング言語はJava、ユニット・テスト用のツールとしてJUnitと、DBUnitを使用しています。この仕事を通して、MySQLおよびHibernateを使用する機会に恵まれたことはラッキーでした。両技術ともウエブ・アプリケーションを開発する上で重要なコンポーネントであるからです。報酬をもらいながら新しい事を学ぶ事ができ、美味しい仕事をゲットできたなーと思っています。