今回はポエムっぽくなります,ご容赦ください.
フロントエンドエンジニアとして働き始めて半年が経過してある程度仕事に慣れてきた反面,自分の実力はまだまだだなぁと痛感しています.
というのも「よし,このライブラリの仕様と使い方にだいぶ慣れてきたな」と思ったら「え,次このライブラリ使うの? うわー,勉強しないと..」となったり,「先輩のコードめちゃ見やすいな,どうしたらこんなコード書けるようになるんだろう…」ってなるんですよね.
なので「この技術(VueとかReactとか)覚えたから自分は一人前のフロントエンドエンジニアだ!」とはならないんです,当たり前ですけど.
自分は最近React使って開発していて,ようやく状態管理やuse~~といったcustomHooksにも慣れてきたところで,「最初に比べたらだいぶReactも使いこなせてきたな~」という感じになってきました.
それはいいことなのですが,また別の問題として「読みやすいコードってなんだろう」と思い始めてきたんですよね.というのも,先輩社員とか他の人のコードを見ると「なんでこういう書き方しているんだろう」とか「え,このコードめっちゃ読みやすいじゃん,すげぇ」となるんですよね.で,そのコードを書いた人に聞いてみると「〜〜の法則とか〜〜の定義とかってあるでしょ?それに則って書けば自然とこういうコードになるよ」と言われたりします.その話を聞いた途端,「え,なにそれ?」ってなるんですよね.まあこういう流れで「あー,自分ももっと勉強しなきゃな」って思うわけです.
こういうこともあって最近はプログラミング言語のような実践的な技術書だけでなく,もっと抽象的な概念が書かれた技術書も読むようになりました.
とりあえず最近読んでいる本をここに貼り付けておきます.
概要だけ言うと「プリンシプルオブプログラミング」ではコーディングするときに意識すべきことが体型的に書かれています.どうすれば読みやすいコードになるのか,コーディングスキルを上げられるのかを知りたい方におすすめの本です.
「プロダクトマネジメントのすべて」ではプロダクトを管理する立場の人がどういうことを考えているのかを知ることができます.またこれからプロダクト管理をするであろう人に対しても,どういうことを考えてプロダクトを管理すればよいのかを知ることができます.
ここ最近だとウォーターフォール型ではなくアジャイル型で開発・運用することが多いですが,そのアジャイル型の開発ってどうすればいいの?ということも一通り書いてあります.
自分は「エンジニアになって仕事したい->プログラミング言語やフレームワークを学ぶ」だけでは,今後優れたエンジニアとして成長することはできない,と考えています.
エンジニアとして成長するためには,開発にまつわる幅広い知識を身につけ,色々試行錯誤していく中で自分を磨き続けることが大切なのではと思います.
最後に.
最近よく「3ヶ月もあればエンジニアとして活躍できる」と耳にしますが,それは嘘ではないと思います.ただ,エンジニアという職業につくのがゴールなのか,もっとその先(リードエンジニア,プロダクトオーナー)を目指すのかはきちんと明確に考えるべきなのかなと思いました.
コメント