最近ちょっとネタ切れで更新が滞っておりましたが、今回は少し趣向を変えて駆け出しエンジニアさんに向けたメッセージを書いてみました。
不安に思っていたり逆に突っ走ってしまっている人にちょっとでも役に立ってくれるといいな、という思いを込めて贈る言葉です。
まずは業界と仕事を理解してください
エンジニアを目指そうとすると真っ先にプログラミングの勉強をし始めたり、それが出来るようになってもう一人前な気持ちになってしまう人がいらっしゃいますが、少し順番が違うと思います。
エンジニアと言ってもWeb制作なのかWeb開発なのかによって意味も全然違っtてきます。
言い換えれば大工さんになりたいのに大工さんが家を建てる仕事だと言う事を知らない人はいませんよね。
けど建物を建てるという意味では一軒家を建てるのとビルを建てるのはかなり手法が異なると言う事です。
また同じWeb開発の仕事でもタスクは多岐にわたります。
再び大工さんの仕事で例えさせて頂くと、まずはお客さんに要望を聞き、図面を引く作業や、材木を用意する作業、組み立てるために必要な加工をする作業、それを組み立てて壁を作って電気の配線・水回りを作って…ととてもたくさんのタスクを経て一つの家ができあがります。
システムを開発するのも全く一緒です。
大雑把に言っても、お客さまのお話を伺う要件定義フェーズ、どのように作るかの設計フェーズ、実際にコーディングする実装フェーズ、動かしてテストするテストフェーズなどなど異なるスキルが必要なフェーズで成り立っています。
自分がやりたいことを定めて勉強しましょう
上記のように仕事の種類やタスクが理解出来たら、次に自分が何をやりたいかをわかった上でお勉強をする事になります。
フロント周りがやりたいのか、バックエンドがやりたいのか、それだけでも勉強すべき内容が変わってくるでしょう。
そして勉強をし始めたら技術の探求を怠らないでください。
エンジニアは技術力が9割です。
(あと1割はコミュニケーション能力かな)
ですからコーディング能力だけではなく、その周辺の知識や技術もつけられるだけつける必要があります。
知識をつけても全てが仕事で使える訳ではなく実践から学ぶことも多数あります。
新しいことが出てきたら「ググった通りやったら動いたからOK」ではなく、なぜそうなるのかを理解するまで追求してください。
もちろん仕事は仕事でやらなくてはなりませんから、仕事外の時間で勉強する必要があります。
勉強していたから仕事が終わりませんでした、というわけにはいきませんからね。
フリーランスエンジニアというお仕事
最近よく「駆け出しで技術もないのにフリーランスとかやるな」とか「そんなことはない、チャレンジが必要だ」などなど駆け出しエンジニアについての意見を目にすることがあります。
私個人の意見としては上記の通り環境を理解し、自分の実力を理解した上であれば理解した上でチャレンジしても良いと思います。
また大工さんの仕事で例えさせて頂きますと「釘を100本打って欲しい」という依頼があり、自分が釘を打てるのであれば受ければ良いでしょう。
また、かんな掛けもして欲しい、といわれたとき、まだ仕事としてはやったことはないけど知識もあるしやってみたい、というレベルであればチャレンジするのも良いでしょう。
この時大事なのはかんな掛けというタスクがどういう物か理解している事です。
わかりもしないのに請け負うのはあまりにも無責任です。
つまり、釘が打てるからと言って家は建てられないのです。
プログラミングが出来るようになってもシステムを作れるようになったわけではない、ということを理解してクライアントに貢献出来るよう頑張ってください。
おわりに
最近はエンジニアという仕事がキラキラした楽しい簡単なお仕事という印象を植え付けたいのかな?というCMやインフルエンサーさんの発言も多いですが、正直そんな事はないと思います。
コーディングだけをしているときは楽しいですが、基本設計やアプリケーション基盤とかやり始めると脳みそ爆発しそうになりますし、要件定義で嫌な顧客に当たってしまった時には鬱になりそうになることもしばしばありましたw
けどそれを上回るくらいユーザーさんのお役に立てたときに達成感を感じるのも事実です。
ですから、あなたが踏み出すその道がどんな事に繋がっているのかをよく理解した上でこの業界に飛び込んでもらえたらと思います。
最後に一つ。
何十万もする学校やコミュニティには通う必要はありません!
独学でもわかる人は十分わかりますし、学校にしても良心的なところや実績のあるところもあります。
入会する前にちょっとだけ冷静になってくださいね!
コメント