まったく向いていない人もいるし、あまりにも辛すぎるならあきらめてもいいです。うつ病になる未来しか見えないなら手を引くのが大人の選択というものです。
ところが、普通はエンジニアを目指した時点で、それなりに適性があるものです。人は自分にまったく向いていないことを目指そうとは思わないからです。
イヤなことや辛いことは何をやっても少しはあるものです。ですが、金メダルを目指すような選ばれし者の戦いではありません。
だいたいの人はちょっとした考え方さえ身につければ、なんとかなるはずです。
挫折はテクニックとマインドで防げるので、そのコツを知っておくことが重要です。
挫折の原因はやりたくない気持ちを正当化することにあります。ですが、逆に続けるための気持ちや理由を正当化しておけば、挫折をさけることができます。
また、自分がうまく出来ないだけで将来も絶対うまくいかないと決めつけてはいけません。行動と改善を続け、成長すればいつか出来るようになると信じてください。
挫折やスランプは誰もが通る道で、結果や成長が実感できないことが原因です。それでも、行動と改善を続けることが大切です。
無理難題にぶつかることがよくありますが、そのときに無理難題を解決したり、うまくかわしていく気持ちの持ち方を理解しておくと役立ちます。
このような結果よりも自己成長に価値があるとする考え方を成長マインドセットと言います。
成功した起業家やスポーツマンの多くが持っているのが、この成長マインドセットですので、ぜひ身につけて挫折のない人生を生きてください。
時間がかかるものは時間がかかる
英会話なら3千時間、プロのピアニストになるなら2万時間かかると言われています。これは凡人でも天才でも同じです。
エンジニアの学習では、プログラミング言語ひとつなら、初心者は200~300時間程度、経験者でも100~200時間程度はかかるでしょう。
時間は学ぶべき知識の量や目標レベルによって変わりますが、200時間くらいはあれこれ調べながら演習問題やテストプログラムを作成し続けないと身につきません。
自己成長はなかなか実感しにくいですが、最低でもそれくらいは続けるしかありません。
成長を実感するテクニック
学習内容を細分化してノートなどに書き出し、それらを理解したという記録を付ける方法があります。○×△などの記号で理解度をメモしておくのもおすすめです。
これだけで小さな達成感を味わうことができ、同時に進み具合や苦手な個所を把握できるようになります。
簡単に過去を振り返るだけですが、これで成長の実感はかなり高まります。
うまくいかないのが普通
初めてやることがつまずかずにうまくいくことは少ないです。
プログラミングも環境構築もうまくいかない状態が続くなか、ひとつひとつ問題を解決して、最後にやっとうまくいくという作業になることが多いです。
うまくいかなくても当たり前のことなので、気にせずに問題解決に取り組み続けることがプログラミングやエンジニアの仕事だと理解しておいてください。
うまくいかなければ誰でもストレスがたまる。
そのストレスを乗り越えてこそのエンジニアだし、だからこそ高めのお金をもらえる価値があるんだ。
よくある挫折ポイントをさける
プロのエンジニアになっても、わからない、うまくいかない、デバッグできないということはあります。
プロには責任があるので意地でも自己解決しようとしますし、ダメなら同僚や上司などに相談するので挫折するようなことはまずありません。
若い人だと中にはある日引きこもって職場にやってこなくなる人もいます。
ですが、大人ですしそういう人はブラック SES で無能呼ばわりされてあきらめたとかそれなりに理由のある特別なパターンだろうと思います。
それでは初学者はどうかというと、大した責任もないので、わからない、うまくいかない、デバッグできないだけであきらめて挫折してしまうことがあります。
わからない、うまくいかない、デバッグできないとなると初学者は自分の能力や適性がないとして止める言い訳にしがちです。
ですが、実際には必要な知識が足りていなかったり、必要なことをやっていないだけのことが多いです。
探していけば原因や解決法が見つかるはずです。
自分の能力や資質のせいしにしても解決できませんので、それよりも必要な解決法を探す努力を続けてください。
エンジニアの仕事とはそういうものです。
検索力/調査能力を高める
エンジニアが扱う技術は言語もツールもインフラも誰かが作ったものです。
どれも公式ドキュメントや書籍、ネット情報などがあります。
それらから欲しい情報を探す力があれば大抵のことは自力で解決出来きます。
ですが、それが出来ないのが初学者というものです。
原因は、検索する言葉や概念が分からない、本は持ってない、公式ドキュメントの説明はよくわからない、英語は読みたくないなどです。
わからないことは誰でもあるので、そんなときに保留してまた後で検索したり、もっといい資料を探したり、誰かに聞いたりすることで対処していきましょう。
逆にそれらが乗り越えられれば自己解決できるようになると言えます。
検索や調査が続くのは仕方ないことだと開き直って知らない単語や概念をどんどん理解していってください。
わからないとか欲しい情報が見つからない原因は、それがこの世に存在しないか、そこに到達するのに必要な基礎知識や業界の常識などへの知識が足りないかのどれかのはずです。
幸いなこと検索力は続けていれば高めていけます。より細かいところまで調べてわからないことをつぶしていけば大丈夫です。
たくさん検索して欲しい情報や本質的な予想や分析が出来るようにしていきましょう。
エンジニアライフでは調査/検索がずっと続くのでなるべく早い時期にストレスを感じないように調査できるようになることを目指すといいです。
就職するとさらに上司やクライアントの意向、それまでに作られたプロジェクトの仕様、技術トレンドの変化なども理解していくことになります。
問題を早く的確に解決できるのが優れたエンジニアです。
そういうエンジニアを目指してください。
成長マインドセットを身に着ける
繰り返しになりますが、行動と改善を続ければ自分は成長し状況を変えていけると信じてください。
これを自分の信念や常識になるまで紙にでも書いていつでも思い出せるようにしておくといいです。
能力も性格も生まれつきのもので変えられないと思っている人がいますが、本当はかなりの部分が変えられます。
遺伝で7割決まるという説を誇張する人がいますが、それは自分に変わる新しい実力者が現れるのを防ぐため先行者が流しているネガティブキャンペーンのようなものです。
エンジニアオワコン説なんかもエンジニアが増えると困る人たちが流している情報のはずです。(単に注目を集めたいだけの人もいるでしょうが)
人は自分にメリットがないことはやらないですから、自分が得をするか誰かに頼まれて結果的に得をするとかいった裏があるものです。
ネガティブキャンペーンなんかに負けずに行動と改善を続けて成長していってください。
そう言われてもちょっとやそっとじゃ信じられないなぁ。
この成長マインドセットはビジネスの成功者たちも持っている必須の考え方だ。
これが信じられないなら努力はあきらめて死ぬまで負け犬人生を生きながらえればいいさ。
べつに負け犬にならないで普通に生きられると思うけど……
エンジニア的には低収入で貯金もできずに早めに職を失う可能性が高いぞ。
努力しないんだからスキルアップしないしエンジニアとしての価値も上がらないからな。
まぁ、やってればスキルアップも成長もできると思うから大丈夫かな。
問題解決法を学ぶ
プログラミング学習の目的はスキルアップなのでこの記事では学習が辛いときの対策を扱っています。
ですが、まず先に個々の問題に対処する方法を説明しておきます。
プログラミングが辛い原因のほとんどはプログラムがうまく動かないか設定などがうまくいかないことでしょう。
基本は全部のコードと設定、実装する内容がそもそも実現可能かなどをひとつずつ見直すことです。
すべてを自分の言葉で説明できるレベルまで謎をなくしていけばだいたいの問題は解決するはずです。
個別の問題ではなくもう少し大きな問題に対応するには答えを探すだけでなく学習方法やエラー解決方法も学んだほうがいいです。
さらに大きな問題や人生の課題などに取り組むときは問題解決法というのが研究されているのでこれを学ぶといいです。
網羅性を高め実現性や優先順を客観的に判断するのがコツです。
検索 問題解決法
なかなか成長しないプラトー現象
学習でも仕事でも続けていれば少しずつ成長していくはずです。ですが、そういう成長の実感が持てないことがあります。
その理由は成長は右肩上がりの直線ではなく緩やかな階段状になっているからです。
実際にはある程度経験値がたまるとレベルアップするゲームのような成長曲線になっています。
これはプログラミング以外の習い事やビジネスでもだいたい同じです。
ある程度頑張り続けると後からグーンと成長していたことを実感できるようになります。
エンジニア就職してしまえばSESでくすぶっているように感じてたけど転職サイトに応募したら年収600万のオファーがきていて驚いたといった感じになります。
これをプラトー現象といって勉強の先生やスポーツのコーチなどの間ではけっこう有名な話になっています。
誰にでも起こるので気にしないで行動と改善を続けるのが最善策です。
ですから、毎日少しずつ成長を実感しようとするのではなく、いつか一気に成長するはずだからまずはそこまで頑張ろうと思っておけば大丈夫です。
(もちろん効果的な学習方法などは工夫していくべきですが)
何十時間、何百時間と頑張っても結果が出ないときはさすがにやり方が悪い可能性があるのでやり方や目標などを客観的に見直しましょう。
世の中にはそのときの状態では絶対に出来ないこともあるのでちゃんと見極めないといけません。
やる気がでないときは目標を再確認
プログラミングだけでなくあらゆる取り組みをやるかどうかをやる気を基準にして決めるのはNGです。
やる気はそのときの気分にすぎないのでやりたくないときがあるからです。
人の気持ちや考え方は普通に矛盾しています。疲れや快楽原則などから何もやりたくなくなることがあります。
そのときのやりたくない気持ちを重視してしまうと何もできなくなってしまいます。
やめたくなったときにやる気をドーンと復活させてくれるのが目標達成したときの喜びを想像することです。
自分の成功イメージや周囲からの賞賛を想像してください。
そのときの満足感や充実感をなるべく視覚的にイメージしておくとより強いやる気が出てきます。
やる気を復活させたら行動と改善を習慣化するループに戻りましょう。
あらゆる取り組みや自己成長などの目標はそのときの気分にすぎないやる気なんかで決めるべきではありません。
そうではなくて確固たる目標や夢、その達成やそれを追う自分の価値などの理論や信念で決めるべきです。
目標は自分がなるべく良い事だとか自分の人生にとって大切で価値のあることだと思えるものにしましょう。
やっぱりそんな目標は達成しなくていいと思ってしまうと何も出来ません。目標とそのイメージはとても大切です。
エンジニアの職場では技術的に出来ないなら出来ないと上司やクライアントに伝えるのもプロとして大事な仕事です。
逆に出来るはずだと思ったことはちゃんとやり遂げないといけません。
出来るはずのことが出来ない状態はかなり辛いです。
日々のストレスは高まり夜眠るまで解決法を考えるような生活になりがちです。
ですが、そんな辛いときの辛さを減らすために日々の努力を続けているのがエンジニアの日常です。
勉強熱心なエンジニアというのは単に勤勉な人というより未来の危険を未然に防ぐ対策をしているしたたかな人であることが多いです。
中には単に技術が好きで勉強している人もいます。そういうレベルになればどこまでも成長していけるのでエンジニアにとても向いています。
しいていうなら、マネージメント系の仕事を頼まれたときに困るくらいです。マネージメント系が苦手な人はフルスタックエンジニアを目指すといいです。
スランプ
プラトーは成長や結果が急にやってくるということですが、スランプはそれまで出来ていたことが出来なくなることです。
エンジニアのスキルは論理的なので自分のコンディションに左右されることは少ないです。
仕事で急にスランプになることはかなり少ないでしょう。
あるとすれば仕事の見積もりや難易度の予測を間違えて難しい仕事を引き受けてしまったり、SESで無茶な仕事をやらされたときには、スランプに近い状態になるかもしれません。
ですが、これはスキル不足で困った状態になっているのでスランプとは違います。
他には家族の死などのショッキングな出来事の影響などで実力を発揮できなくなる可能性はあります。
世の中、自分の力ではどうにもならないこともあります。それでもだいたいは時間が解決してくれます。
日々の努力を怠らずに頑張っていればきっといい結果につながっていくのでそれを信じて頑張っていきましょう。
何かやるときは自分の力や影響力で変えられることとそうでないことを分けて考えるのが大切です。
自分に出来ないことは出来ないので無駄な努力に終わります。出来そうなことをやっていくのが人生というものです。
そうすることで実力や影響力が高まっていき出来なかったことが出来るようになっていきます。
大手のエンジニアのミスで製品を回収して何億円も赤字が出たとかあったろ?
そのエンジニアは出世の道は狭くなったろうが、別に赤字の分の代金を取られたり命を奪われるようなことはなかった。
その会社にはいずらくはなったろうが別の会社に移れば解決だ。
うまくすれば給料も上がるぞ。
つまり、人生なるようになるってことだ(笑
解決法やロジックを記録しておく
人は忘れていく生き物です。
自分が書いたコードも3ヵ月もすればかなり忘れてしまい、さらに半年もすれば他人が書いたコードのように見えるものです。
半年以降は「このコードなかなかよく書いてあるじゃないか」と思ったら自分の書いたコードだったりすることすらあります。
自作自演か!
時間がかかったり、わかりにくかったことをメモしておけば同じ問題が出たときに役立ちます。
ソースコードを保存しておいたり、自分のブログに公開しておくのもいいです。
解決に役立ったページのリンクをまとめておくだけでもかなり違います。
本に付箋を貼っておく手もあります。
人は紙に書くとその考えが頭から離れ脳のリソースを他に使えるようになります。
ですから、ルーズリーフに解法の本質的な流れなどを書いておくのもなかなかスマートなやり方です。
ロジック(アルゴリズム)が思いつかない
言葉や表現法を知らないために思いをうまく伝えられない状況は、プログラミングにおける正しいロジックの構築ができない状態と同じだと例えられます。
思いを伝えるためには、まず相手や状況を理解し、適切な言葉や表現を選ぶ必要があります。
プログラミングでも同様で、目的や処理を正しく分析し、適切な基礎文法や類似処理を使って必要な処理を実装していくことがロジックの構築につながります。
ロジック構築はプログラミングのだいごみのひとつです。様々な処理を組み合わせて最適なロジック構築を考えられるようになればそれ自体を楽しめるようになるでしょう。
知識不足を克服するには様々なロジックを学び、実際にプログラムを作りながら経験を積むことも重要です。
アルゴリズムに関する本やワークブックも参考になりますが、実際の実践や試行錯誤こそが成長の鍵です。
詳しくは次の記事で確認してください。
やる気を高める
基本的にやる気は気にしないほうが賢いです。やる気はそのときの気分にすぎないからです。
やる気のあるなしに関わらず目標のために行動と改善を続けるべきです。
目標は自分がいいと信じ続けられることにすべきだというのは先に説明しました。
まずはこれが一番大事ですが、やる気を高めて維持していく方法もあるのでこれもやっておくといいです。
人は周りの人から思っているよりも強い影響を受けています。
プログラミング学習を続けるなら同じように学習している人や仲間を見ておくとやる気が高まります。
一番いいのは学習意識の高い仲間に直接会って話すことです。人は人から影響を受けるので効果は絶大です。
とはいえ、いつもそうすることはできないでしょうから、TwitterなどのSNSで頑張っている人の様子を見ておくのもおすすめです。
人からやる気を分けてもらうイメージです。
YouTube の一緒に勉強する系動画を流しながら勉強する手もあります。
目標を宣言する
少しネタが古いですが「海賊王に俺はなる!」などと人に言っておくと本当になれるような気分になります。
人に言ってしまった手前、後から方針を変えにくくなるので逃げ道をふさぐ効果もあります。
人には自分の一貫性を保ちたい、矛盾したくないという心理傾向があるからです。
エンジニアの場合も同じなので目標を決めて周りの人に言ったり、紙に書いて日々確認しておくとやる気が高まります。
それだけでなく人の脳はやりたいことや自分の思いに最適化していく機能が備わっています。
それで無意識のうちに目標実現に役立つ情報にアンテナをはってくれるようになります。
より効果的な学習方法や先輩や成功者にも目がいきやすくなります。
他にもいいものを取り入れやすくなるので目標を宣言したり、自分の中で確固たる信念としておくことはとてもおすすめなやり方です。
試しに次のような目標を立てて紙などに書いておくといいです。
- エンジニア初学者なら「プロのエンジニアになる」
- ITトールハンマー(このブログ)なら「フルリモートフリーランスを増やす」
- 技術志向の人なら「CTOやテックリード、フルスタックエンジニアになる」
- ビジネス志向の人なら「自分のWebサービス作成や起業」
- 現実的な人は「年収1000万やFIRE、貯金1億円」
自分が本当に価値があるいいことだと思えるものを目標にして掲げ、いつかは誰かに話してみてください。
きっと理解してくれる人や協力してくれる人が見つかるはずです。
類は友を呼ぶというのはホントの話だ!
やる気を維持する方法
私がおすすめする考え方は「成長しているから目標に近付いている」と考えることです。
行動と改善を続ける以上は成長しているので「成長しているから」というのは本当のことです。
成長している以上は目標に近付いているはずなのでこれも本当のことです。
どちらも本当のことなので説得力があります。やる気を維持する効果も高いです。
こう考えておけばいずれ目標が達成できると思えてきます。
やる気が出たり集中力が高まる音楽
努力や勝利、元気さ、不屈の精神などをイメージさせる音楽を流すとやる気が出ます。
短期的なやる気よりも集中力を高めて行動と改善を続けることを後押しできるような音楽もおすすめです。
俺だったら暴れん坊将軍のテーマを聴くと盛り上がるな。
デーモン閣下がロッキーのテーマを聞きながら受験勉強してたって言ってましたよ。
今時の初学者には響かなそうな選曲だな。
同じ曲だとあきるからリラックスできる BGM とかでもいいだろう。
べつにおすすめする訳じゃないが、私だったら少林寺の修行中とかのたんたんと頑張る感じの中国語の曲が高まる。
修行が好きなのか?
まあ、プログラミング学習も修行みたいなもんだな。
学習環境を変える
自宅で集中できないときは図書館やカフェを使うのもいいです。
周囲の暗黙の目や自意識がやる気を高めてくれます。
人が集められばもくもく会もいいです。同じ目的の人の話を聞くとモチベーションが上がりやすいです。
優秀な人が来てくれれば教わることもできてお得です。
やる気をなくさない工夫
人は他人とくらべて自分が劣っていると思うとすぐにやる気をなくしてしまいます。
「自分は向いていない」、「自分の実力じゃ無理だ」などと思ってしまいます。
これを言い訳にしてはいけません。
上には上が、下には下がいくらでもいるのが現実です。
目立つところだけ比べると人の長所と比べがちなのでそもそも公平な比較になっていないこともあります。
世界最高のプログラマーを目指せば勝てる見込みのない天才たちがたくさん見つかります。
逆に下を見ればプログラミング学習を1日で挫折してしまったような残念な人もいます。
世の中には色々な人がいてそれぞれにそれなりの価値があるので単純に比べるべきものではありません。
とはいえ、人のことが気になるのも現実です。
どうすべきかというと、学習や仕事、人生全体でも成長マインドセットをもって自己成長を目的とすべきです。
昨日の自分よりも成長していればそれでいいのです。
成長さえ続けていけばいつか自分が望んだ自分になれるはずです。
自分よりも上の人を考えるときは、自分が元気でやる気のあるときに目標や成功事例としてながめましょう。
いい道しるべになります。
自分よりも下の人を考えるときは、自分が元気がなくて辛いときに不幸や失敗例としてながめましょう。
そういう人たちにくらべれば自分はまだマシなほうだと思えるのでまた頑張る力がわいてきます。
人は考え方次第でかなり変わるのでコツをおさえて自分の役に立つ考え方を身に着けておきましょう。
心や体力の限界には休息が必要
限界まで頑張るとそれなりに充実感や満足感がえられます。
スポーツなどは限界にチャレンジすることでパフォーマンスが上がっていくのでそれでいいです。
ですが、エンジニアのスキルは的確なやり方を知っていたり判断できることが大切なので限界まで頑張ることはあまり関係ありません。
エンジニアも限界まで頑張った末にスキルアップできる部分もあるのですが基本や知識や判断力なので限界までやればいいというものではありません。
「限界まで頑張ったけどダメだった」などとあきらめる言い訳にしないように注意してください。
本来は成長を目標とすべきなので限界までの努力よりも成長の効率アップに注目すべきです。
そもそも人の精神にも肉体にも限界があります。限界を超えれば誰でもそれ以上のことはできなくなります。
辛くなってきたら休んで回復しましょう。そのほうがパフォーマンスも高くなります。
体力の限界は毎日やってくるので夜にはちゃんと寝ないといけません。
睡眠不足は昼間のパフォーマンス低下と記憶の定着を阻害するので学習期間中は特にさけたいところです。
悪い姿勢を続けると腰を痛めやすいので姿勢も正していきましょう。
腰を痛めるエンジニアは多いのですが対策は筋トレが一番効果が高いようです。
イスや机をいいものにするより、筋トレの方がおすすめで次におすすめなのが姿勢矯正です。
栄養のバランスがくずれると病気になりやすくなり学習や仕事の効率も落ちるので食べ物にも気を付けましょう。
心が限界を超えたかどうかは気持ち的な辛さや倦怠感で判断できます。
やりたくないとか未来が見えなくて絶望感を感じてしまう原因は、ブラック労働のせいかもしれないけど、心が限界を超えている可能性がある。
心の休息には趣味や何か楽しいこと、リラックスできることなどに時間を使うといいです。
心をリフレッシュさせてまた頑張れる状態に戻してください。
エンジニアっていうのは長時間努力するよりサクッと仕事を片付けられるほうが偉いんだ。
そのために日々スキルアップにはげんでいるとも言える。
徹夜で頑張ったなんて自分から自慢するような話じゃないけど、自慢してる人がいたら当時の様子を聞いてみるといい。
逃げ出さずにやり遂げたことは偉いことなんだけど、後から仕様変更されたとか、致命的なミスが見つかったとか、スケジューリングのミスとか、人員不足とか、営業が初めから無茶なスケジュールの案件を取ってきたとか自慢にならない理由が見つかるはずだ。
そういう修羅場を潜り抜けてきた人たちは普段の仕事でもゆったりしたやる気のない感じの省エネ労働をしがちだ。
デスマは突然訪れるものだから普段からそれに備えて体力を温存してるんだ。
決してやる気がない訳じゃないから誤解しないように。
エンジニア経験のない社長とか営業とかは誤解してそうだな。
元気のないペットじゃないんだからムダに刺激してはいけない。
ポモドーロテクニック
エンジニアにおすすめなのはポモドーロテクニックです。25分活動して5分休むサイクルを繰り返すテクニックです。
人は疲れてしまうとなかなか回復しないので一度疲れてしまうとその日のパフォーマンスは下がったままになりがちです。
ポモドーロなら疲れをこまめに回復しつつ高いパフォーマンスを維持したまま作業を続けやすくなります。
デメリットは集中しているときでも作業が中断されることです。
ポモドーロではなく作業のタイミングがいいところで休むという方法もあります。普通の人はそうしているはずです。
それでもいいですが、継続を重視するならポモドーロは優秀なテクニックです。
トータルのパフォーマンスはポモドーロのほうが高くなりやすいはずです。
休憩自体は必要なので飲み物を飲むなどして作業を一旦止めるよう心掛けたほうがいいです。
作業を止めることでそこまでの進み具合を振り返ったり、もっといい方法がないか探したりもできます。
結果的に休憩自体は意識してとったほうがむしろ効率が上がります。
会話はうまくなれる
自分一人だけで出来るエンジニアの仕事は少ないです。あるとすれば小さなアプリ開発やアウトソーシングの受託開発くらいのものでしょう。
基本はチーム開発になるので最低限のコミュニケーション能力は必須です。
とはいえ、会話が苦手な人でも最低限の能力は身に着けられます。仕組みは分かっているのでスキルとして学んでいくことができるからです。
人から嫌われず、仕事で必要な会話に適切に受け答えできることが出来ればまず問題ありません。
それができるようになったら人から好かれたり、周りの人から信頼される人になることを目指すといいです。
最後は仲間を集めて起業して好きな開発をしてみんなが幸せになることに貢献してけるのが理想でしょう。
周りの人たちが冷たいとか、自分がさけられていると感じるような人は意識してコミュニケーション能力を高めておいたほうがいいわね。
人から嫌われたまま放置しておくと陰口を叩かれたり、仕事で足を引っ張られたりするから人間関係も意外と大事。
挫折対策
学習はトライアンドエラーが基本ですが、うまく出来ないときは誰でもやめたくなるものです。
そこをグッとこらえてネット検索したり本で調べたり、やっぱりムリだから保留したりして続けられないとスキルは身に着きません。
自走力や自己解決力こそがエンジニアのスキルだからです。
うまくいかない原因はやるべきことをやっていないか、そもそも出来ないことをやろうとしているかのどちらが大半です。
自分の性格や能力が向いていないという都合のいい理屈で逃げるのはやめたほうがいいです。
その理屈だと何もかも否定できてしまうので何もできません。
初心者ならまず間違いなくやめたくなる事態に出会います。その可能性はほぼ100%なので先に対策を教えておきます。
エンジニアのライフラインといってもいいので、やめたくなったときは思い出してください。
- そのときの実力で出来ることを全部やったら保留してよい
- メンター(有料/無料[知人])に頼る
- ガッツリ学ぶならスクールで講師や友人に頼る
- SNSで質問したり教えてくれそうな人を探す
- 最初の目標を思い出して自分を奮い立たせる
- 疲れているだけかもしれないので一旦休む
保留の件にしておくことは初心者には必須スキルといっていいでしょう。
とりあえず今出来なくても後で出来るようにしておけば大丈夫です。別の方法で出来ることもあります。
全教科100点満点を目指すような完璧主義で進める必要もありません。エンジニアにもスキルによって得意不得意があるのが普通です。
そもそも入門書にある技術を全部覚えても実務で全部使うことはまずないんだ。
使い道がよく分からない技術や機能もけっこうあるぞ。
で、数年後には使わないままその言語自体がすたれていったりもする。
状況に合った技術を的確に選ぶのがエンジニアの腕の見せどころだな。
ぶっちゃけ、細かいことはどうせ忘れるから後で思い出せるように機能リストを脳内インデックスに登録しておくくらいでいいだろう。
個別の処理を暗記するんじゃなくて本質的な流れや関係性を理解すべきだ。
まあ、普通のエンジニアならそのとき調べて対応できれば十分だな。
むしろ調べてすぐ対応できるほうがスキルが高い感じだ。
挫折対策は知り合いとかでもいいのでメンターに当たる質問に答えてくれる先生がいる状態にしておくのが一番安全でしょう。
有料の個人メンターを利用するのは抵抗のある人が多いでしょう。ですが、実際に使った人の満足度は高い傾向があるので意外とおすすめです。
うまくいかなくても誰かに支えられているとモチベーションも維持しやすくなります。
まとめ
自己成長マインドセットさえあれば人生から失敗や挫折はなくなります。
やってはいけないと思っていた失敗がうまくいかないことを確認しただけの実験や経験に変わります。
そうなれば失敗は挫折の原因にはならなくなるからです。
そもそも人は不可能なことは望まないものですから、それをやろうと思った時点である程度のチャンスがあると考えていいです。
年齢制限とか客観的に超えられない壁も中にはあるのですが、そういうものを除けば望んだことは努力次第で実現できる可能性が高いです。
エンジニアだったらフリーランスのフルリモートで収入と自由な時間を確保して人生の満足度を高めるというのはそれほど高いハードルでもないのでちょうどいい目標だと思っておすすめしています。
挫折さえしないで成長を続けていけばスキルや年齢なりの仕事はあるはずなのでチャレンジしてみてほしいです。
コメント