2007年07月26日

Work-Life-Balance

会社の社内Surveyでは、いつもWork-Life-Balanceが最悪だという結果が出る。うちは超激務なのはすでに世の中で知られている。まぁ、入社前に、ある程度の覚悟はしてある。
そういうサーベイ結果なので、最近、どうやってWork-life-balanceを改善するかという提案応募活動が社内で始まった。なんと賞品はF1日本グランプリ富士スピードウェーのペア観戦チケットだ!しかも、メインスタントの2階席!!俺に、相当魅力的だ。そのため、結構考えている。
Work-Life-Balance悪いのは、プロジェクト・マネジメントが悪いか、自己管理が悪いかの2つによるもんだと思う。
うちの会社は、技術がすごい人が結構多くて、ロジカルシンキングやシステムのことで相当勉強となった。ただし、マネジメントが確かにイマイチだなぁ。。。
下は自分のタスク管理がスケジュール通りになかなか行けなくて、上司にもタスクについて、正直に伝えない。一方、上のプロジェクト・マネジメント側は、作業するメンバーの状況を考慮不足で、無理なスケジュールを受け入れる。一番ダメなのはプロジェクトのリスク管理とスケジュール管理である。プロジェクトは「山」(ピーク時)と「谷」(暇のとき)があるのが否定できない。「山」を低くして、「谷」を埋めて、プロジェクトをスムーズにするのが、プロジェクト・マネジメントの意義だと思う。山場は山場で、暇のときは休んでっていうのが、プロジェクト・マネジメント、スケジューリングしていないことです。
トップのマネジメントがいけていると思います、会社の業績が相当伸びているみたい。が、中間層のマネジメント・レベルは向上しないといけない。
そんなことに至る原因としては、会社は自力で社員、人を育てる意識が不足だと思う。
トップマネジメントは、外部でマネジメントに有能な人を引っ張ってくる。下に対しては、ひたすら、働け。多く働けば、技術的に進歩が速いだろう。でも、マネジメント・スキルの向上が軽視されることとなった。そもそも、こんな時間がないだろう。
マネジメント・スキルは、センスもあるが、経験もあるけど、一番のはやはりテクニカルだと僕が思う。学んで、そのまま実践すれば、結構上達できると感じる。
なので、もっと人を育てる意識で、マネジメント・スキルを教えて、会社全体のマネジメント・レベルを向上すれば、Work-Life-Balanceがよくなると思う。

2007年07月18日

私が見たIT業界No.3

だいぶ時間が経ったが、いよいよNo.3でITコンサルタントについて、語ってみよう。
ITコンサルタントは、最近IT業界で一番流行っている職種となっているようです。ITコンサルティング会社も業界の中で、すごいいきよいで増えてきた。

ITコンサルは何をするのでしょうか。
私の中では、ITコンサルは名前の通り、コンサルティング、つまり、分析・提案のことをしなければならない。ITコンサルタントは、クライアントの業務とITシステムのことを両方分かる上で、クライアントのビジネス上の要望を聞いて、それを分析し、システム化するかどうか、どのようにシステム化するか、どんなITソリューションを導入すべきか、ITソリューションを導入することでクライアントにどんな効果が得られるかをクライアントに提案する。オーダーメイドな営業っぽい仕事でもあり、ロジカルな考え方で、ITソリューションをセールスしていく。
そして、クライアントと握って、クライアントの業務要件をシステム要件へ落とし込んで、システム要件定義を作成する。それをシステム設計のINPUTとして、システム・エンジニアに渡す。

ITコンサルにとって、業務・ビジネスのこととIT・システムのことを両方知るのがポイントである。
それで、クライアントに本当に最善なITソリューションを提供し、クライアントにバリューを創造してあげる。
なかなか面白いだが、決して簡単ではない仕事だと思う、そこで、ITコンサルタントの真価を問われている。

2007年07月13日

ソリューションとシステムが違います

「うちの会社は世界初のプロジェクトをやるのが好きだ」と良く聞きます。
今回、自分も「世界初」の経営戦略システムの開発に参加することになった。
確かに、今回は、Strategyチーム、コンサルチーム、ソリューションチームを一体となる理想的なチーム体制で進行した素晴らしいシステムだと思います。
その素晴らしいシステム開発の中にいるお陰で、いろいろかなり勉強となりました。
特に、最近、ソリューションとシステムが違うと何となく考えはじめた。
システム屋さん、特に独立系SIは、システムをよりよくするために、一生懸命最強の技術を投入して、作りをどんどん改善して、素晴らしいシステムを開発しています。これはシステムである。
一方、ソリューションは、システムよりもっと幅広くて、バリューの高いものと考える。
普段、良く言うシステムはソフト・アプリのことです。それに対して、ソリューションはハード(ハードウェア、マシンなど、物理的なモノ)も含むと考える。
それ以外に、ソリューションにはシステムの運用も含むと思う。「運用でカバーする」という考え方はシステム屋で恥ずかしいという偏見を持つケースがしばしばあるが、私はそうではないと考える。運用もソリューションの一部である。運用でカバーすることで、システムのパフォーマンスが向上できる場合が結構あると思う。ちょっとした運用の注意で、もしくは運用上でありえないケースは、システムにわざわざ判断させる処理を入れなくても良いと考える。無駄なし、ハイパフォーマンスなシステムは良いシステムだと思う。また、費用対効果の考え方で、アプリか、ハードか、運用かで対応することを考えるのもソリューションの範囲だと思う。
さらに、もっと広い範囲で言うと、システムの発想、そして、システム開発のプロジェクトマネジメントのノウハウもソリューションの提供の一部と考えられる。
なので、われわれはシステムを提供しているのだけではなく、ソリューションを提供していることを常に意識しなければならないと感じてきた。
それは、いわゆるHigh Valueの意味ではないでしょうかなあ。

