こんにちは、マイクロ法人スタイルで会社を経営しております、新米社長です。
今日は自身の実体験も交えた、エンジニア転職話です。
未経験からエンジニアへ転職した新米社長
もう何年も前のことですが、わたくし新米社長は未経験からソフトウェア・エンジニアに転職しています。
まだ、当時はエンジニアというものには華やかなイメージはなく、どちらかというと IT土方
と言われ、ブラックなイメージが付きまとっていたのを覚えています。
友人にエンジニアになったと報告したら、
「SEになったの〜?残業とかで体壊す人も多いらしいじゃない」
と真っ先に言われました。エンジニアと言うと、そういう印象を世間からは持たれていました。
(今でもそういうメージはまだ残っていますが)
当時、私は全く別の職業についていましたが、ちょっとしたきっかけでシリコンバレーの話をよく聞くようになり、ソフトウェアエンジニアというものに憧れを抱くようになっていました。
また、日本でもホリエモンこと堀江貴文さんを始めとした、スタートアップ・ベンチャー系のIT業界の方々の話題が持ちきりになっていたのも、たしかこの頃かと思われます。
これから日本の社会でもIT化の流れが今よりもさらに加速していくだろうと思い、私はその時に思い切ってソフトウェア・エンジニア、プログラマーと呼ばれるような仕事がしたいと思い、転職を決意したのでした。
未経験から思い切ってエンジニアに転職した結果
結果的にこの転職は成功だったと思います。
現在の求人状況をみると、プログラミングがある程度できれば、とりあえず食いっぱぐれはしないぐらいには仕事がたくさんありますし、仕事以外の場でもプログラミングやコンピュータの知識があれば、その知識を活かせるような社会となっています。
(余談ですが、私生活でも自分で書いたコードを動かして、身の回りのものを自動化しています。Pythonなどで少しコードを書くだけで、ちょっとした手間を減らせるので、プログラミングの知識があると何かと便利です)
今回は私がどうやってエンジニアに未経験から転職してお金を稼げるようになったか?について書いていこうと思います。
なぜ、未経験からエンジニアに転職した話を書こうと思ったのか?
ちなみになぜこんなことを書く気になったのか?というと、実はここ数年、様々な人からエンジニアへの転職方法について聞かれます。
やはり今の日本ではソフトウェア・エンジニア、プログラマーという職種はあこがれの対象なのかもしれません。
(私がエンジニアになりたての頃とは大違いです…)
当時はまだ一般的ではなかったプログラミングスクール的なものも今はたくさんありますし、プログラマーに転職するには最高の環境だと思います。
さて、上にも書きましたが、様々な人からエンジニアへの転職方法について聞かれるので(一時期、本当によく聞かれていました)、だいたい自分の答え方も頭の中で固まってきたところで、せっかくなのでこうやって文章にして世の中に発信してみようと思いました。
巷では フリーランス・エンジニアになって月収〇〇万円
みたいな記事もよく目にします。
正直に言うと、胡散臭い記事も多いです。
そんな短期間勉強したぐらいで稼げるわけ無いだろう!と言いたくなる記事も多いので、新米社長の実体験をもとに実体験を書いてみようと思ったわけです。
ちなみに私にエンジニアへの転職方法を聞いてきた方々は、このような胡散臭い記事なども読んでおり、
「エンジニアになりたい理由は自由に働けて稼げるからです」
とその志望動機を答えたりします。
実際にエンジニアは自由度が高い環境で働けることが多い
実際、エンジニアとして働く中でいつも感じていることですが、エンジニアは他の職種と比べると比較的自由度は高く働けます。
よく妻からも自由な労働環境については羨ましがられます。
私自身もエンジニアとして会社に勤めているときから(まだコロナが出てくる前にも関わらず)、リモートワークで働き、子供の幼児などがあれば都度都度仕事を抜け出していたりもしました。
おまけにそんな働き方にも関わらず、別に給料は悪くないし、何より一日大好きなプログラミングが出来て、これが仕事になるのだから、それなりに良い環境で仕事をしていたと思います。
(勿論こういう環境ばかりではなく、残業に続く残業を強いられるブラックなプロジェクトで数ヶ月仕事をしたこともあります。要は場所によって待遇はピンきりということです。)
はじめはプログラミングスクールに通って学んだ
さて、私がまずプログラミングを学ぶために行ったことですが、ハローワークにある職業訓練校にあったプログラミングスクールに通ってまずはプログラミングを学びました。
当時は前職をやめて無職になっていたため、ハローワークに通っており、そこで職業訓練校でプログラミングを学べるというのを目にして、そのまま申し込んだ形です。
そのときには既にプログラミングに興味があり、自身でもちょっとしたコードを書こうとMacにプログラミング環境をインストールしようとしていましたが、やはり初学者にはかなり難しく、挫折しかけていました。
また、プログラミングは考え方に癖があると言われているので、ちゃんとしたところで学んだほうがいいと思い、プログラミングスクールで学ぶことを決めたのです。
…この文章どこかで読んだことがありますね。
そうです、私が簿記を学ぶときと全く同じで、簿記もプログラミングもどちらも考えた方に癖があると感じたので、プロの講師から学ぶことで学習の効率化を図ろうとしていますね。
そう考えると、自分の考え方と行動は当時から一貫しているのかもしれません。
さて、話は戻り、そのようなわけで、プログラミングスクールでプログラミングの基礎から学んでいきました。
プログラミングスクールで実際に学んだカリキュラム
そのプログラミングスクールでは、Javaを中心にWebプログラミングを学ぶ、という学習カリキュラムを用意していました。
具体的に学んだ内容を思い出せる範囲で書いていきます。
- Javaの基礎
- HTML, CSS, JavaScriptの基礎
- jQueryの基礎と、ライブラリを用いた画面表現
- JSP サーブレットの基礎
- MySQLの基礎
- Webアプリケーションの仕組み
- セッションの仕組み
- フロントとサーバ側ではのデータのやり取りの基本
- DBとのデータのやり取り
- 基本的なセキュリティ対策
- 正規表現の仕組み
- 基本設計・要件定義などの設計の基本
- チーム開発の基本的な考え方
- タスクの振り方
- 分担などなど
だいたい、思い出せる範囲でこのようなことをやっていました。
Gitなどのバージョン管理についてはこのカリキュラムの中では学んでいませんでしたが、今だとおそらくGitとかも学ぶのでしょうかね。
以上のような内容で、3〜4ヶ月ほどで基本的なWebアプリケーションをJavaを使って書けるようになりました。
そこのプログラミングスクールでは就活の支援もしてくれていたので、それほど苦労せずにIT企業に就職を果たせました。
【これ重要】プログラミングスクールで学ぶ以外に自主的な学習も行っていた
ちなみにプログラミングスクールで学んだ内容は網羅的に、とてもためになる内容でしたが、私はなるべく早くソフトウェアエンジニア・プログラマーとしてキャリアを積み上げていきたいと野心を抱えていたため、プログラミングスクールでの学習以外でもなるべくコンピュータを触るようにしていました。
スクール内ではWindows環境を用いてEclipseを操作してJavaを中心に学んでいましたが、プライベートでは自身のMac環境にPythonやRuby、Node.jsなんかを入れて独自にスクリプトを書いたりして勉強していました。
(余談ですが、Eclipseは基本的に重くてちょっとした作業をやるにもすごく待たされるんですよね。Eclipseの重さは本当に毎日ストレスでした)
あとは仮想環境をVirtual Boxなどを用いて立ち上げてLinuxの学習も行い、ドットインストールなどを参考にしながらLinuxでサーバを立ち上げたりしていました。
そもそもプログラミングという行為自体にその時はかなりハマっていたので、飢えたライオンのごとくプログラミングに関するもの、ソフトウェアやシステムに関するものは貪欲に何でも吸収しようとしていました。
私がゲームが好きで休日等はPS4などで遊んだりしていますが、当時はPS4で遊ぶような感覚でコードを書いていました。
vim main.py
という感じで、 Vim
というエディターを使ってソースファイルを開く瞬間に、例えようのない興奮を感じていたので、やはりとても楽しんでいたのだと思います。
(過去形の表現になっていますが、今でも勿論楽しいです)
未経験からプログラミングを学んで、早く上達する秘訣
これは何事にも共通して言えることですが、学ぶ対象に対してハマってしまえば学習効率は格段に良くなります。
そもそもそれを学ぶこと、それ自体が娯楽になるからです。
逆に言えば、いくら良いプログラミングスクールに通ったところでプログラミングにハマることが出来なければ、プログラミングで稼ぐのは難しいと思います。
というか、途中でモチベーションが無くなって苦行になるだけです。
プログラミング関連の仕事は他の業界に比べるとたしかに稼げるかもしれません。
ですが、それはプログラミングやコンピュータに対して、常に高いモチベーションが持てている人だけです。
世間でよく言われていることですが、
「プログラミング界隈では常に学習意欲がないと生き残れない」
と言われます。
これはある意味、事実です。
ソフトウェア・エンジニア界隈では常にテクノロジーの新陳代謝が起きています。
昨年学んだ技術が今年には古臭く感じてしまうこともあります。
そのため、常に新しいものに興味が持てる人のほうがモチベーションを維持して楽しむことが出来ます。
(これはモチベーションがない人には苦行以外の何物でもありません)
ただ、常に新しい技術を脳みそをフル稼働に吸収していく必要はなく、だいたい新しい技術というのは既存の技術の焼き直しや、再構築の結果だったりするパターンも多いです。
(勿論例外もありますが)
そのため、ある程度プログラミングやソフトウェアにたいして知識がついていれば、
「ああ、これはあの技術を今に合わせて再構築したものなんだな」
と新技術の勘所が分かるようになってきます。
そうなればプライベートでも新しい技術のキャッチアップに積極的に勤しむ必要はなくなります。
新しい技術が出てもちょっと触って、自分の業務には利用しなそう、もしくは自分はそこまで興味はないかも、と思えば、それで触るの早めます。もしくはYouTubeなどの動画で済ますこともあります。
ただ、そういう状態になるためには、それ自体を好きになる必要があります。
未経験からエンジニアに転職したい人がまずすべきこと
「未経験だけど、エンジニアに転職したい」、とよく相談を受けると書きましたが、私はそう相談されたときに下記のようなサイトで試しに学んでみることを勧めます。
これらのサイトは無料でプログラミングについて学べるサイトです。有名なのでご存知の方も多いと思います。
まずはこれらのサイトで興味がありそうな分野を学習してみましょう。
それらを学んだ上で、
- もっとコードが書きたい
- もっとシステムについて知りたい
と自然に思えるなら、あなたはプログラマー・エンジニアとして適正があると思います。
プログラミングスクールについて検討してみるのも良いと思いますし、下記のように無料で講座を受けられるサービスもあります。
(ちなみに下は言語がPythonなので、Pythonに興味がある人は試しに受けてみるのも良いでしょう)
また、下記のようなプログラミングスクールで学んでみるのも一つかもしれません。
最近のプログラミングスクールは入会金も高額ですが、サポートも充実しているということなので無料相談や説明会などに参加してみて、雰囲気を掴んでみるのも良いと思います。
(ただ、あまりに高額な場合は、そのスクールの体験談なども合わせて調べておくと良いかもしれません。現実に起こっていることとして「高額な割に習得できる内容がインターネットで検索すれば分かるものだった」という事例はよく見ます。ただ、講師のサポートありきでの値段設定ということもあるので、一概にそれが悪いとは言えませんが)
私のようにハローワークで探してみるのも一つです。
職業訓練校で学習すれば金銭的にもそのほうが楽ですので、一度ハローワークを訪ねてみるのもありかもしれません。
プログラミングの知識は一生モノ
さて、ここまで私が未経験からエンジニアになった際の入り口について書いてきましたが、やはりプログラミングは学んできてよかったなと思います。
プログラミングスキルは起業する際にも有効
プログラミングに関してある程度知識があれば、私のように起業をする上でもとても役に立ちます。
例えば私は、会社の事業で行っているあれこれをGoogleスプレッドシートで管理して、週末にサクッとGoogle Apps Scriptを用いて集計したり、問い合わせがあった際に対応漏れがないように手元にSlackを経由して通知を出させたりしています。
こういうことをサクッとセットアップして行えるのは、エンジニアとして働いてきたからだと思います。
ちょっとした手間を減らすための作業が抵抗なく行えるのは、やはり小さな会社で事業を行っている私のようなタイプには重宝します。
また、これは個人的なことですが、ウェブサービスを使う上でも抵抗がなく利用できます。
裏でどういう処理が動いているか、データのやり取りはどうなっているかが想像できるので、プログラミングを学んでからのほうがウェブサービスを使う上で個人情報を提供することに対する抵抗がなくなってきました。
というか、ある程度リスクを認識した上で使えるようになってきたということでしょうか
やはり裏側を理解しているのと理解していないのとでは、心持ちがだいぶ変わります。
そんなわけで、こうやって文章にしてみると、未経験からエンジニアに思い切って転職してよかったなと改めて思います。
もし未経験だけどエンジニアに転職したいと考えている方は、ぜひ一度私が提案した内容でプログラミングに触れてみることをおすすめします。
仮に合わなかったとして適正がないことが分かったのは、今後の人生における時間の使い方を効率化できるという意味で大変意味のあることだと思います。
次回予告?
結構な文章量になってしまったので今回はここまでにしようと思います。
もし機会があれば、エンジニアとして就職してから、どうやってキャリアを積み上げていったかについても書きたいと思います。
(この内容についても、かなりの頻度で相談されます)
ちなみに私はSler系の会社からスタートアップに転職していったタイプです。
同じようなキャリアを望んでいる方は多いと思うので、また機会があればそれらについて書いていけたらと考えています。