エンジニア × ビジネス

転職、キャリア情報、エンジニア

プログラミングの独学だけで就職・転職はできるのか



独学からの就職・転職は可能?
結論から言うと、独学でプログラミングを学んでIT企業への就職をする事は可能です。

独学だけでも就職・転職を成功させるポイント

ポートフォリオ

上でご紹介した記事でもさんざん主張しているのですが、未経験からエンジニアの世界に飛び込むときに最も役に立つのは「ポートフォリオ」です。

「プログラミングスクールを受講したこと」でも「書籍で勉強したこと」でもなく、「自分で手を動かしてアプリケーションを作った経験」こそが企業に対しては一番刺さりますし、独学でのスキル習得という観点からも非常に効率が良いんです。

皆さんが今やっている「独学」のメニューの中に、ぜひ「ポートフォリオ制作」を組み込んでみてください。

実務未経験からの就職・転職のハードルをガクッと下げる、強力な武器になりますよ。

もし僕がポートフォリオを作っていなかったら、多分今ほど環境の良い会社には転職できず、実務経験・スキルを伸ばすスピードもずっと遅かったことでしょう。


独学時に使ったサイトや書籍

Progate

まずは初心者に優しいサイトの代名詞、Progateですね。
「プログラミング経験ゼロの方」や「全く新しい言語/フレームワークに触れる事になった方」が対象になると思います。
コンセプトも素晴らしく大好きなサービスなのですが、注意点としては「あまり長い期間をかけすぎない」という事。
つい楽しくて2周3周とやってしまいがちですが、本当に力が付くのは後のフェーズ(ポートフォリオ作成など)の方なので、あくまでも「とっかかりを作る」というイメージで取り組みたいところです。

ちなみに僕が当時取り組んだのは↓のコースです
HTML/CSSJavascriptRubyRuby on RailsRails Tutorial


Rails Tutorial

Ruby/Railsに取り組むなら、これはマストと言って良い教材だと思います。
このクオリティで完全無料というのは今でも信じられないですね、、
基本的なWebアプリケーションの仕組み・作り方が分かるので、ポートフォリオについてもこの教材の内容をベースに制作していました。

パーフェクトRuby

辞書的に使っていたのがこのパーフェクトRubyです。
主な利用シーンとしては、「Rubyの組み込みメソッド名や引数、クラスの概念などを詳しく調べたい」といったタイミングでしょうか。
確かにググっても出てくる情報ではあるのですが、こういうのが体系的にまとまっているサイトって意外と見つからなかったりするので、そういう場面で重宝していました。

JavaScript本格入門

現代のWeb界隈ではJavascriptの占める地位がかなり高まってきているという事もあり、Javascriptの基本を押さえられる参考書としてJavaScript本格入門を使っていました。
Javascriptのトピックを初歩から網羅しているので、かなりオススメですね。


まとめ

独学オンリーでもエンジニア就職・転職は可能
プログラミングスクールは必須ではない
就職・転職で一番重要なのはポートフォリオ

本来、就職・転職が成功する条件は「企業が採用したいと思ったかどうか」であって、「独学かそうでないか」は直接的には全く関係が無いです。

なので、「独学でも大丈夫かな、、、」という迷いは一旦捨てて、とりあえずポートフォリオを作り、エージェントに登録して転職活動を開始するのが一番だと僕は思います。




最速で経験値を積むためには?


未経験から転職したばかりのエンジニアが、最も早く効率的に経験値を積むにはどうすればいいでしょう?

プログラミングの本を読む?
平日の夜や土日でアプリケーションを自作する?
どちらも技術を伸ばす上で重要な事ですが、エンジニアとしての転職を成功させた後であれば、もっと手っ取り早い方法があります。

それが、
開発現場でコードを書いて他のエンジニアからレビューを受ける
→フィードバックをもとにコードを書き直す
→またレビューをしてもらう..
という「レビューサイクル」をできるだけ早く回すということです。
僕がプログラミング未経験から約半年間の現場経験で受託案件のお声がかかるようになったのも、 このサイクルを強く意識していたから、というのが大きいと思っています。


