2008 年 1 月 のアーカイブ

走りながら考えるということ

2008 年 1 月 31 日 木曜日

単に私の個人的な仕事のやり方的なことなんですが...

何かをやり始める場合に、
思い立ったら出来る限り早く始めるようにしています。
(いや、そうありたいと思っています。)

速く、ではなく、早くです。

そうすると当然、考え落ちが多々あり、
やりながら軌道修正することになるのですが。。。

でも、自分の中に臆病者なところがあるので、

後回しにすると、遅れ遅れになって、
最後は現状維持、

となってしまった経験が多々あるので、

出来る限り早く始めて
走りながら考えるようにしています。

変なもので
立ち止まったり、
振り返ったりすると
よりネガティブな面が心の中にもたげてくるので

実は前を見て
歩いたり、
走ったり、
しているほうが

ポジティプのままで
ずっといられるような気がします。

オシムのサッカーの話
ではありませんが

全速力で走りながら考えられたら
仕事も理想的なのではないでしょうか。

備忘録(コーディングスタイルについて)

2008 年 1 月 25 日 金曜日

よくプログラマ同士の議論の対象になるものにコーディングスタイルがあります。
(私自身も自己のスタイルを確立するために悩んだように、
またその途中で愚かにも他人を論破しようと
どこにも行き着かない無駄な論争をしたように思います。)

コーディングの記載スタイルについては、
二人のプログラマがいれば二つの異なったスタイルが存在し、
百人のプログラマがいれば百の異なったスタイルが存在するはずです。

(もちろんここでは、CPUおよびメモリ上での動作、
可読性などにも考慮されたコーディングスタイルだけを対象とし、
単に長年書きなれただけのスタイルを
コーディングスタイルとは認めません。)

その意見が合致することは稀なことであり、
また議論してもどこにもいきつかずあまりにも不毛なので
ここでは具体例については何も述べないことにします。

但し、記載スタイルの確立が不要だという意味ではありません。

それどころか括弧・カンマ一つ、
空白・インデント一つ
についてまでも記載方法が決まっていることは
優れたプログラマにとっては当たり前のことであり、

理由を求められれば
理路整然と答えられなければならないものだと思います。

記載レベルではなくプログラムの指し示すもの全体でのスタイルを確立しようとすると、
「データの保持方法と扱い方」を交通整理する必要がでてくると思います。

つまり、データをどういうものだと捕らえるか、

また仮にそうだとすればどのように扱うべきなのか?

ちょっと焦点がずれてしまいましたが、
ここで話ておきたいことはたった一つで、
「美意識を満たすように書きましょう」ということだけです。

他人にいちいち喋る必要はありませんが、
自分で納得できるものでなくてはなりません。

「より良いものを」
ここがおざなりで実際に良いものができる訳がありません。

自分を卑下しないためにも
譲れないものの一つのように思います。

またそのことによりプロフェッショナルとしての
「誇り」の一部を得ることが出来るでしょう。
この話には「但し」があって、
仕事の中でプロフェッショナルとしてやる以上
次の三点には気を付けなくてはなりません。

その一つは、
現場で求められるスタイルの制約がある場合は、
(良くあるコーディング規約というめんどうくさいローカルルールです。)
これに従うことです。
同一の言語でもスタイルが異なると、
一見別のプログラミング言語に見えるようなことは、
ままあります。
コードの書き方が統一されていることは、
後日メンテナンスする人にとってどれだけ助けになるか解りません。

もう一つは、
話が少しかぶってしまいますが、他人の目を意識することです。
メンテナンスする人は初心者かもしれません。
特殊な賢いが解りづらい方法でコードを書いてはいけません。
一見陳腐な単純なコードに見えるほうが優れているのです、
というか一人よがりの「おまえらに解ってたまるか」的なコードはアマチュアの仕事です。
難しい問題領域を一見陳腐な単純なコードで書けるとしたら、
それ以上のプロフェッショナルなコードはないでしょう。

最後の一つは、
状況によっては逆にスタイルに縛られないことです。
納期を十分守れるほど短期で出来上がらない場合は、
柔軟にショートカットできることも、
本当にプロフェッショナルなことのように思います。

備忘録のはじめに

2008 年 1 月 22 日 火曜日

私は25才で情報処理業界に入り、
コンピュータによる業務システム開発だけを行い、
今年で18年目となります。

サラリーマンを5年、
フリーとして3年、
その後今の会社を独立起業してまる10年を超えます。

起業すると一人で全てを行わざろう得ないため人事採用も私自身が行います。
(人事採用が社長業として一番大事な仕事のように思います。)

ここで苦労して得たことは、
「本当に大事なのは技術的なスキルではない」ということなのですが、
そのこと自体を書き始めると焦点がずれてしまうので
ここでは、次に大事なロジカルな思考能力、コミュニケーション能力など
システム開発の現場で必要となる能力に絞って話しをさせてもらいます。

面接のなかで
システム開発の基盤として必要とされるプログラミング能力を
見抜くほど難しいことはありません。

一応10数年この業界で働いてきているので
現場で一緒に作業をしながら技術的な質問を2、3交わせば
直ぐに大体の力量は判断できるのですが、
未経験の方だと本当に確信を持って判断できたためしがありません。

数学、物理の成績はもちろんのこと、
IQテスト的な適性テスト、
コンピュータ自体の好き嫌いなどでもさっぱり解りません。
(ちなみに私も仕事自体は好きなのですが、
コンピュータ自体はいまだにそれほど好きではありません。)

面接では無理なのですが、
試しにちょっとプログラミングをやってみて、
当人自身の好き嫌いを教えてもらうほうがよっぽど正確だと思います。

これを読む方は、きっとプログラミングの経験が多少はあることでしょう。

あなたが多少はプログラミングに面白さを感じていることを願っています。

もしそうであれば、あなたはこの仕事に向いていると思って間違いありません。

自信をもって仕事を楽しんで下さい。

起業した後も現場に居座り続け、
つい最近まで現場でシステム開発に携わっていたのですが、
その中で痛切に感じるのは人材の大切さです。

例えば製造業とかであれば優秀な企業経営者は生産ラインの現場視察をする中から
カイゼンなりをできるのでしょうが、

システム開発の業界のなかでは生産ライン自体が人の頭の中にあります。

解らない人にとっては生産ラインの実態をおぼろげながらでも見ることすらできないでしょう。

個人に大きく依存する業界であるにも関わらず、
例えば陶器、刀剣のような職人の世界よりも眼に見えないだけ
たちが悪いと思います。

この業界は、ひどく矛盾をはらんだ解りにくいところがあります。

理不尽なビジネス慣習、現実に即さないルールなど
システム開発の現場に携わったことがあればきっといくつかは挙げられることでしょう。

ほんの少しでも問題解決の糸口になれば、
もしくは一から考えるアイデアのもととなればと思い
(現場の感覚を忘れないうちに、)
この文章を書き溜めてみます。

稚拙な構成、文章についてはどうぞお許し下さい。

紹介

2008 年 1 月 21 日 月曜日

これは WordPress のページ機能の例です。このページを編集してあなた自身やあなたのサイトについての情報を載せれば、読者はあなたがどんな人なのかを知ることができます。このようなページや階層化したページは好きな数だけ作成することができ、すべてのコンテンツを WordPress 内で管理することができます。

今日から

2008 年 1 月 21 日 月曜日

かなり遅れ遅れになってしまいましたが、

今日からブログを定期的に更新していきますので

宜しくお願いします。