新卒で、エンジニアとして働き始めて約1年と半年が過ぎました。
いろいろな方のいろいろな記事に教わり、また救われてきましたが、その中でも特に心に刻まれ、今の自分の指針になっているものをピックアップしてみたいと思います。
※現場では TypeScript, Reactを書いている時間が多い身です。故にそれらの記事の色が強めかと思いますが、ご容赦ください。
### 自己点検に持ってこい
1つ目は、@hirokidaichi さんの以下の記事です
もちろん回数が多ければ良いわけではないのですが、この1年半の間に3回は読みました。
技術力以前に、日頃の仕事への「姿勢矯正」に、非常に学びになりました。
この記事に書いてある「悪い習慣」を見て、「自分はそれしてはいないか?」とチェックをすることは、新人プログラマでなくても価値ある行為だと感じました。
@hirokidaichi さんよりも「すごい・強いエンジニア」なら、この考えは当てはまらないかもしれないですが、今の自分には十分に検証するに値すると思い、日々、指標にさせていただいています。
プログラミングをする中で、プロジェクトの種類にもよるが、コードリーディングの占める割合は高い傾向がある。ものによっては8割読み、2割書くといった具合だ。
自分に言い聞かせたいこと → コードを読み・書きする比率は、8:2くらいになってる?
プログラミング言語のエラーメッセージや、ライブラリの出力するエラーメッセージは問題箇所を特定するために、人間が人間のために記述した情報だ。ところが、成長しづらいプログラマはそれを読まない。何か問題があったという情報として2値化してとらえてしまう。
自分に言い聞かせたいこと → エラーコード、読んでる? 2値化しちゃってない?
プログラムのエラーが発生したということは、本来「完成に近づいた」一つの証跡であるはずだ。なぜなら、今まで意識されていなかった情報が一つ明らかになり、間違った仮説をたててしまっていた部分が棄却されて、それを修正するという明確なネクストアクションが手に入るからだ。
自分に言い聞かせたいこと → エラー発生した状況に対して焦ってない? 「完成に一歩近づいた」と思えてる?
1つの技術に対する姿勢
2つ目は、@kfurumiyaさんの記事です。
正直、読んだ当時は、内容がほとんど分かりませんでした。
ですが、特定の技術・機能(上記記事では useState
)に限らず、少なくとも自分が日常的に触れる技術に対して、もっと造詣を深めるべきである」というのを読んでいて強く感じました。
ある技術に対して、どの程度の造詣・理解度合いを自分に課すかは、当然、自分が決めれば良いことだと思います。
それにそう思っていていたとしても、目の前の業務に追われてしまって、理解を深めることを怠ってしまう時もあると思います(自戒...)。
ですが、「エンジニアとして働く」ということは、「自分が十分にプロレベルであるかどうか」であったり、実際に周りの人に、自分がどう思われているかにかかわらず、「プロとして周りから見られている」と思って働くべきだとボクは思っています。
Reactを日頃書く人にとってのuseStateのような技術1つ1つは、普段何気なく使っているし、便利ゆえにその構造を深く理解していなくても使えてしまいます。
ですが、それぞれの技術の仕組みについて最低限でも、原理・原則を抑えることが大切だと感じました。