読者です 読者をやめる 読者になる 読者になる

外資系戦略コンサルタントの思考と興味

デジタルとビジネスと人の関わりについて、考えごとをしています

千葉先生、ひがやすおさん交えたイベントへ参加

先週末5月29日(土)に、IBM社内主体のコミュニティセミナーへ参加してきました。

イベントの目玉は、東京工業大学 千葉先生による講演と、OSSの世界で日本の第一人者であるひがやすおさんによる講演。
お恥ずかしながら、ひがさんについては当日初めて知りました……。
ああ、ほんと、すいませんっ!
twitterもフォローさせていただきました!!


イベント自体は、IBMには珍しい技術者のためのイベント、という位置づけで、非常に内容の濃いもの。いやはや、珍しいじゃないですか。
自分自身は、現場でプログラムとはほとんど無縁の生活をしていますが、GOTO文の是非についてのディスカッションであるとか、フレームワークプログラミング言語はどちらが偉い? とか、ついつい盛り上がってしまうような話題が満載でした!


簡単に一部の内容について、振り返りたいと思います。

1. ハイレベルエンジニアとコミュニティ活動について

経済産業省事業であるIT 人材職種別モデルキャリア開発へ参加した弊社の先輩から、ハイレベルなエンジニアとしての他の専門家とのつながりの重要さについての講演でした。偶然ではありますが、先日のブログで紹介していますので、ご興味のある方はそちらもご覧ください。

「IT 人材職種別モデルキャリア開発」
http://d.hatena.ne.jp/mamoruTIT/20100525/1274714333


現在、広範囲にわたるITの分野において、1人でできることは限られてくるし、高度なシステムを構築しようとすれば、当然ながら自分ではできない領域の課題も解決しなければならないわけです。

そのため、課題解決力を持つハイレベルエンジニアとしては、異なるプロフェッショナルの知見であるとか、積極的なコラボレーションが、自身のスキルとしても重要な要素になっていることが伺えますね。
では、コラボレーションを獲得していくためには、普段どのように活動していけば良いのでしょうか? 今回の講演では、コミュニティ活動がその実現に大きく貢献するという話でした。コミュニティ活動というのは、組織や会社を越えて、技術者同士がつながる有益な機会になります。普段はプロジェクトに分断されている私たちとしては、隣のエンジニアの様子が分からないということが不安の一つにもなっています。

昨今は社外の勉強会も盛んに行われていますし、IBM社内でもいくつもコミュニティ活動がありますので、このような場をうまく利用するのが、キャリアアップにも大きく効果がありそうですね。

個人的にもまったく同感でした。実践していくのが大事ですね。

2. 「プログラミング言語の歴史と未来の言語」について、千葉先生が語る!

みなさんはフレームワークプログラミング言語のどちらを勉強すべきか、まざまざと考えたことはあるだろうか?
自分の場合、実はまともに開発したことがないので、フレームワークって勉強したことなかったりする。COBOLとかAssemblerでちょっとした開発はしたことあるものの、フレームワークは皆無だったので。

フレームワークってどんなものか、けっこう悩む人も多いんじゃないでしょうか。特に、開発に従事しているわけではないお客様には、なかなかイメージしていただけないものです。
フレームワークってそもそも何? 何がおいしいの?」みたいな質問を受けて、ご説明に出かけることもあったりします。

これがフレームワークです、と言われれば、なるほどと思うけど、本質的にフレームワークが重要な理由とはなんでしょうか?

セッションの中での参加者のコメントは、予想外?に共通の部分が多かったです。

−仕事においてはフレームワークが重要。学習の費用対効果が高い
−開発者としては言語を勉強したい

システム開発の現場では、多数のエンジニアがプログラミングをしていく中で、標準を設定して、それを強制することが必要になります。スキルレベルは人それぞれですし、フレームワークという枠組みを踏襲することで、優れたプログラマの知見や習慣を実現することもできます。

それじゃ、言語はおまけなのか?というと、そんなわけはありません。フレームワークとはいえ、言語から完全に自由な存在ではないからです。オブジェクト指向しかり、Ruby on Railsもしかり、実現できる言語があってのフレームワークであり、それゆえに言語に依存した制約を持つことになります。

言語も開発スタイルを強制するという一面を持っています。ここで、千葉先生が例に挙げたのがGoto文だったのですが、これが会場で大盛り上がり(笑)

参加していた新人エンジニアからは、「Goto文というものがあることは聞いたことがあります」という衝撃のコメントも飛び出しました。

かく言う自分は、FortranやCも触ってますし、AssemblerはGoto(Branch)だらけなものを未だに触ってたりするし。しかし、確かにC#Javaには、もはやGoto文なんてないですよね。
プログラムの本読んでも、昔みたいにGoto文最強!とか書いてある本はありません。

なにはともあれ、こんな話で盛り上がれるのもエンジニアならでは、面白いですよね♪


閑話休題

プログラム言語の進化

最近は、構文も自分でカスタマイズして使えるものも出てきているそうですね。昨今のプログラム言語情報には疎いので初めて知りました。かつ、あまりついて行けませんでした^^;

Scalaであるとか、あたらしいキーワードを仕入れただけでも良しとしますか。

最後に、千葉先生のまとめを自分なりに解釈してみました。。

次世代のプログラミングは目的にあったライブラリ、フレームワーク、そして構文を選んで使うようになる。もっと言えば、構文レベルでライブラリを差し替えて使うようになるかもしれない。そうなってしまったら、そうなると新しい言語を覚えるようなもの。自由度が広がるなかで、開発スタイルというものが引き続き追求されていくのではないか。

コンピューティング環境の複雑化は、開発の面でも留まるところがないですね。

3. イノベーションをどのように起こしていくか? ひがさんとの熱い掛け合い

ここは、もう熱すぎて書けません!
心の中で燃やしながら、自分で咀嚼していかないといかんと感じました。

一言いえるのは、文句をたれたり、限界を勝手に決めてないで、実現したい理想や夢を、もっときちんと描くのがエンジニアとしてもIBMerとしても大事になってくるんじゃないか、ということです。

勝手に限界を決めた人には、イノベーションは起こせないよ。

おわりに

最後になりますが、弊社のエンジニアには、ぜひこういう濃い場面に参加してもらいたいですね。濃い人達に簡単に出会えますし(笑)、ものすごく視野が広がると思います。