技術者のあり方を常に追求し続けています。技術者としての理想的なあり方に関しても常に追求しています。技術者はどうあるべきでしょうか?技術者であれば何度か真剣に考えた事はある事でしょう。優秀な技術者の要素として、プログラミングが得意であったり、様々なプログラミング言語や製品の知識があったり、仕事のスピードが速い事などは、直接的で非常に重要な要素ではありますが、多くの場合、災いになる要素でもあります。技術力を過信していると、たとえ本当に技術力があったとしても、誇らしさのあまりに態度が横柄になり、お客様が求めている事とは違って、つい自分が作りたい類のものを作ってしまい、技術を生かせていない人も多く、高度な技術は諸刃の刃とも思えてきます。「広く深く」では、同じような事ばかりやっていると記憶が形成されにくくなる事を書きましたが、あまりに特定の分野に専門化し過ぎてしまう事は、業務上の弊害を生む事にもつながります。特定の技術に限定してスキルを磨き、それに習熟してくると、自分が扱っている技術を基盤に物事を考えるようになり、どのような問題に対しても自分が習得している技術で解決しようとしてしまい、客観的に物事を判断できなくなってしまう傾向があります。残念ながら、プログラミング言語、プラットフォームやアプリケーション製品などを限定して役割の分担を行う組織が多いため、多くの技術者はある程度専門的な知識は習得しますが、自分が記憶している限られた環境の知識で、お客様が求めている成果を得ようとしてしまいます。優れた言語だ」とか言っちゃってる技術者は周りにいませんか?言語や環境の個別の話は置いといて、今一度、技術は手段に過ぎない事を悟り、お客様が求めている成果を得るためにはどうすればいいのかという事を、より普遍的に考えていくのが真の技術者のあり方ではないでしょうか?お客様の満足を考えた場合の自然な発想を考えてみましょう。お客様が実現したい事や、抱えている問題をお聞きする事に始まります。この時点ではまだどんな技術を使用するかなんて事は全く出てきません。話をお聞きする過程でまず重要な事としては、現在どのようなシステムが存在しているかという事と、それを作った技術者がどのようなスキルの人材であるかという事です。今後使っていける予算がどのぐらいあるのかという事と、どのようなスキルの人材が組織に存在して、新たに作ったシステムを運用していくかという事などです。知識がなければ運用をしていくことはできないので、運用に人件費がかからない方法があるかどうかを確認する必要があります。環境の中でより予算がかからない提案をした方がいいかも知れません。有償のプロダクトでないと上司の決裁を得る事ができないお客様もいる事でしょう。知識や経験が豊富な技術者であればあるほど、仕事を請ける前の見積もり段階や、コンサルティングの段階で多彩な提案ができるはずです。私はこの見積段階に多彩で的確な提案ができる技術者は特に優秀であると考えており、自分もそうあろうと心がけています。