最近話題のエンジニアってぶっちゃけどうなの?未経験からエンジニアになってみて

小学校などでもプログラミングの授業が実施されたり、フリーランスになりやすく自由な働き方を実現できるエンジニアという仕事が注目されています。なんか外から見ている分にはキラキラした感じに見えるかもしれませんが、ぶっちゃけエンジニアってどうなんでしょうか?

他業種からエンジニアになってみた管理人が思ってることぶっちゃけます。あくまでここの管理人の意見なので「へ〜、そういう考えもあるのね」くらいに思っておいてください。

エンジニアで独立するのはいうほど簡単じゃない

よくフリーランスになって好きな時に好きなように働けるのが魅力、みたいな感じで宣伝されることがあるじゃないですか。プログラミングスクールの宣伝文句とかこんな感じのことが多いと思うんですよ。でも実際いうほど独立するのって簡単じゃないと思います。

こういうサービスを作る時にはこういうデータを扱って、セキュリティーはこうして・・・。など、ただデータを処理できればいい以上のことが関係してきます。

大きなシステムになればなるほどこうした部分は気を使いますし、データを扱う上でいろんな制約もかかります。これってある程度いろんなプロジェクトに参加して、こういう時はこうするというような経験を積み重ねないといけない部分です。

じゃあ、簡単な案件に参加すればいいのではと思われるかもしれませんがそういうプロジェクトはそこそこできる人が群がってきて滑り込むのって結構難しいです。ある程度経験のある人に回っていってしまうので、スクールがいうように1ヶ月でフリーにとかまぁまず無理と考えるのが妥当ですね。

趣味でもともと色々作っていてという場合はまた話が変わってきますが、チームで動くことがほとんどなので自分一人でやりやすいようにやっていた時とは勝手が全く違います。

入る会社を選ばないと勤務地がしょっちゅう変わる

ゲームを作るとなった時、開発真っ只中の時は人が欲しいものです。ですが発売してしまえば当然開発部門は暇になりますよね。ゲーム作成以外でもシステムを作るという場合、開発期間だけ人が欲しいというのが常です。

そのためエンジニアの働き方として多いのが自分の会社以外の会社に出向いてそこで仕事をするというものです。ようは派遣みたいな感じです。

長期間同じ会社に行く(常駐)する場合もありますが、数ヶ月単位で変わる場合もあります。

これの何が大変って勤務地が変わることが根本的に大変です。通勤時間がどれくらいかかるか割り当たった会社の所在地で変わってきます。辺鄙な場所にわり当たる場合もあるので客先常駐のサービスをしている会社に入る場合は覚悟が必要です。

基本客先には行かないとしている会社でも、場合によっては行くこともあります。

職場を選ぶ時、自分たちの会社で自分たちが扱う製品を作っているのか。それともお客さんから依頼を受けてシステムを作っているのか?お客さんから依頼されたものを作る場合、自分たちのオフィスで作るのか、それとも依頼主のオフィスへ行かなければならないのかよく確認しておく必要があります。

ベンチャーだと途中参加の新人は苦労するかも

人数の少ないベンチャーは基本的に、経験豊富なできるエンジニアが各々自分なりに考えてプロジェクトをガンガン回して行くという風潮があります。つまり、そのプロジェクトがどういったプロジェクトで、どのような設計をされているシステムなのかという説明書的なもの(ドキュメント)がきちんと書かれていない、もしくはない場合があります。

これの何が大変って、まずどのようなプロジェクトなのか把握するのが大変です。

小規模なシステムであれば問題ないかもしれませんが、それなりに規模が大きいものになってくるとこの機能はなんのために存在するのか?どういう動きをしていれば正常なのか元からいるメンバーに聞いたりソースコードを見たりして自分で調べなければいけません。

ただ機能を修正するだけであっても、誰のためのなんの機能なのか。どういう背景があって、どんな理由から変更することになったのか知らなければ正しく修正できません。

普通先輩方に聞けば教えてはもらえますが、人間自分が常識と思っている情報は端折って話してしまいます。説明を聞いたけどよくわからないといことも多く、どの情報が欠落しているからわからないのかそれを確認しつつ作業を進めなければならなくなり経験の浅い人にとってはかなり難易度高めです。

結論:大変だからこそ味方を見つけろ!

プロジェクトが変わるごとに新しい知識が必要になったり、エンジニアは考えなければいけないことがたくさんあります。経験が豊富なら、ある程度自分で予測して動くこともできますが新人だったり未経験から転職した場合などはそんな芸当できませんよね。

必然的にチームメンバーや先輩に質問する機会が増えます。忙しくしている人に質問を投げかけるのは勇気が必要です(コミ障の場合は特に)

ある程度経験を積んでも、これどうしよう・・・。と悩むことは多々あります。

よっぽどセンスがいいとか、知識量が豊富とかでもない限り絶対ワンマンプレーはできない大変な職業です。

そのため凡人なら、絶対味方は必要です!少なくとも僕には必要です!!

お客さんから無茶振りされた!とか、

昔書かれたコードがよくわからないバグ出してる!とか、

色々調べたけど期待通りに動いてくれない!などなど、一人で抱えるのは荷が重すぎる問題がたくさん出てきます。

そんな時味方になってくれるひと、助言してくれる人、一緒に考えてくれる人の存在はめっちゃ支えになります。可能ならば自分より経験のある人(尊敬できる先輩とか)、ぶっちゃけ上の立場の人には話しにくいと思うなら同期でも自分と同じくらいのレベル感の人でもいいです。自分が話しやすいと思える人を必ず一人は見つけておきましょう。

いろんな技術が出てきますし、作るものによって使うプログラミング言語も変わります。

これさえ知っておけば万事うまく行くという知識はないと思います。常にいろんな問題にであう仕事だからこそ、日々の勉強だけじゃなく自分の支えになる人間関係を築いておくことは非常に大事だと、色々助けられた経験から思いました。

そういう人に巡り会うのは簡単じゃないと思いますが、コミュニティーに入ってみたり、ちょっと話しやすそうかもと思える人をご飯に誘ってみたり、勉強会を企画して誰がどんな経験をしているか聞いてみたり・・・。ちょっとでいいので自分を開いて人と関わって行くことが、エンジニアとして仕事して行く上で大切になると思います。

自分でいいようにできるほど単純でも楽な仕事でもないです。

でも確実に成長できる、面白い職業ではあると思います。学生さんはインターン。異業種から転職を考えている方は趣味から初めて楽しめそうか確かめて見るのがいいと思います。