フリーランスでフロントエンドエンジニアになって今年で6年目。
私は大学も前職も文系でしたが、プログラミングスクールに行ったことをきっかけにエンジニアとして活動し始めました。
今回は、よく質問される「顧客の要求を適切にコードに反映させるには、何を勉強すればいいか」についてお話ししたいと思います。
顧客の要求を適切にコードに反映させるには、何を勉強すればいい?
顧客の要求と、実際作り出すプログラムの間には大きなギャップがあるので、何かを勉強すればすぐに適切に要求を反映できるようになるわけではありません。
よく取り上げられるのは、ウォーターフォールとアジャイルという開発手法です。
ウォーターフォール型開発は、「開発手順がシンプルで分かりやすい」という特徴があります。システムやソフトウェア開発には多くのプロセスが存在しますが、この工程を「上から順番に行う」のが、ウォーターフォール型開発です。
一方、アジャイル型開発は、前の工程に戻ることを前提としており、その名の通り「素早いシステム開発」が可能という特徴があります。作りたいシステムを大まかに決めた後は「計画、設計、実装、テストの反復」を繰り返し、一気に開発を完了させるのが、アジャイル型開発です。
要件定義の進め方などは既に多くの研究がなされているので、それらを参考にしつつ、実際に手を動かし実地で学んでいくしかないのかなと思います。
具体的にどうやって勉強したらいい?
ウォーターフォールとアジャイルという手法があるのは分かった。じゃあ具体的にどう勉強すればいいか?
結論から言うと、最初はプログラミングスクールなど、いつでも何でもプロにたくさん質問できる環境で学んでみてほしいです。
プログラミングスクールに入ってしまえば、プログラミングに関することは何でもメンターに尋ねられます。
自分の作りたいものには何の言語を学ぶ必要があるのか、どんなツールを使いこなせるようになると便利なのか…あらゆる質問に現役のエンジニアたちが答えてくれるので、プログラミングについて何かしら学びたいものがある人にとっては最高の学習環境です。
でも独学でも勉強はできる!と思われる方も多いでしょうが、エンジニアを目指して独学する人の9割は1年以内に挫折するという実験結果があります。
実際、私もフロントエンドエンジニアになりたいと思い始めた頃、さまざまなプログラミング言語を独学で習得しようと、無料の学習サイトを使ったり本で学んだりしていました。
しかし、学ぶほど「どこが分からないのか分からない」状態になり、結果的にプログラミングスクールで学ぶようになりました。
独学していたのは1年間ほどでしたが、正直言って無駄な時間だったと後悔しています。
私が通ったのは、日本最大級のプログラミングスクール「テックアカデミー」ですが、そこでは体系的にプログラミング言語を教えてくれるだけでなく、自分専属のメンターがいろいろと相談に乗ってくれました。
メンターたちは現役のエンジニアなので、リアルタイムの情報(生きた情報)を踏まえて相談に乗ってくれるのが本当にありがたかったです。
どこが分からないのか分からないと言えば、分かるところまで戻って根気よく教えてくれました。
フリーランスのエンジニアを目指していると言えば、何を作りたいのか、どんな人生設計を目指しているのかと親身になって相談に乗ってくれました。
もしこれから何かプログラミング言語を学びたい、エンジニアになりたいと思われているなら、私は独学ではなく、プログラミングスクールで勉強することをおすすめします。
テックアカデミーには、プログラミング言語を教えてもらえるだけではなく、エンジニアになった後の自分の人生についても共に悩み導いてくれるメンターがいます。
現役エンジニアのメンターにあらゆる質問をぶつけられる環境…それは貴重で贅沢な環境です。
お金を惜しんで独学し結果的に潰れるのか、自己投資と思ってメンターにがっつり質問し、投資分を回収+自分の人生に生かすのか。
どちらを選ぶかはあなた次第です。
ちなみに私は、「Webアプリケーションコース」と「フロントエンドコース」を受講しました。
いきなりコースを選ぶのは不安だ…という方は、ぜひ1週間の無料体験を受けてみてください。
この無料体験では、テックアカデミーで開講されている「Webアプリケーションコース」の一部を、実際に受講するのと全く同じ環境で体験することができるんです。
メンターには24時間相談し放題なので、プログラミング言語に関してだけでなく、今後のキャリアパスなどについても質問を投げかけてみてください。
きっと親身に相談に乗ってくれるはずです。
複数のコースを受講したいけど選べない…という場合は、セットコース(セットにすると割安になります)やウケ放題というプランもありますよ。
ぜひチェックしてみてくださいね。