カルチャーショック
金曜日に某社の若手開発者の発表会を見学する機会がありました。
発表そのものの内容とは別のレベルでカルチャーショックを受けました。
ぼくはソフトウェアを作る時にレイヤを強く意識します。トイプログラムなら別ですが、ある程度の規模になれば、例えひとりでコードを書く場合でも意識します。レイヤと言っても、必ず下から書き始めるという意味ではありません。書いていくうちに汎用的な部分や共通部分が分かり、まとめることもあります。最初から汎用的な部分が分かっていても、そこを先に実装するとは限りません。あると仮定して別の場所を書くこともあります。重要なのは、コードが既にあるにせよ無いにせよ、自分が今書いているコードの位置を意識して書くことです。なぜ意識的にするかと言うと、少し誤解を招くかもしれませんが、慎重に書くべき場所と手を抜いても良い場所を選別するためです。
手を抜くとはなんだと思うかもしれませんが、よほどの天才でも無い限り、最初から完璧なコードは書けません。コードはどうせ変わります。疎結合が理想的であれば、コードの変更の波及が僅かかもしれませんが、それも最初から完璧にはできません。後で書き直しそうなコードを、最初にあまり頑張り過ぎるのはムダです。かと言って、どこもかしこも手を抜いていると、いつまでもふにゃふにゃしたコードのままになります。そんなわけで、力を込める部分と力を抜く部分を意識します。
「レイヤ間」は常に重要で、目を光らせておく部分です。低位レイヤが重要で高位レイヤがそうでも無い、と言うほど単純な区分けでは無いですが、相対的には低い方に目を光らせて慎重になります。目を光らせて慎重になる部分は、保守的なコードでもあります。コードの中に硬い部分と軟らかい部分があり、硬い部分の位置取りをしながら書き進めるイメージです。軟らかい部分の位置は、周りとの関係性の中で徐々に形が見えてきます。そもそもいらないコードだと分かったり、実は重要だと分かったりします。
外部インターフェースも目を光らせる部分です。ファイルシステムやデータベース、ネットワークプロトコルは、他に比べて慎重です。こういう部分に、言葉は悪いですが、良く分かっていない人間が安易に手をいれてしまうことに敏感です。
金曜の発表会の話に戻ります。発表を聞いていると、(頭は悪いわけでは無いですが。と言うか頭はたぶん良い)技術的にそれほど製品を熟知していると思えない若手技術者が、RDBのテーブルを(他の人に相談しないまま)作成しているようでした。後で話を聞いてみると、その製品が他にどんなテーブルを持っているか特に把握もしていませんでした。テーブルを作る時、その製品のDB周りを把握している誰かに相談したわけでも無さそうでした。
ぼくはここで「困ったものだ」という結論を出そうとはしていません。実は、「これもありなのか」と思っています。アリエルであれば、若手がこんな機能を作りました、と発表すれば、みんなの関心は「それはどんなコードなのか。どう書いたのか」に移ります。金曜日の発表会にそんな気配は微塵もありません。企業プログラマとしてどっちが正しい文化かと問われると答えに窮します。
若手技術者が、次々と自分テーブル、自分UIのコードを書き足している雰囲気の発表が続きました。人がたくさんいるので、ある意味では、チームの生産性が高いのです。顧客の求める機能に対して、テーブル作って、データを入れて、データを引っ張って計算して表示、終わり、次。こんな感じで顧客要望の機能表に次々と丸をいれます。現場の実際はこう単純では無いと思いますが、発表会から受けた熱には、こういうバイタリティがありました。素晴らしく感じた点は、同世代の若手が競いあっていたところです。これは侮れない、と感じました。
土曜日にESPerの会(IPA未踏の集まり)に行きました(http://mitou.mysite.ddo.jp/modules/eguide/event.php?eid=26 )。こちらはハッカー予備軍の集まりです。金曜日のカルチャーショックと違い、自分にとっては馴染みのカルチャーです。
技術的スキルはこちらの方がずっと高いです。自分がいかにクールであるかをみんなが競っていました。熱意と能力は凄いですが、やっていることには微妙に閉塞感があります。IPA未踏の人たちが悪いのではなく、世の中に新しいことがそうそう転がっているわけでは無いからです。
金曜日の熱気はいわばテスト用紙を配られて同世代の若手が猛烈な勢いでペンを動かす様子でした。土曜日は、テストの問題そのものをうんうんうなって考え込む場であり、裏には悩みと苦しみがありました。どちらが幸せかはよく分かりません。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/culture-shock/tbping
Re:カルチャーショック
某社の開発要員です。
>顧客の求める機能に対して、テーブル作って、
>データを入れて、データを引っ張って計算して表示、終わり、次。
>こんな感じで顧客要望の機能表に次々と丸をいれます。
>現場の実際はこう単純では無いと思いますが、
実際にそのような感じです。
「とにかく顧客要望に応えられればよい」という雰囲気の中,
各自が自己流のコーディングで邁進するスタイルです。
技術軽視,とは簡単に決め付けられませんが,
ハッカー的意味合いでの「クールさ」,コードの汎用度,洗練度に関して,
極端に関心が低いのは事実です。
もともと,経営陣は技術を明快に問題解決の手段と割り切っている人たちで,
コンピュータ・カルチャーへの憧憬がありません。
それが社内文化に反映しています。
シリコンバレー・スタイルを謳っていますが,
いわゆるnerdにとって居心地のいい環境ではないと思います。
実際に,そのようなタイプの人が
早々に失望して退散するのを何度も目の当たりにしました。
しかし,贔屓目ではなく,経営陣の無理解や偏見といった要素で
そうなっている,という印象は受けません。
明快な戦略のもとにそのような文化が築かれ,
実際にそれなりのパフォーマンスが上がっているのですから,
「それもあり」なのだ,と私も思っています。
Re:カルチャーショック
土曜日はさらに別の意味でカルチャーショックがあったかと思います。驚かしてごめんなさい。
>熱意と能力は凄いですが、やっていることには微妙に閉塞感があります。
>裏には悩みと苦しみがありました。どちらが幸せかはよく分かりません。
悩みと苦しみの先には千載一偶のチャンスが待っているかも知れないという期待感もあります。
微妙な閉塞感を感じながらも熱意を持って邁進しているのはやはり期待も大きいからだと思います。
もちろん、邁進している今こそが楽しいというのが一番の原動力だとは思いますが。
ちなみに私のしていること(しようとしていること)は閉塞感の塊みたいなもので、千載一偶のチャンスすらなく、ただただ辿りつけない理想に向かって突き進むだけです。
それに比べたら、あの会場でみた開発者の姿は光り輝く未来に向かっているような印象を受けます。
私自身も開発の仕事をしているときのほうがなんとなく未来というものが考えられて楽しいですよ♪
Re:カルチャーショック
他人の名前を忘れることはしばしばありますが、顔を見て、会ったことがある人かどうか認識できなかったのは、初めての経験でした。