はじめに
小生、未経験から開発職について早一年。
今やどんなソースもガリレオのように解読し、もう八面六臂の大活躍で上司もにんまり。
なんて力がついていればどれだけ良かっただろう。その実、複雑であるソースを日々腕を組みながら睨み続け、何とか一年を過ごせた初学者に過ぎないのである。
それでも、一年開発業務を行ってきた矜持と、着実に進歩してきた自信を持つ。
これから力ある未来を目指す新人エンジニアに対し、未経験からくる不安というものを少しでも払拭したい。無責任に希望をひけらかすのではなく、なけなしの知恵を授けたいのである。
そんな賢しらな思いでこの記事を綴った。新人の方々に是非一読していただきたい。
本題
突然だが、優秀なエンジニアの定義って何だろうか。
複雑なコードを読み書きし、自由自在に操ることができる。一年前の私は、これが全てだと思っていた。それは大学で経験を積んできた同期ら、カッコよく指導しながら業務を行う諸先輩方のイメージと強く結びついた。
同じく未経験で開発に配属された方々には、きっと共感してもらえるのではないだろうか。これからコードへの苦手意識を、兎に角無くして行かねばならんのだと。
その認識を真っ向から否定したいのである。
それはコードが読めなくても仕事ができるという意味では決して無い。結局はそれがゴールになるだろう。
そうではなく、初学者の僕らにはこのスキル以上に磨くべき大切なことが他にある。今はまだ難しいコードが読めなくても、意識して他のスキルを蓄えることができると思うのだ。
何だそんな簡単なことを、と思われるかもしれないが、次の二つを紹介する。
備忘録を残す
いざ業務を始める当初、様々な業務を一周することになる。そのすべてが初めてなので、開発の知識や業務の手順等、膨大な情報に触れることだろう。
その節々に、事細かに情報を整理しメモを取るということが大切だ。
僕は配属当初から、上司の方にみっちり業務について教えてもらった後は、必ず同じぐらいの時間を使って、内容を整理し、備忘録としてメモを残すようにしていた。
その目的は、単に理解を深めるということだけでない。次にその情報が必要な時に、同じ質問をしなくて済むようになるためだ。
ひと月もすれば、前に出来ていた業務や開発知識なんてものは、その一切を忘れる。
忘れたときに、初めてメモを見返すことで、再度上司の力を借り無くとも業務を進めることができる。過去の自分にきっと感謝することになるだろう。
意識してしっかりメモを取ることで、一度説明すれば同じことを聞かない新人と、上司に思わせよう。
相手に伝わる文章を書く
文章によるコミュニケーションの機会は多い。
コードを追記・変更するのは自分でも、Mergeするのは上長なので、説明が要る。問い合わせはソースから原因を自分で解読できても、理解する主体はサポセンのため、説明が要る。上司への業務に関する質問や報連相一つとっても、当然説明が要る。なんと文章を書く機会が多いことか。
そこで、相手に伝わる文章を書くということ、これは本当に難しいことだ。例えば
〇質問文
昨日アサインされた問い合わせを調べてみると、Aの箇所がBではなくCになっているのが原因だと思うので、どういうときにこのケースになるのか教えてください。
↓
昨日アサインされた問い合わせについて、原因調査の質問です。
問題の原因は、本来BであるべきAの箇所がCになっていることだと思います。
どのようなときに、「Aの箇所がCになるのか」教えてください。
〇説明文
アプリの設定から、Aの値を1に、Bの値を2または3に、Cの値を4に変更してください。
↓
アプリの設定を以下のように変更してください。
・Aの値を1
・Bの値を2または3
・Cの値を4
一文の長さや言い回し一つ変えるだけで、より相手に伝わりやすくなる。
日々、諸先輩方の文章を見ていると、非常に簡潔でわかりやすい。しかも、それを当然のようにこなされることに脱帽し、自分の文章力の乏しさに愕然とするのだ。
これは意識して練習していく必要があると僕は思う。
その他
もっと基礎的な話をすれば、期日を厳守する、 礼節を重んじるなど、要素は他にも沢山あるだろう。
さいごに
腕の良い医者と聞いて、医療知識の豊富さだけをイメージするだろうか。いや、それだけじゃない。説明がわかりやすかったり、気軽に接することのできるような先生こそ、信頼されるのだと僕は思う。
エンジニアも同じはずだ。純粋な開発知識だけが問われるものではきっとない。
寧ろ本質から少し逸れた要素こそ、初年度から蓄えることのできるスキルに違いないのだ。
端から開発力のある同期の叩くキーボードを横目に、ノートを汚してみてはいかがだろうか。
AIがコードを書いてしまう時代なら尚更だ。