#4_30歳手前で未経験からエンジニアになる中でやってあまり効果がなかったこと

こんにちは、ayakaNです。
普通に仕事時間中だけどなんだかモチベーションが上がらずnoteを開きました。noteに日頃思っていることをまとめるとなぜだか本業のモチベーションも若干上がる気がする。とりあえず何かやり始めることでスイッチが入る感じ。

そんなのはどうでもいいんだが、今回は未経験からエンジニアになった自分が、「やってあまり意味なかったこと」をまとめようと思う。色々これをまずやってみようとかWEB上には転がっているけど、「やって意味のないこと」はあまりない気がする。この世の中、色々選択肢が無数に転がっている。その中で、どれにお金をかけてどれに時間を使うのかは大事だ。
未経験からエンジニアになりたい人の一助になれば幸いだ。

まずは、プログラミングスクール。
万、何十万かけて得られることはかなり少なかった。自分もとりあえずプログラミングスクールを受講した。何やればいいかわからなかったので、というのが理由だけど、実際にやったことは教材通りに模写模写模写。正直摸写すればそりゃプログラミングはできるわけで。最終的にTwitter的なアプリケーションを作成できたけど、デプロイもHerokuだし、いまいちなんでアプリケーションが動いているのかとか説明が端折られててしっくりわからなかった。エンジニア未経験で実際に最初にやるべきことはプログラミングではないと思う。それを知れただけでもプログラミングスクール受けてよかったのかな。

次にProgateとかドットインストールなどのプログラミング教材。これもプログラミングスクールとやっていることはほぼ変わらないので得られることは少ない。極めても意味はない。ただ無料でできる枠がある分まだマシ。

大抵これらはWEBで検索すると色々おすすめとして出てくるけど、自分はおすすめしない。費用対効果が薄いし実務でいきない。

これらのサービスで共通しているのはプログラミングに特化しすぎている点だ。技術的にはインフラやミドルの要素がごっそり省略されていることが多い。

「OSって何?」
「Javaってどうやって動くの?」
「WEBサイトはどうやって動くの?」
「URL叩くとなんでWEBサイトが表示されるの?」

プログラミングする前の基礎中の基礎。これらを理解せずにプログラミングしても理解できないし実務の話にはついていけないので意味はない。

じゃあおすすめって何?ってところだが、やった中でおすすめは以下。いずれも実際にためになったし、スキルとして身についた感があった。

  1. ラズパイで何か動かす
    何も入っていないハードウェアをコンピュータとして動かすには何が必要なのか、何をインストールすれば動くのか?これを学ぶことができる。最初はラズパイで自作オーディオプレーヤーを作成するでもいい。ラズパイでJavaを動かしてみるでも良い。大事なのはWindowsとかMacOSとかいわゆるOSも何も入っていないハードウェアをどう扱えば良いのかを理解すること。プログラムが動くまでに必要なもの(OS、ライブラリとか)を理解すること。ググればラズパイで遊んでいる人なんて何人もいる。それに従って何か作ってみる。おそらくうまくいかない部分も多く出てくるだろう。それをさらにググりながら解決していく。実務でも必須なバグ対応スキルの基礎が身に付く。自分はラズパイでベビーモニターを作ったりした。ラズパイ自体は10,000もしない。1週間あれば初心者でもできる。費用対効果はでかい。

  2. 自作でブログサイトを作る
    1が理解できたらこれもできる。AWSやGCP などのクラウド上にサーバーを建てるのもいいしレンタルサーバーを使うのもいい。自分は、AWS上にサーバーを建ててそこにWordPressをインストールしてブログを作って公開したり、PodCast配信をしたりした。1と違ってよりWEBの知識が必要となってくる。http,httpsの違いであったりその設定、DNSの仕組みであったり、ミドルウェア(nginxやApacheなど)の設定もするのでその理解もできる。費用は初期費用であればラズパイより安い。期間は1~4週間あればできるだろう。

  3. プログラミングのアルゴリズムの問題を解く
    これは1と2と違ってプログラミングの学習だ。プログラミングの学習はまずはアルゴリズムを叩き込むこと。言語ごとに書き方は異なるが、アルゴリズムは応用がきく。それと効率的なアルゴリズムや闇雲にif文ばかりを書かない方法を学ぶこと。各言語問題集がWEB上に転がっている。それを自分のPCでプログラムしてコンパイルして実行してみることだ。自分はJavaの問題を解きまくった。アルゴリズムを学ぶことは実務上どのように設計していくか、設計スキルの向上にもなる。

  4. セミナーに参加する
    compassのようなサイトで検索するとセミナーがたくさん開かれている。実際のエンジニアが何を大切にしているのか、実務でどのような言葉を使っているのかを肌で感じることができる。自分とのスキルのギャップにも気づけるきっかけになるしモチベーションアップにもつながる。今はオンラインイベントも多くある。気軽に参加できるのも利点だ。費用は無料〜数千円。これも費用対効果がでかい。

ざっと列挙したが最初はこれらが大事だと思う。プログラミングスクールに何週間も何万円も突っ込むよりはためになる。1~4はエンジニアに転職する前にできるものだし、そこである程度耐性を見ておけば転職失敗というリスクも軽減できる。

これは余談だがエンジニアにキャリアチェンジする年齢も正直大切な要素だ。自分は29歳でキャリアチェンジしたが3年は実務に慣れずとてつもなく苦労した。29歳のエンジニアは一般的にはマネージャーなどの管理職に就く人もいる年齢だ。その穴を埋めるのはかなりきつい。新人と同レベルの扱いを受けることを覚悟すべきだ。現実を受け止めた上で、腐ることなく学習していく一種のメンタリティも必要だ。

ざっと頭の中のものを吐き出した。
よし、仕事に戻ることにしよう。

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