概要
本記事では、私がプログラミングスクールを卒業後、実務経験を通じて実感している点を3つシェアします。
実務に入ってみて思うことは人それぞれだと思いますが、あくまで個人の感想として読んでいただけると嬉しいです。
因みに、筆者が通っていたプログラミングスクールはこちらです。もしご興味があれば、損はしないのでLPを覗いてみるだけでもしてみてください。
フルリモート環境での自走力の必要性
現在、フルリモートで開発業務に従事しています。こういった作業環境では、環境構築・設計・エラー対応などなど、他方面で自ら問題を解決しなければならない状況が頻繁に生じます。(あまり悩みすぎても時間が勿体無いので、必要に応じて周囲のメンバーに質問することはもちろんあります!)
しかし、限られたリソースの中では手取り足取り教えてもらう機会は少ないので、ある程度自力で原因調査〜対応まで漕ぎ着く状況にならざるを得ないです。最初は1人で解決していく自信がなかったですが、そういった場面に何度も遭遇するうちになんとなく当たりを付けられるようになってきたと思えるようになりました。
また、筆者が通っていたスクールでの課題は難易度が高く、メンターからのLGTMが必要でした。しかも課題内容は、メンターが実務で経験したタスクで難しかった実装が散りばめられています。。。そのため、課題をクリアするために数週間かけてエラーの解決策を探ることもありました。メンタル的にキツい時ももちろんありましたが、そのお陰で結果的に自走力を付けることができ、現在の実務環境で非常に助けになっているなと感じます。
DB設計・バックエンドの重要性
新機能を開発する際、フロントエンドよりもまずDBの設計、エンドポイント、スキーマの定義を行い、バックエンドの実装やAPIテストを優先することで、全体の開発がスムーズに進むなと感じています。
筆者の開発現場では、いち機能実装をする場合、自分1人で0→1で進めていくことがほとんどです。先にフロントエンドでコンポーネントだけ実装もします。しかし、結局バックエンドAPIと値をどのように受け渡ししたいかが肝なので、先にエンドポイントをある程度作り込めばフロントエンドとの繋ぎ込みがやりやすいなと思いました。
あくまで筆者の肌感なので、根拠は正直ありません。が、どんなデータをどのような形で受け取り、DBに格納したり、取得したいのか?をベースに考えることで自ずとやるべきことが見えてくるなと感じます。
公式ドキュメントの英語読解
メジャーでないライブラリやツールを使用する場面では、英語の公式ドキュメントの読解力も重要だなと思います。
シンプルに、日本語よりも英語で情報検索すれば多くの情報を得られます。
また、DeepLやGoogle翻訳も便利ですが日本語訳の文章に違和感を感じるので、原文を直接読むことでより正確な情報を得られると個人的に思いました。
おわりに
実務経験を通じて感じたことは多々ありますが、自走力の重要性を特に実感しています。
自走力をつけても尚、実務経験最初の3ヶ月くらいとにかく必死で開発していた記憶があります。(今も勿論必死で開発しています!w)
独学でWebエンジニアを目指すのも一つの手段だと思いますが、効率的に学ぶためにはスクールのサポートが非常に役立つと感じています。実際筆者も半年ほど独学でRailsやDockerを学んでいましたが、正直当時学んだことはあまり覚えていないし、今役立っている感覚はないです。
私が通っていたHappiness Chainでは、そもそも分からない時の調べ方や環境構築などなど、開発業務でコードを書く以前に必須だけどあまり教えてもらえない基礎中の基礎から学ぶことができました。なので、いざ実務初日!となった時に、環境構築で躓かずスタート地点に立つことができ、現在に至ります。
スクールで得られたものは大きい財産だなと日々感じながら、今日も開発を進めようと思います。