2007年06月13日

私が見たIT業界No.2

引き続き、SE、システム・エンジニアという職種について話します。

SEに対して、世間の評価はまちまち。
一時期、かっこいい職種と思われていた。最近、むしろ、激務で大変なあというイメージが多いらしいです。

SEは、どんな仕事をしているのでしょうか。
SEは、システム要件(つもり、このシステムはどんなことを実現しようとするのか)に基いて、システムの基本設計を行います。システムをいろいろな部分・モジュールに分割して、設計図を作って、プログラマーに実際の構築を依頼します。
建築業とすれば、建物の様々な図面を描く設計士のような仕事だと考えます。
図面が間違ったら、設計に問題があると、どんなに素晴らしいモジュールを揃っても、良い建物には、なれないです。

そのため、SEのバリューはシステム設計にあります。
すべての要件を満たす設計、
開発しやすい設計、
そして、柔軟性を持つ、追加要件に対応しやすい設計、
プラス、分かりやすい設計図、
っのできるSEは、ハイバリューなSEだと私は思っています。

なかなか面白そうだと思いますが、やはり、ここで自分のバリューを実現としません。
なぜならば、自分はそれ以外のアセットを持っています。
それ以外のところでもバリューを実現できると考えます。
且つ、ここで、自分よりだいぶアセットを持つ人々がいるので、彼らの力を借りるほうが効率的ではないかと考えているからです。

じゃ、次のNo.3は、最近わりと流行っているITコンサルタントについて、言おうかな。

2007年06月11日

私が見たIT業界No.1

IT業界にフルタイムで仕事して、速くも1年を経ちました。
実際IT業界には、様々な仕事をしている人間がいます。

まずは、恐らく一番古くて、昔からあった職種であるプログラマーから話します。
プログラマーとは、コンピュータプログラムを書く人です。
コンピュータと直接コンミュニケーションができるすごい技術者です。
個人的に、すごい技術者と尊敬しています。

が、なぜか最近の世の中にはプログラマーはIT業界の中で地位の低いポジションとなっています。
給料の水準でこの実態は明らかになります。
その原因として、恐らく、最近ITを建築業とする考え方が流行っているからだと考えます。
確かに、私もITを建築業と考えることを賛成します。
ただし、そのため、プログラマーを大工、もしくは力作業のワーカーとして、軽視するのが無知だと考えます。

プログラマーがいないと、プログラマーの仕事をしないと、コンピュータは何もしてくれません。
ITソリューションは実現に至りません。
しかし、言われた通りに、コーディングして、ITソリューションを構築していくプログラマーは価値が高くないです。単なるワーカーとなります。

では、ハイバリューのプログラマーはどんな姿になるのでしょうか。
私は思っているプログラマーのバリューは以下のようないくつかの側面があります。

1.広い
様々な多くのプログラム言語を知り、必要に応じて、適切な言語でITソリューションを構築します。

2.速い
熟練な腕を持ち、ITソリューションを短時間で構築します。

3.効率的?合理的?(まだ適切な言葉を思いつきませんが、とりあえず、素晴らしい)
設計を実現するには、色々な方法でコーディングすることができます。
どんなアルゴリズムにするのが計算量が一番少なく、計算スピードが一番速いのか。
どんなデザインパターンにすると、書いたコードが一番分かりやすく、メンテナンスしやすいのか。
どのようにコメントを記載するか、インデントするか、などなどにして、コードを綺麗にするのか。
これらができて、ITソリューションを構築します。

その中、3番は一番ハイバリューだと考えます。

ただし、FinanceとFinancial Engineeringを勉強して、大学院まで行った私にとっては、上記の3点とも一番の興味ではありません。(ITに関心があるのは否定していませんが。)
なので、プログラマーとして、私のハイバリューを実現することを目指していません。
ただ、コンピュータと直接コミュニケーションをするのが良い経験であるのが間違いないと考えます。

では、次のNo.2でSEについて、書こうかなあ。