「Webデベロッパの祭典+ちょっとアキバ気分で」に参加した。
聴講させて頂いたのは、2つ。
- 『Webエンジニアの視点〜開発現場からの視点で〜 』株式会社ツインスパークシニアプログラマー 日本Rubyの会会長 高橋征義氏のセッション
- <パネルディスカッション>その仕事楽しんでる?「プログラミングの楽しさと仕事としてのプログラミング」』
それぞれまとめてみる。
『Webエンジニアの視点〜開発現場からの視点で〜 』
日本Rubyの会会長 高橋征義さんによる講演。
スピーディーで話が聞きやすかった。
前置き
デザイナーとプログラマの集まりで、プログラマはHTMLをやるべきか、と言う話題で議論があったが、なかなか話がかみ合わなかった。その原因は、業務システムに関する話と、コミュニティサイトに関する話が混ざっていたからだった。
違うシステムには異なる前提があるため、何のシステムに関して話しているかを統一しなければ残念なすれ違いが起きてしまう。
Webの4つの世界
この前置きを受けてWebにはどういう世界があるのか、という話が続いた。
ここで重要なのは、自分はどの世界にいるのかを自覚して物事を考えること。
本やブログから知見を得るとき、それが何を対象に書かれているものかをはっきりさせないと混乱を招く。
Webの4つの世界の話をする前にまず、Joel on Softwareで提唱されているソフトウェアの5つの世界の話。
5つの世界は、以下。
- パッケージ(オープンソース)
多くの人に、多くの状況に対応できる必要がある。
- インターナル(業務システム)
ユーザビリティは低くてもOK。開発スピードが重要。
一つの会社の一つの状況に対応すればよいので開発は容易。
- 組み込み
基本的にハードウェアとセットになっている。後から書き換えたりできないので、バグは絶対に出してはならない。コードはエレガントであるよりも速い方がよい。
- ゲーム
当たれば大きいがなかなか当たらない。どこで儲けてどこで損をするかというポートフォリオが重要。
- 使い捨て
何か別なものを得るためだけに一時的に作られるコードで、ひとたび目的のものが得られたなら必要なくなるもの。
Webの4つの世界
業務システム | メディア | |
自社 | A | B |
受託 | C | D |
業務システムは、インターナルにあたり、ユーザが限定されている。
メディアは主にコンシューマ向けのサイト。ITというよりメディア産業と言える。例えばコミュニティサイト、ポータルサイト、セールスプロモーションサイトなど。これらは差別化が必要。リリースの早さ、ユーザ体験やコストで差をつける。
このように業務システムとメディアは顧客が異なる点に注意する必要がある。
次に、受託と自社開発。
受託だと要件管理が難しい。Webは情報の更新が重要なので、情報更新がなかなかできない受託は苦労する。
一方、自社開発で難しいのは、人材を常に抱えていなければならないこと。運用時と開発時には必要な人数が変わってくる。コストに見合うようにすることが重要。
最初にも書いたが、4つの世界において自分の位置はどこかを認識すること。
また、何について話をしているかを意識しなければ話が錯綜する原因となる。
Web開発の変遷(3つの時代区分)
〜 2000 (Web黎明期)
2001 〜 2005 (まだ業務開発寄り)
- Webアプリの特性の理解が深まる
- Java(Struts)/PHP の登場。PHPは手軽で便利なメソッドが多く、メディア側で歓迎。
- サーバサイドの特徴を踏まえた開発
- Webアプリの開発パターンが見えてきた
- 作業の省力/効率化が進んだ
2006 〜
- Ruby on Rails の登場。
- 必要最低限のことのみ記述。
- JavaとPHPの融合。
⇒業務システムとメディアの融合。
この2つの中間がDSL(Domain Specific Language:特定のタスク向けに設計されたプログラミング言語。GEMSなど)。Ruby on Railsにはこれが駆使されている。
まとめ
技術が変わるとエンジニアには負担だけど、だからこそネットには先があり、未来がある。
むしろ技術的変化を起こし、よりよくしていこうとすれば、楽しいWeb開発につながる。
感想
最後に時間切れになってすべての話をして頂けなかったのが残念。
でもWebの世界を分類したり、時代を振り返ったりというのはプログラミング初心者の僕には非常に勉強になった。
高橋さん、ありがとうございました。
プログラミングの楽しさと仕事としてのプログラミング
講演者6人によるパネルディスカッション。
小飼弾さん、クックパッドの橋本さん、Addyのhttp://d.hatena.ne.jp/yone098/:title米林さん、電通国際情報の大谷さん、Rubyの会会長の高橋さん、ビートクラフトの小山さん。
進行は、技術評論社の馮さん。
初めてプログラミングしたのは?
子供の頃か大学からと言う人が多かった。
言語のトレンド
- 3年前にRails登場。
- サービスはなるべく早く、サイクルをどれだけ回すか、という流れがある。
- 言語の世界でもこれが起こっている。
- Rubyはエンジニアが楽しく、わかりやすく開発できるかを考えてつくられた。
- Railsの登場により、Apacheじゃ厳しい、となってlighttpdができたり、と技術革新が起きた。
- HDの進化がRailsを可能にした。
- PHPはサーバの環境がたくさんあるので、受託のとき無難に開発できる。
コミュニティ活動について
- 2008年は勉強会がブレイクした。
- 手順を踏めば簡単に勉強会ができる。
- 不景気の時は、プライマリーの会社だけに依存せず、それ以外の所にも顔をだすようにする。
- U streamで実況できるようになったのもブレイクの要因。
コミュニティに入るメリット
- 刺激や知見が得られる。
- 自分も発表することで、その発表のために勉強をする。
- 時間があれば行ってみるとよい。
- 行ったらその勉強会の分野の初心者でも優しくしてもらえるので気軽に。
- 会話が重要。会話から何かアイデアなどが生まれることもあるし、つながりも出来る。
- 技術について話す場が会社にない場合も多いので、コミュニティを利用する。
- 考えを一つ聞いただけで自分のプログラムが見違えるようによくなることがある。
コミュニティの種類
- 実際に会うコミュニティの他に、ネット上でのコミュニティもある。
- ネットで有名になれば、リアルでも有名になる。
- ただ、ネットでのやり取りの方が難しい。
- リアルだと視覚、聴覚、触覚などいろんな感覚を使ってコミュニケーションできる。
- 初心者はネットよりもリアルのコミュニティの方が入りやすい。
プログラマーという仕事
橋本さん
- 得な仕事。
- 作りたいものが自分で作れる
- 人を幸せにするモノづくり
高橋さん
- プログラムを作るプログラムを作れる(メタプログラマー)
小飼さん
- 何をするかを指示する仕事
- 人が直接手を下していた仕事を、機械がやるようになる。よって将来、職種はすべてプログラマになる。
プログラマーとしてどうやって勉強、仕事していくか?目的やモチベーションの上げ方
- やってみるということをやる。
- 仕事を抱え過ぎないようにする(プライベートとの調和)。
- プログラマは職に困らない
- 他の人のコードをたくさん読む。自分のコードの良し悪しを判断する。
- これさえ押さえればやっていけるという知識があるので、そういう基礎を学んでおく。そうすれば食べていける。
- 自分の価値とは人にどれだけの価値を与えられるか。人に価値を与えられるモノづくりをしていく。
Webデベロッパとして知っておきたいこと
変更があればそれを吸収できるところがいい。
クラウドが、どこまで機能を担保してくれるかがわからないのが不安。
クラウドは電気代が今の3倍もかかる。省電力プログラムの進化が望まれる。
- HDの進化
マルチスレッドプログラミング
2009年どうする?
感想
6人ともすごい人たちばかりで、すごく刺激的で楽しかった。
勉強する意欲がわいた。知らない技術をたくさん知れてよかった。
楽しいディスカッションありがとうございました。
Webデベロッパの祭典に関する他のブロガーの記事
- 小飼弾さんの講演について
パソナテック Webデベロッパの祭典 - プログラミングノート
- プログラミングの楽しさと仕事としてのプログラミングについて
Webデベロッパの祭典+ちょっとアキバ気分で。@東京 | openSUSEでHomeServer – Weblog
- 全般
http://www.recursive.jp/?p=587
Webデベロッパの祭典+ちょっとアキバ気分で。@秋葉原UDXに行ってきました。 - 遥かへのスピードランナー
- 講演者の方の記事
Webデベロッパの祭典@東京 登壇してきました - よねのはてな
お読み頂きありがとうございます。
少しでもお役に立てたらクリックお願いします↓。