ある一定以上のレベルでコードを書いたりデバッグしたりする技術があるのならば、そのスキルを生かすのは絶対に上記のような環境の中でなければならないと思いこんできました。
したがって、ここで登場する「サポートサービスのPM」という類の仕事は、あまり技術力を必要としない、むしろプロジェクトマネージメント能力やビジネス上のコミュニケーション能力などが重要な、技術者とは対極の職業だと思っていました。
ところが、先日そんな「サポートサービスのPM」を長きにわたってしている人の仕事のスタイルを間近で見る機会があり、彼があるサポートへの問い合わせ案件に関してその状況を調べるために行ったPC上でのオペレーションを見て、大変衝撃を受けました。
通常、サポートへの問い合わせ案件を見る場合には、そういう案件を見るための専用ツールを通してデータベースにアクセスして内容を見たり、既にExcelシートにエクスポートされているデータを使って調べたりと、いわゆる通常のオフィスワークと同様のオペレーションのみですべて行っていきます。
そこに、技術的なスキルが発揮される余地はほとんどないのが普通です。
ところが彼の場合、そういう用意された専用ツールや、誰かがエクスポートしたExcelのシートなどはほとんど使わないのです。
どうするかと言うと、ほぼSQL言語のスクリプトとコマンドラインツールだけで、直接そのサポートへの問い合わせ案件の入っているデータベースにアクセスし、あらゆる情報を効率よく抽出してくるのです。
うちの会社のサポート案件のデータベースは、一般に想像されるような形式とはまず比較にならない複雑な構造になっており、そのプロセスも信じられないほど複雑です。
したがって、通常そういった複雑なデータベースの構造を意識しなくてもデータ閲覧・編集ができるように、専用ツールを介するものですが、用意されていないような特別なクエリーをかけたり、複雑な条件を指定したりすることができないため、人間の手作業で探しているデータを探し出したりするような効率の悪いことをすることもあったりします。
そこで彼の場合はその場でちょっとしたSQLスクリプトを作り、コマンドラインでそれを実行してデータを取ったりすることで、そういう無駄を省いているのです。
彼のデスクトップは、こんな感じです。(※もちろん本人の画面そのままではありません)

特徴は、
1. コマンドプロンプトを中心としている。したがってショートカットのWin + 1 キーにはコマンドプロンプト起動が割り当てられている。
2. テキストエディタは秀丸を使っている。バックグラウンドカラーはブラックで、ここで主にSQLスクリプトを書くときに必要な自作サンプルコードを参照する
3. SQL Management studioを使ってSQLコマンドを書いて実行する
4. マウスをあまり使わない
5. それでもWindowsは Windows 8.1 (プレビュー版)を使用
6. ノートPC一台で基本すべての仕事をこなし、外部ディスプレイさえも使用しない
なんだか、ソフトウェア開発チームの開発者のデスクトップのようです。
彼の仕事スタイルを見る限り、彼は間違いなく「技術者の魂」を持つ者(笑)だと思います。おそらく自分などよりも数段上のレベルの開発スキルを持っていると思います。
しかしながら、自分のように「今の仕事は技術者としてのスキルを完全に生かすことができる職種ではない」といったような中途半端な気持ちで完全に打ち込みきれずにいる怠け者とは違って、どんな仕事であっても自分にできること・自分の強みを生かす方法をフレキシブルに考えて、そして自分のやっていることにおそらく誇りと責任を持ちながら、あの激務を落ち着いてこなしているのです。
彼を見習って、自分の中にある「技術者の魂」を生かしつつ、今の仕事を最大限に高いパフォーマンスでこなせるように、仕事スタイルをまた見直して、再出発をしたいところです。