まなめはうす

良いニュースで、良い人生を。

エンジニアに必要なスキルは

エンジニアにとって最も大切なことは、お腹が出ていないこと。
と、15年前に私の見ていたサイト界隈で決着がついたのですが、エンジニアである私が必要だなと思うスキルって自分の中では時折変わっているので並べてみます。

可読性の高さ

プログラムを書く仕事に就いたこともあって、一番大切なことは可読性の高さだと上司に面接で熱く語ったのは良い思い出です。技術屋でない上司はちんぷんかんぷんのようでしたが、バグを出さないためには、誰が見ても読みやすいコードを書くことによりバグも見つけやすくなるし、そこまで気遣いができればバグを残すことはなくなると思ってました。
この難しさは、自分にとって読みやすいというだけでなく、誰が見ても読みやすいということです。そのために、個性を取り除いていく作業を良くしたものです。

丁寧であること

プログラムを書いたり、レビューをするようになったり、繰り返しているうちに次第に思うようになったことは、この職場で最も必要な能力は丁寧であることなのかなってこと。開発手順がちゃんと定められているのだから、それを丁寧にこなせばよいし、プログラムだけ可読性を意識するのではなく、作る資料すべてを丁寧に作り上げることが一番大切だと思うようになったのです。

形にするまでのスピード

しかし、ここ数年で一番大切にしていることは形にするまでのスピードです。どんなに良いものを作っても納期を守らなくては意味ないのですよ。何人か新人の面倒を見てきましたが、中にはいつも残業をしまくった上で納期を守れない人がいて大変苦労しました。せめて何らか形にしてくれればあとはレビューで品質を保証できるものの、ものができあがってこなくては何もできずとてももどかしい思いをしたものです。

そんな仕事の遅い新人によって思いを強くしたのは事実ですが、まず一つの形を作り上げることが凄く大事って思ったのは自分で本を書いた時。書いては消し、書いては消し、ほんと不採用とした文字列で本があと3冊くらいできたと思います。ちょうどその頃、と言ってももう5年も前ですが、シナリオライター田沢大典先生に「まずは一回書こう。それから何度も見直そう。繰り返していくうちにスキルが上がっていくと見直しの回数や手戻りの時間が減っていくことで、トータルの時間が短くなる」といった感じのアドバイスをいただいたのがとても強く記憶に残っています。「良いものを作る」ために、「作る」と「良くする」を分けること。若いうちは「良くする」部分は「良くしてもらう」でも良いと思う。良くする時間を確保するためにも、まずは作ること。これを早くしなくてはと心がけています。

まとめ

結局のところ、自分が必要だと思うスキルの変遷は、自分が持っていなくて意識していく必要があると思ったことの変遷なんですよね。入社してすぐの自分はプログラミングには自信があって、誰よりも性能の良い論理を組める自信があったものの、レビュアに理解してもらえず、その時は自分で保証すれば大丈夫って思ったけれど、のちのち振り返ってみてこのプログラムを修正できるのは自分だけだというマズさに気付いたんですね。メンテナンスというものが発生する以上、レビューが存在する以上、可読性の大切さに気付き心がけるようにしました。同様に、品質の高い人のほとんどが作業品質が丁寧だってことに気付いて丁寧さが自分にも必要だと気づいて目標にしたり、スピードだって得意なプログラム開発ではそこそこなのに、プレゼン資料やら報告書やらを書くのが遅過ぎる現状から意識づけて、言い聞かせているんだと思ってます。

一方で、変遷しているのはそれまでに必要だと思っていたスキルを自分では満足できるレベルまでできているかなと判断したからだとも思うのです。可読性に拘ることは定着したし、作業も丁寧にしています。この下地がないと、ただ早ければいいの?ってなってしまいますからね。丁寧で読みやすさに拘れるベースがあってこそ、その時間を作るためのスピードだと思うのです。

高いスキルで、良い人生を。
一回目を早くする練習に、ブログは良いと思います。このエントリだってもっと早く書けるはずなんだ…



togetter.com
togetter.com