レビューサイクルが重要な理由と実践のポイント

理由1. 分からない部分を自分で調べるよりも、指摘してもらった方が圧倒的に速い

エンジニアになりたての人がよくやってしまう過ちの一つが、「分からない部分をひたすら自力で解決しようとすること」です。

もちろん、自分で検索するなどして不明点をクリアしていく能力も重要なのですが、最初の頃はどういうワードで検索すれば良いかすらわからないので、人に聞けば3分で解決する問題に平気で数時間悩んだりするんですよね。

このパターンにはまらないよう、

・15分考えてわからなければレビューを求める

というルールを作り、こまめに自分のコードを確認してもらうようにしたところ、不明点をググりまくってブラウザのタブを100個くらい開くという悲惨な事態は回避できるようになりました。

そして何より、詰まって悩む時間が少なくなったので、一つのタスクを完了するまでの時間が目に見えて短縮されたのです。

理由2. コーディングが早く終わるので、より多くのタスクをこなせる

レビューの頻度を上げて開発タスクをより短い時間で完了させることができると、プラスアルファで別のタスクに取り組むことができます。

RPG的に表現すれば、経験値の取得効率が高まるという事。

そうやって場数を踏めば踏むほど 1つのタスクにかかる所要時間が減り、また別のタスクをこなせるようになって、、という好循環を作っていけます。

目の前のタスクを10分早く終わらせることは、後々の成長曲線に大きな影響を与えます。

そのための有効な手段が「レビューサイクルを高速で回すこと」なんですね。

理由3. レビューされると、記憶にも残りやすい

自分でググって調べたことよりも、誰かに「ここはこうするんだよ」と指摘されたことの方が記憶に残りやすいです。

人から指摘をされると、「ハッ!そういうことか!」っていう感覚になるじゃないですか。
そういう心の動きに紐付いた記憶というのは、 脳の構造上残りやすい&取り出しやすいのです。
なので、レビューを受けるときはこの感覚を大事にしましょう。

その数だけあなたの脳には良質な(実践で使えるレベルの)知識やスキルが溜まっていきます。

また、受けたレビューの中で「これは使える!」と感じたコードや便利なメソッドなどをその場ですぐメモっておくと、後で見返せるのでオススメです。


聞くは一時の恥、聞かぬは一生の恥

初心者が持っている、スズメの涙のような経験だけで解決できる問題は限られています。

コーディングで詰まった時は、素直にわからない部分を可視化して、現場のエンジニアからレビューを受けることが重要です。

彼らは「できるだけ早い段階でコード見せて欲しい」と思っています。
そうした方が、最終的にタスクが早く終わることを上司も分かっているからです。
なので、「これは相手のためでもあるんだ!」という気持ちでどんどんコードレビューを依頼していけばいいと思います。

もし、レビューの度にイヤミを言ってくるような上司しかいない現場であれば、さっさと環境を変える事をオススメします。



「変わりたい」のに行動できない、生物学的な理由



ヒトは、本能的に変化を嫌う生物である
結論から言ってしまうと、これが最大の理由です。

行動できないのは、あなたの意思が弱いからではありません。
そもそも、ヒトという生物は変化すること自体を避けようとする習性を持っています。

以下で少し詳しく見ていきましょう!


コンフォートゾーンとホメオスタシス

何やら難しそうな言葉が出てきましたが笑、中身は簡単なので心配いりません。
僕たち人間は、「コンフォートゾーン」という「自分が心地よいと感じる環境や心理的な状態」をそれぞれ持っていて、多くの場合、そのゾーンは「今自分がいる環境(職場/人間関係など)」に設定されます。
そして、コンフォートゾーンから離れようとすると潜在意識の領域で非常に強い反発が起こるんです。
この反発作用のことを、生物学の用語で「ホメオスタシス(恒常性維持機能)」と呼びます。
例えばヒトの体温って、真夏だろうと極寒だろうと関係なく、だいたい一定(36.5度くらい)に保たれますよね?
外界の気温によって体温が変化してしまったらヒトはすぐに弱ってしまうため、それを防止するためです。
つまりホメオスタシスは、ヒトの生存を脅かす「変化」を避けるために、潜在意識の中に埋め込まれたプログラムなのです。

