見出し画像

子育てママさんが働きながら「フロントエンドエンジニア」にキャリアチェンジ!「学習の断捨離」が効率的な学びの秘訣。

ウェブスタッフが提供するエンジニアのための自主学習コミュニティ「ENJIN」(ENJINの取り組みについてはこちらをご覧ください)。

今回は「ENJIN」に参加中、Techpit で学習しながら、フロントエンドエンジニアにキャリアチェンジされたゆかさんにインタビューしました。

ーこれまでのキャリアについて教えてください

ウェブ業界に入ったのは6年前くらいです。それまでは空港でサービス業をしたり、市役所で事務職をしていたりと様々でした。

ウェブ業界に入ってからは、産休も多かったので、フリーランスや業務委託を中心にキャリアを積んできました。

ーどうしてフロントエンドエンジニアを目指そうと思ったのでしょうか

これまではWordPressでつくられたサイトをテンプレートからつくったり、いわゆるウェブ制作のような仕事が中心でした。

ただ、いろいろな業務に関わるなかで、「もう少しリッチなページをつくってみたい」「サイトを動かしたい」という気持ちが芽生え、自然とフロントエンドエンジニアに憧れるようになりました。

とはいえ、プログラミング言語といえばPHPに少し触れた程度でした。

ーキャリアチェンジで挫折はありましたでしょうか

実は一度、フロントエンドエンジニアのスキルを身に着けようと、Reactを独学で学ぼうとしていた時期がありました。ただ、そのときはReactのチュートリアルに取り組んで、挫折してしまいました。

見たことがないファイルが沢山あって、どこでなにをしているのかが理解できませんでした。いま思えば、JavaScriptの基礎知識やコマンドラインなど、様々な前提知識が抜けていたのだと思います。

ただ、改めてフロントエンドエンジニアを目指したいと思ったタイミングで、ENJINの取り組みを知り、自分以外の人が書いたコードを見ながら学習したいと思い、参加することに決めました。まわりにウェブデザイナーは多かったのですが、フロントエンドエンジニアはいなかったので。

ーどのように挫折を乗り越えたのでしょうか

プログラム全体としては3ヶ月ほどで、前半1ヶ月はReactやVueについての基礎学習。後半は自主企画のプロダクト開発に取り組む、という内容でした。

前半の基礎学習の期間では、Reactのチュートリアルに取り組んだ後に、Techpit の『スネークゲームを作って学ぶ React Hooks API での状態管理』をやりました。

チュートリアルは2年前に一度挫折していたのですが、今回はPropsやStateの概念がすんなりと理解できるようになっていて嬉しかったです。

それまでに少しVueを触ったり、JavaScriptについての理解を深めたのが良かったのだと思います。

例えば、JavaScriptというのはブラウザのなかで、どのタイミングで、どのような挙動をするものなのか、というメカニズムについての理解や、非同期処理やDOM操作など、JavaScriptが実行していることの理解が深まったことで、断片的だった知識がつながってきたのだと思います。

ーTechpit を受講するなかで、どのような工夫があったのでしょうか

単に書いてある通りにやっても頭に入らないので、少しずつ自分で書き換えたりしながら理解を深めていました。「ここを変えると、これがこう変わるのか!」とか「なんでこれを変えたのに、これは更新されないんだろう」とか。そういった実験のなかで、React中で起きていることの理解を少しずつ深めていきました。

また「スネークゲーム」の教材をVueで書き換える、ということもしていました。そうすることでReactとVueそれぞれの特徴の理解や、より広いフロントエンドの理解につながったと思います。まあVueを捨てられなかっただけなんですが(笑)

ーどのような点が企業から評価されたのでしょうか

3ヶ月のなかでの成長角度を評価いただきました。

プログラムの期間中は、アプリで日々の日報をつけていました。「なにをやったのか」「自分は何がわかったのか」「何がわかっていないのか」「なにを理解する必要があるのか」「そのためになにをすればいいのか」というのを、毎日言語化していました。

時間は有限ですし、フロントエンドの知識はほぼ無限です。すべてを理解することはできません。ですので、闇雲に学習するのではなく「わからないこと」を細かく定義して、それを理解するための道筋を考えて、行動することを大切にしていました。

プログラムのメンターからも「現在地が見えていて、習得したいもののブレイクダウンが上手い」というフィードバックをいただきました。

とはいえ「なにを理解する必要があるのか」が分かっても、それを理解するための行動も大事です。

プログラム期間中は、日中はパートの仕事をして、子どもを寝かしつけてから深夜まで学習していました。この期間は猛烈でした(笑)。その行動量も評価いただいた部分だと思います。

ー現在の仕事と今後のキャリアについて教えてください

現在は目標としていたフロントエンドエンジニアとして、IT企業で働いています。フロントエンドエンジニアとしてのスキルを伸ばしていくことはもちろんですが、より様々なエンジニアの方とコミュニケーションが取れるように、幅広くプログラミングを理解をしていきたいと思っています。

そのためにTechpit のLaravelの教材をやったり、Dockerでの環境構築をしてみたり。やりたい、知りたいことは沢山ありますね。

ーフロントエンドエンジニアを目指す方に学習のアドバイスをお願いします

自分で企画してものづくりをすることは、もちろん大切です。しかしながら「なにをつくるのか」を考えることばかりに時間を取られてしまうと、学習が非効率になってしまいます。考える時間をスキップして「いろいろな機能の実装パターンに多く触れられる」というのがTechpit をオススメする理由です。

また現場のプロがつくっている教材なので、ディレクトリ構成やコンポーネントの設計など、開発現場のベストプラクティスに触れられるのも参考になりました。自分の自主企画でも迷わずに進められたと思います。

Techpit の教材については、一度に全部を理解しようとしないことです。私も自主企画で「Reduxで状態管理をしたい!」と思ったタイミングで、『【React/Redux】カンバンボードを実装して Web フロントエンド上級者を目指そう!』に途中まで取り組んでいました。全部を理解しようとせず、目的にあったところまでやる。学習の断捨離が大事です。

また、なにかを理解するためには、一つのテーマを決めて、小さなアプリケーションをつくってみるのもオススメです。例えば、Promiseが理解したいなら、そのテーマで一つの小さなアプリをつくってみることです。そうすることで、アウトプットとインプットの量をバランス良く保つことができます。

文字だけを読んで理解することは難しいです。手を動かしながら感覚的に理解することも大事です。たくさん手を動かしながら、「なにを理解する必要があるのか」を考え、テーマを持って学習に取り組んでみてください!


この記事が気に入ったらサポートをしてみませんか?