🔰

エンジニア初心者を脱するためのTips

2023/04/25に公開

はじめに

フリーランスエンジニアのdaichiです。
エンジニア初心者のころは、どうすれば中級者になれるのかとても悩んでいました。
なので今回は、自分が脱初心者するために行ったTipsをまとめていきます。

1.静的型付け言語を学ぶ

僕は、最初Rubyを書いていたのですが、型に対する知識がなく、
なんとなくプログラミングをしていました。

その後、Golangを学ぶことになり、静的型付け言語に触れる機会がありました。
静的型付け言語は、引数、返り値に型を設定する必要があり、常に型を意識しながら、
コードを書くことになります。
型を意識してコードを書くことにより、型に対する知見が増えて、コードの意図を読みとる力が上がりました。

https://typescriptbook.jp/overview/static-type

2.レイヤードアーキテクチャを学ぶ

上記のGolangを学ぶときに、レイヤードアーキテクチャについてもキャッチアップしました。
最初MVCしか分からなかった自分には、とても難しい概念でした、、

レイヤードアーキテクチャを学ぶことによって、以下のメリットがありました。
1. 設計に対する知見が得られる(SOLID原則など)
2. インターフェイスを学ぶことが出来る
3. 責務が明確になるので、テストコードを書きやすくなり、テストコードを書く機会が増える

以上のようなメリットがあり、エンジニアとしてかなりレベルアップ出来た要因かなと思います。

参考
https://zenn.dev/matsumaru/books/ab468aaefc386d/viewer/97906a

3.インフラを学ぶ

インフラエンジニアではなくても、本番リリース作業など、インフラに対して接する機会があると思います。
そのときに、ちゃんと理解していないと、ただ手順書に沿って、作業するだけになりがちです。
なので、自分でも学んだ方が、スキルアップが早くなると思います。

具体的に自分がやったこととしては、
1. Terraformを使って、ECSにデプロイしてみる。(ちょっとお金かかる、、)
2. 運用タスクを経験し、ログの見方や調査方法を学ぶ。
3. Dockerfileを自分で書いてみる。(コンテナの理解)

以上のことをやって、インフラの知識を身に着けました。
インフラの知識が身につくだけで、かなり自走力が上がると思います。

参考
https://www.amazon.co.jp/実践Terraform-AWSにおけるシステム設計とベストプラクティス-技術の泉シリーズ(NextPublishing)-野村-友規-ebook/dp/B07XT7LJLC

4.レビュワーに挑戦する

レビュワーになることによって、
他の方が書いたコードをじっくり読むことが出来ますし、
自分なりにどういう風にコードを書いたらいいか、考えるいい機会になります。

はじめは、とても気が重いかもしれませんが、
自分のためだと思って積極的にやっていきましょう!

関連記事
https://zenn.dev/daichi0713/articles/2d5206b18c0c8a

5.モダンな技術に触れる

これは結構個人的な感想ですが、
React, Vueなどに触れることによって、フロントエンドのスキルがとても上がりました!

素のjsやhtmlを書くことも大事かもしれませんが、今はそこまで書く必要がないので、
フレームワークの使い方を学んでいった方が、個人的にはスキルアップの近道だと考えています。

上記に触れることによって、SPAや状態管理の知見が増えるので、フロントエンドのタスクもある程度こなせるようになると思います!

参考
https://zenn.dev/gagaga/articles/state-management

最後に

もっとあるかもしれませんが、自分がざっと思いついたことを書いてきました。
賛否あるかと思いますが、自分はこの道順で、スキルアップ出来たと思っていますし、
フリーランスとしても活動するための基礎になりました。

脱初心者をしたいと思っている方の参考になれば幸いでございます!

Discussion