「人生を変えていくための行動を取る」=コンフォートゾーンから離れること

なので、あなたの意思の強さに関係なく、「これやったら人生変わる!」というような大きな決断になればなるほどホメオスタシスが強烈に働き、現状維持の方へ引き戻されてしまうわけですね。

僕が新卒入社後になかなか退職に踏み切れなかったのはこれが理由でした。
「早く辞めて転職してしまった方が、間違いなく充実した人生を送れる!」と頭では分かっていても、実は潜在意識で強烈な反発を受けていて、行動まで至らなかったのです。

行動を起こすための処方箋ホメオスタシスを利用する
「そんな機能が本能的に備わっちゃってたら、もうお手上げじゃん!」と思われるかもしれませんが、実はオススメの対処法があります。

それが、「ホメオスタシスを逆手に取る」というものです。
先ほど、
「ホメオスタシス」=コンフォートゾーンから離れようすると働く、強烈な引き戻し作用
という説明をしました。

コンフォートゾーンが「今自分がいる環境(職場/人間関係など)」である限り、この作用は「変わりたい!」と思う人にとっての足かせにしかなりません。

しかし、ちょっと考えてみてほしいのですが、コンフォートゾーンが「自分が目指す目標地点」に設定されたとしたらどうなるでしょうか?
そう、逆に「今自分がいる環境」が「コンフォートゾーンから外れた場所(=潜在意識のレベルでいたくない場所)」になりますよね?

すると、先ほどと全く同じ原理でホメオスタシスが働き、「目指す目標地点=コンフォートゾーン」に向かうような行動と選択を「潜在意識で」取るようになります。
こうなると、放っておいても自動的に目標地点へ移動できる。

つまり、変わるための行動を自然と取れるようになるのです。
「新卒入社して会社を短期間で辞める」という変化を前に躊躇していた当時の僕は、「転職に成功し、価値の高いスキルを楽しく得られる仕事ができている」という状況をコンフォートゾーンに設定しました。
このようにコンフォートゾーンをズラすことができれば、ホメオスタシスの働きにより自然と「望むスキルを身につけられない仕事をしていること自体がおかしい。転職しなきゃ..!」という発想になります。(そう仕向けます)

結果、「退職に踏み切る」という行動を実際に取ることができたわけです。
このタイミングで辞められていなかったら、今のキャリアへの移行はおそらくずっとなかったでしょう。
「ヒトが行動できない理由」について早めに知ることができて、本当に良かったなぁと今では思っています。



「変わりたいのに行動できない」のには、「ヒトは変化を避ける機能を持つから」という生物学的な理由がある。
キーワードは「コンフォートゾーン」と「ホメオスタシス」行動するためには、
コンフォートゾーンをずらし、ホメオスタシスを逆に利用するべし

「現状に不満があるけど一歩踏み出せない」という方は、まずその原因を把握するところから始めましょう。
何事も、原因が分かれば適切な対処ができますし、回り道をして時間をロスすることも少なくなりますよ。



会社の悩みごとで消耗しないための思考法



なぜ、会社の悩みで消耗してしまうのか

こういった悩みで消耗してしまう大きな理由は、「自分が今いる会社」という、もの凄く狭い世界で生きているからだという事に気付いたんです。
本当はそれ以外の世界も知っているはずなのですが、1日のほとんどを会社で過ごしていると、

「自分の居場所はここしかないんだ」
という間違った思い込みが無意識の領域で生じてしまうんですね。
結果、会社での悩み=自分が属するたった1つの世界での悩み

