1年前に自分が作ったプログラムを見返した時に、どうしても手直ししたくなってしまう、ユゲタです。
人は、放っておいても成長する生き物なので、過去に自分が行った事を、今の自分よりもレベルが下に見てしまうんですね。
自分の事を自分で見下して、誰にも迷惑はかけないので、何にも問題がないのですが、実はコレ、仕事の現場であったとしたら、自分事では済みません。
そんなビジネスの場で必要なエンジニアスキルって、プログラミングよりも、コミュニケーション能力だったり、安定したシステム構築(設計)だったりしますが、
意外とこの点に気がついていないエンジニアもいて、ずっと前に自分で書いたコードについて、別のエンジニアから質問された時に、「わかりません」と平気な顔して答えたりもします。
コミュニケーション能力の高いエンジニアであれば、「調べます」的な言葉を付け加えますが、コミュ力が低いエンジニアは、笑いながら「だって、1年以上前に書いたプログラムだから、分かるはずないじゃん!」とか言い出します。
エンジニア同士の飲み会などの場であれば、笑って過ごせますが、仕事の現場でのこうしたセリフと自分のマイナスと思わないエンジニアには、なりたくないですよね。
では、こうした事を無くすためにはどうすればいいかを考えて、ブログに書き残してみたいと思います。
コミュニケーション能力と比例するドキュメント能力
ドキュメントの整っていない社内開発をおこなっている会社は、初めてその会社に入ってきたエンジニアに対して次のようなセリフを言います。
「わからない事があったら、何でも聞いて」
ドキュメントが無いから、不明な点があれば、聞いてくれれば何でも答えますよ。というありがたい聞こえ方がしますが、
実際に質問をしてみると、「それ、めっちゃ前に書いたコードだから、忘れちゃった」という返事が返ってきて、初めてその会社がポンコツであることを認識できます。
自分で調べてくれる姿勢があれば、まだいいんですが、「コードを見て調べて、いい感じに追加処理しておいてよ」なんて言われた日には、その会社のプログラミングをまるっと書き換えてあげたい気持ちになってしまいます。
これは、「手離れのいいシステム設計思想」というのが足りておらず、
「今の時点で最良のシステムを組む」というエンジニア特有の偏った思想のために、「ドキュメントは、後で作業が落ち着いたら書く」という、永遠に来ないであろう未来の約束をしてしまうんですね。
実はここで紹介した事例は、よくあるとともに、重要なエンジニアのスキルポイントが潜んでいるんですが、ITが苦手という経営者などはなかなか気がつかないポイントなので、毒舌ユゲタが、ビシっと指摘して差し上げましょう。
システムの話をする時に、どうしても意味のわからない話し方をするエンジニアは、頭の中で専門用語と、それがわからない人に対しての言語変換ができないため、
国語能力は長けていません。(ここでいう国語能力は第三者視点の言語理解度の標準ラインの事です)
ドキュメントを書くのが苦手、書いてもわかりずらいというのと、非常に似ているというか、話の整理ができない人は、ドキュメントの構築も上手く無いというのは、少し考えればよくわかりますよね。
こうしたエンジニアの特徴として、話をする時に、非エンジニアがわからない単語を羅列して、変わるかどうか確認せずに、自分用語をどんどん話を進めていく人で、相手を置いてけぼりにするタイプのエンジニアです。
セミナー登壇者に結構多いパターンですが、「スキルの低い人は話す価値無し」というセリフを、とあるセミナー後の飲み会で聞いた事があります。
笑えませんでしたね。
手離れのいいシステムってどうすればいいの?
話を本筋にもどしますが、
手離れのいいシステムっていうのは、構築した人以外が問題なく読めて、書き直せて、運用できて、メンテナンスできるというシステムです。
メンテナンスをしなくていいというのが手離れのいいシステムと思われがちですが、そんなシステムは世の中にはそうそう存在しません。
衛生システムも、必ず人の手で衛星まで行って、機械メンテナンスをしていますからね。
ようするに、自分がいついなくなっても大丈夫なシステムを作るって、エンジニアにとって重要なポイントなんですよね。
これを、自分しかできないプログラミングみたいな、優越感に浸りたい為に、コメントすら書かずにわかりにくいプログラミングをするエンジニアは、ちょっとチームプレイはやめてもらったほうが賢明かと思います。
結果的に、きちんとしたドキュメントを書いておけば、手離れのいいシステム構築に成り得るんですが、自分で1年後に見直した時でも、その時の思考が蘇ってくる感覚が、
自分の脳みその分身のような感覚にも似ています。
転職天国の世の中
この間、作業をお手伝いしていた会社の中にいるエンジニアが、こんな事を言っていました。
「今自分が、病気になって入院することになって、1週間会社を休むことになったら、会社が回らなくなるだろうな・・・」
毎日忙しそうに作業をしている若手エンジニアだったのですが、このセリフには、忙しいことに対する恨み節と、自分以外に作業を理解してくれる人がいないという愚痴でした。
正直ボクは、これを聞いた時に、「自分のわかっている事を、資料に書き出して、誰でも作業ができる手順書や、資料を作ればいいだけなのに、それを作らないから忙しいんだよ・・・」と、思って、トゲのたたないように伝えてあげました。
エンジニアは、一つの会社でエンジニアをずっとする時代ではなく、自分のスキルアップ、サービスとして成長をさせる経験値の獲得、高額な給与の強奪、これらに向けて転職をしまくりますが、
こうした時に、会社を辞められない事態を防ぐ為にも、こうした手離れのいいシステム設計思想を、自分でスキルとして保持しておく事をオススメします。
最後に、校長先生からのお言葉があります。
「ドキュメントを書き終えるまでが、開発プロジェクトですよ。」
0 件のコメント:
コメントを投稿