Diary-nagataka-シリコンバレーで働きたい!という夢への日々

外資ITで働くエンジニアが趣味や日々の事など書いてます(技術の話は別ブログ http://wanna-be-geek.seesaa.net/ )

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告
  3. このエントリーを含むはてなブックマーク

[97things]トークセッションに行ってきた

どうも、最近はバイト先で自社製品のiPhone対応に関する作業をやっていますながたかです!

この度、我がバイト先の主力製品でもiPhone用のページを作成する事になったようです。
で、そのためにデザイナーさんが作ってくれたテンプレートを従来のモバイル用レイアウトに代わり適用していく作業をしたりしています。

その作業を始めて最初に学んだのですが、クライアント毎にUserAgentというものが決まっていて、それを利用して、サービスの提供者はクライアントが何であるかを判別しているんですね。

iPhoneのユーザエージェントを調べ、それによって表示するページを変えるようにコードを変えたりといった事をやっています。

けれど、その仕事をワタシに頼んだ社員さんとは別の社員さんから仕事をチョイチョイ振られたためiPhone対応は未だあまり進まず(笑)
仕事を振られるのは嬉しいのですが、ちょっと今はiPhone対応に集中したいかも...

ちなみに、ワタシはiPhoneユーザではないのでどうやってテストをしているかというと、IBBDemoというwin用iPhoneブラウザシュミレーター!
http://labs.blackbaud.com/NetCommunity/article?artid=662
これを起動していると、ワタシの後ろを通り過ぎる社員さんから「おぉ~なにこれ」とか反応されたりしてちょっと気分がいいです(笑)なんか自分が凄いモノを扱っているようなねw

あぁ、これいじってたら自分もiPhone欲しくなってきた。。



今日は池袋のジュンク堂書店まで、「ソフトウェアアーキテクトが知るべき97のこと」という本の刊行記念トークセッションを聞きに行ってきました!

いつもチェックしているはてなの伊藤直也さんや、アプレッソの小野和俊さんのブログで知り申し込みました。(このイベントのページで鈴木さんのブログを知ったので、以降チェックさせていただきます!)

この本は購入していないので、特に本に関して何も知らずにいったのですが、全然そんな事は関係無くお三方の経験ベースのとても貴重な話しを楽しめました^^

なおやさんのお話で印象に残ったのは、二つの勉強をバランス良くしましょうという趣旨のお話。

もっとザックリ言うと、サイエンスとエンジニアリングという事ですかね。

エンジニアは、「ココをこうするとちょっとパフォーマンスが良くなる」とか、「こういう使い方をすると便利」とか、そういったより日常の開発に密着したエンジニアリングの部分に関するノウハウや情報を日々膨大な量学んで行くわけですね。
そして、それだけでもなんとなく業務はまわせてしまうし、それなりに自分で色々と開発が出来るようになると。

ただ、それだけだと、どこかでとても難しくてチャレンジングな問題にぶつかったときに、その壁を突破する事が出来ない。
そこでのブレイクスルーを生むのがコンピュータサイエンスの専門書や論文から得られる理論など陳腐化しづらい本質的な知識ベースだというお話。

日々の業務に必要となる技術情報にしか触れずに日々過ごすのではなくて、重厚な理論ともしっかり格闘していかなきゃなと思いました。

自分の現状に当てはめてみると、バイトで必要になった技術の習得に100の時間を使うのではなくて、20くらいはしっかり論文を読んだりしっかりとコンピュータサイエンスと向き合いましょう、というトコロでしょうか。

どうしても、やっぱり論文を読んだり、専門書で理論やアルゴリズムなんかを学のって、バイト先で色々と調べながら手を動かして開発をしているのに比べて、「自分が何かを出来るようになった達成感」みたいなものの即効性が少ないんですよね。

仕事を振られ、それを実現するために必要な技術をネットで調べ実際に自分で手を動かして実装出来た時ってなんだか自分が一歩前進した感覚があるのですが、論文を読んだりしている時って、やはり目の前に成果物が出来るわけではないので前進感が少ないのです。

なので、ともすると前者ばかりやってしまいがちな自分がいます。

直也さんの話しは、こういう自分に対する良い教訓になりそうです。


小野さんの話しで一つ頭から離れなくなった事は
「三つの問題をつぶす事に追われていると、実はそれらの原因が一つの根本的な問題にある事を見落とし、それを解決する事に目が向かなくなる事がある。それを避けるためにも、全体を俯瞰する役目の人が必要」という事。

これってなんだか凄く自分の頭の中に残りました。

「トラブルだ~」→「火消しだ~!」→「収まったぁ、あ~良かった^^」
「またトラブルだ~」→「火消しだ~!もっと火消し要員を!!」→「なんとか収まった、やれやれ^^」
「よし、火消し要員を増員しよう!!」
っていう対処をしてしまうともう思考停止のままガンガン走り続けて、完全に体力勝負みたいになってしまいますよね。

ここで考えるべきは、「トラブルが起きてる原因ってなに?」なわけで、目の前のトラブルはもちろん解決しなきゃなんだけど、その一つ上のレイヤに目を向けてみることがとても大切。

わかっちゃいるけど中々出来ないかなと思います。
目の前の問題を解決してホッとして思考停止してしまいそうな自分です。

これからそういう意識を持ってバイトを、そして来年四月以降はシゴトが出来たらなと思います。
(あと、小野さんがイケメンでビックりしたw)


そして、鈴木さんのお話。
鈴木さんはSIerに勤めているという事で、おそらく四月以降の自分が体験するであろう様々な事を体験されている先輩かな。

その鈴木さんから発せられた言葉は、自分もそういう気持ちでシゴトが出来たらなと思う言葉でした。

「システムではなくコミュニケーションをデザインする」

システムというのは、そのシステムを使うに至った理由があり、それを使ったらユーザがどのように幸せになり、そこにどういうコンテキストが生まれるのか、そこを押さえていないと、システムの意義というのは100%発揮されないんだなと。

システムの「ユーザ」ではなく、コミュニケーターが存在しているのだよ、と。

ここで直也さんが発した言葉もとても印象的でした。
「エンジニア側からすれば3秒で実装出来る事柄でも、そこで発生し得るコミュニティへの影響という事を考えると慎重になります」といった事を言っていたのがとても印象的でした。

自分達が作ったシステムが、どういう影響を及ぼすのか、追加した/削除したたった一つのリンクがそのコミュニティの住民に与える影響って何か?

そう考えると、ITって結局人間だなって思いました。


なんか、トークを聞いていて自分のモチベーションが凄く上がるのを感じました。

三人のように、技術と、一歩引いて全体を俯瞰する目。その両方を持ち合わせたエンジニアになりたいな。


※トーク終了後にサイン会があったのですが、自分はあまりお金が無かったので(笑)そそくさと退場...
本の内容自体はウェブで読めるので(日本人の方々の文は読めませんが...ま、自分は今日資料として配布された三人の分で一先ず十分ですw)
http://97-things.near-time.net/wiki/97-things-every-software-architect-should-know-the-book


著者名明記の上での原稿使用可、という事なので、直也さんの一節を紹介してこのエントリーを終わります。

プログラミング作業の80%、いや90%は経験やノウハウが要求される作業です。ですから、手段的な知識の量が、効率的に開発を進めるための助けになります。この90%をいかに積み重ねるかで、ユーザにとってのソフトウェアの魅力が決まります。しかし、残り10%では本質的な知識が要求されます。そして、その10%で何をしたかで、ソフトウェアの革新性が決まってしまいます。




スポンサーサイト
  1. 2009/10/18(日) 01:46:09|
  2. IT業界話
  3. | トラックバック:0
  4. | コメント:0
  5. このエントリーを含むはてなブックマーク
<<Japan Linux Symposium基調講演を聞いてきた | ホーム | たかがカップ、されどカップ>>

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://nagataka.blog50.fc2.com/tb.php/377-eb61da60
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。