となり、その悩みがとてつもなく深刻なものに感じられてしまいます。
「逃げ場が無い」という錯覚を起こすわけです。

では、どうすればいいか?
その解決方法が「自分の世界を広げて、悩みを相対化する」ということです。


「自分の世界を広げて、悩みを相対化する」とは?

まず、「世界を広げる」という事について。
これは要するに、「自分が取れる選択肢や、所属するコミュニティを増やしておく」という事です。
自分の世界(選択肢)を広げることで、「今いる会社」が自分にとって唯一の場所ではなくなるのです。

そうすると「会社でミスしたけど、所詮はたくさんある中の1つの場所でしかないし、大したことないな」
と思えるようになってきます。

これが、「悩みを相対化する」ということです。
という感じで、「今の会社」に固執する必要性がどんどん小さくなっていきました。
多少のミスや悩みがあっても、それによって精神を消耗することはほぼありません。


悩みそれ自体を消さなくてもいい

ポイントは、「悩み自体を無くそうと頑張らない」こと。
それを目指すと精神が消耗します。
あくまで「自分の世界を広げることで悩みを相対的に小さくする」のであって、悩みがゼロになるわけではありません。
でも、それでいいんです。「自分には他の居場所、選択肢がある」という後ろ盾さえあれば、今の会社であなたが抱えている悩みはもはや「悩み」でなくなります。
一度この感覚が理解できると日々の会社生活が(精神的に)もの凄く楽になりますよ!


まとめ

会社の悩み事で消耗しないための思考法、それは自分の世界を広げて、悩みを相対化することです。
「悩みを消す」のではなく、「色んな事に興味を持って、それに取り組む」という事をしていればストレスが無くなるっていうんですから。
飽き性で様々な事に手を出してしまう自分にとって、非常に価値ある思考法でした。

まずは世界を広げるための第一歩として、
新しいことを学んでみる
新しい人に会ったり、コミュニティに所属してみる

というのをオススメします。
この思考法を利用して、会社のストレスで消耗することから卒業しましょう。



合否を決める面接のポイント



ポイント1. 自分の考えはどうでもいい。相手企業が欲しい回答を渡すだけ。


少し刺激的な表現をしてしまいましたが、要は「相手の気持ちになって物事を考える」ということです。

当たり前のように聞こえるんですが、意外とこれができていない人が多い。
「この人、うちで使う言語が変わったりしたらすぐ辞めちゃうかも…」と思われた時点でアウトです。

「相手が」職務経歴書を見て、自分を面接の場に呼んだのはなぜか?「相手が」入社後の自分になってほしいと思っている姿はどういうものか?

といったことをきちんと考えられれば、自ずと質問に対する回答も決まってくるはずです。

主語は常に「相手」であって、「自分」ではありません。


ポイント2. 今現在の能力よりも、成長の角度をアピールする

現場未経験OKの採用面接の場合、あなたが高いスキルを持っていないことは企業側も分かっています。
なので、 アピールすべきは「今現在の能力」ではなく、「成長の角度」です。

簡単に言えば、「普段からこんなに勉強してますよ!」というのをひたすらアピールするということ。

自分を育てる教育コストを低く見せるのが大切です。
要は、(実際にそうかは別にして)「成長スピードが早そう」と思ってもらうことができていたわけです。

「普段どういう勉強されてますか?」という質問は現場担当レベルの面接で頻繁に聞かれるので、上で紹介したようなアピールができるよう、きちんと準備をしておきましょう。


最後に

過去の自分みたいに今いる会社に不満があったり、辛い思いをしているけど環境をなかなか変えられない人って思ってるよりもたくさんいるんだという事に気づいたんですよね。

そういう人が現状から抜け出して、しかも、独立によって豊かになっていける手段の一つに「Webエンジニアへの転身」があると考えています。

一連の内容を知っておくだけでも、”稼げるエンジニア”になるためにクリアすべき第一の壁「Webエンジニアへのキャリアチェンジ」を突破できる確率はぐーんと上がっていると思いますよ!