ta eis shoheiton

新卒入社後9ヶ月で適応障害・退職した男の、回復・社会復帰・プログラミング学習と日常。

エンジニアを目指して独学で心がけたこと

こんにちは、しょうへいです。

先日、実務未経験者から正社員のPythonエンジニアとして、スタートアップ企業でご採用いただけることになりました。そこで、これまでの過程をまとめた記事↓
独学者が実務未経験からエンジニアになるためにすべきこと
を書いたのですが、独学で意識すべきことって結構あるな、と思いつつ長くなったのでこちらで主なものだけ別記事にしました。

目次

  1. 開発を楽しんで学ぶ = 義務やタスク、勉強にしない
  2. 学習目的や計画も併せ持つことで、エラーに屈さない馬力も備える
  3. 勉強会やコミュニティに参加することで挫折を予防する
  4. 勉強会を利用して独学のやめ時を見極める

1. 開発を楽しんで学ぶ = 義務やタスク、勉強にしない


私は開発・学習を”遊び”だと意識的に認識するようにしていました。
エンジニアは、好きじゃないと続かない仕事なのかな、と思うからです。


エンジニアは休日も学習するのが当たり前で、そうしないと生き残れないそうです。勉強会や面接で出会ったエンジニアから、これを否定する発言を私は聞いたことがありません。ちょっと驚かせてしまったかもしれないので訂正すると、


もちろんオフの時間は必要ですけど、「社外の時間は全部オフ。プログラミングから解き放たれるんだ!」というような考えでは、エンジニアとしてやっていくのはしんどいかもしれません。


ということをお伝えしたいです。


プログラミングとの天性の相性に全部依存して好き嫌いを決するべきだとも思いません。
好きになる工夫だけじゃなくて、嫌いにならない工夫も必要です。


例えばエラーで辛くなった時は、本気で疲労困憊しきる前に、早々に拗ねて投げ出すのもいいと思います(仕事で許されるかは別にして)。喧嘩が続く気配のある恋人と少し距離を置くように。そうすると速やかに気持ちも落ち着いて、冷静にエラーに向き合い直して、問題を解決できるはずです。

2. 学習目的や計画も併せ持つことで、エラーに屈さない馬力も備える


とはいえエラーの連続は心理的に辛いです。プロのエンジニアもみんな辛いそうです。
そんな壁にぶつかった時に効くのは、エンジニアになる目的と学習計画などをアンカーにして踏ん張ることだと思います。


学習計画をガチガチに組む必要はないと思います。あくまでもゆるく。
新しく学ぶ技術であれば、どこでどんな未知のエラーが飛び出してくるか分からないですから、計画を綿密に立てるのは不可能だと思いますが、それでも転職計画と一体化した学習計画=プロダクト制作計画があれば、辛い時でも踏ん張れるはず。


注意したいのは、学習目的や計画を主体として学習を進めてしまうこと。
お仕事だとそういう考えは大事だと思いますが、独学中の、


「自分がプログラミングを楽しめるか」を確かめる=「エンジニアの素養があるか」を見極める


ことに適しているという利点を殺しかねません。


ある会社の面接でリーダーのエンジニアの方から、私の当時の現状を羨ましがられました。
「めちゃくちゃ羨ましいですよ。好きなものをなんでも、好きなだけ作れるじゃないですか!」
と言われたんです。
いつかそんな感覚にたどり着くことを目指して、とはいえ仕事で出会う”好きじゃないこと”を乗り越える馬力を併せ持ちたいものですね。

3. 勉強会やコミュニティに参加することで挫折を予防する


プログラミング挫折の最大の要因は、独学者の孤独さゆえなのではないかと思うほど、孤独の苦しみをよく聞きます。
“メンターを手に入れることが大事”という記事やツイートも見かけますが、正直、


「んなもんどこで見つけたらええねん?」


という気持ちです。今も。
いくら支払わないといけないのかも分からないし。効率いいのは分かるけれども…。


でもメンターがいなくても就職にたどり着けましたし、大丈夫です。
大事なのはconnpassなどのサイトで勉強会を見つけて参加すること。オフラインで会うことをオススメしますが、地理的に厳しいのであればオンラインでもいいのでとにかく繋がりを持ちましょう。初心者同士では具体的な技術を教え合うことはなかったのですが、学習や転職方法の情報交換ができました。
エンジニアさん相手にお話しすると、採用されるための要件とか、次に何をするのがオススメとか、いろんな情報をもらえました。オフラインで会ったことのないエンジニアさんにお話しするのはリスクもハードルも高いですし、勉強会の懇親会で対面して相談することをオススメします。


そして何より凄まじいのは心理的な効果です。

  • 初心者同士だと:不安を共有できるので安心できる
  • エンジニアさん相手だと:褒めてもらえるので自分の進歩を実感できる

これは本当に大事です。これだけでプログラミングをもっとやりたくなりますし。

4. 勉強会を利用して独学のやめ時を見極める


当たり前ですけど、独学は成長速度が遅いです。いたずらに独学を続けることは避けたい一方で、他方では、第一志望の会社に未熟なまま応募して不採用になることはもっと避けたかったりしませんか。
独学でメンターもいないと、どの段階で応募に踏み切るべきか決断できない恐れがあります。
私の場合は資金が底を尽きそうだったので応募せざるを得なかったんですが、内定が出た後から思えば、やろうと思えば1ヶ月は早く就職できたような気がします。


ですから、基本的には自作プロダクトを作ってしまったら、その時点で応募するのがいいと思います。


それでも心配ならば、勉強会で仲良くなったエンジニアさんに、プロダクトを見てもらえないかお願いしてみましょう。そこで「もう面接受けたらいいんじゃない?」というコメントをいただけたりすると安心なのかもしれませんね。ただ、もくもく会ならPCで見せられますが、立食の懇親会だとスマホで見れるようにしておいたほうが無難です。


私の場合、勉強会ではなく面接の場でお見せしましたが、結構率直に評価していただけました。ソースコードを見ながら「これも使ってる…基本的な部分は結構書けている。」という感じで。どちらかと言えば、どんな技術が使えるかを確認してもらうので、プロダクトのデザインや有益性は気にしないでいいと思います。

以上が学習上で心がけたことになります。

記事の書き方・コンテンツの内容への感想、加筆修正依頼とかありましたらコメントにてお願いします。お待ちしております。