挫折は自分の気持ちの問題なので、心さえ折れなければさけられます。
エンジニアならうまくいかず眠るまで悩み続けたあげく、布団の中でうまい解決法をみつけ、翌日試そうとすると全然間違っていて使い物にならなかったが、別の方法でなんとかなったという経験をしたことがある人も多いことでしょう。
ですが、「まだは何か足りないことや勘違いしてることがある」、「自分のスキルではまだ早いだけだ」などと考えて調査や試行錯誤を続け、ときには誰かを頼ったり、ひとまず保留するなどして自分の心を守っていけば大丈夫です。
気持ち的には目標達成を強く願い、ひとつひとつのことを客観的かつ厳密に対処していけば問題は必ず乗り越えられると信じることが大切です。
難しすぎることにチャレンジすると出来なくて挫折しやすいです。小学生が東大の過去問にチャレンジするようなことは学習効果が低いのでさけてください。
自分のスキルとやることの難易度は的確に分析できるようにしておきたいものです。
ですが、自分のスキルでは手に負えなくなってしまうこともあります。
そうなると「辛い」、「できない」、「やめたい」などと思ってしまいます。そんなときに役立つランキング形式の挫折対策集です。
実際の仕事では自分の手に負えないような難しい仕事を押し付けられることは少ないです。うまくいかないと仕事を頼んだ上司やクライアントも責任を取らされるからです。
ブラックSESの無茶な命令などでなければ大抵は解決法や対処法があるはずなのでこの記事で紹介します。
たくさん挙げておくので自分にあったものを探してうまく挫折をさけていってください。
普段はやめたい、やりたくないという気持ちを気にせず黙々と問題を切り分け最適解を探してくのがITエンジニアの通常業務です。
たしかに、やり始める前はやりたくない気持ちがわいてくることがあります。ところが、やり始めてみるとそんなことは忘れて作業に取り組めるものです。
なかには初めから不可能な要求をされることもありますが、そういうのは断るのがデキるエンジニアというものです。
エンジニアに必要なスキルは問題を切り分け自分が出来るすべての解決策を試すことです。
それでもダメならいったん止めて別の方法を探したり、言語やフレームワーク自体のバグなども調べてみてもいいです。
相談できそうなら詳しそうな人を探すのもいいです。
問題を適切に切り分け、出来ることは出来る、出来ないことは出来ないと言って上司やリーダーと相談しながら開発を進め信頼関係を築きつつキャリアアップを目指しましょう。
なぜ9割の人が挫折するのか?
エラーが出たり設定がわからずうまくいかないのが主な原因です。学習中の人はいったん保留して次に進んでいいです。
できなかったことはメモを取るなどして覚えておいて、あとでスキルアップしてから対処できるようになっていればいいです。
職業エンジニアの仕事は基本的には思い通りに行かないものをいろいろ調べたり試してうまくいくようにする作業です。
うまくいかない原因を延々と探し続けるのが主な仕事といってもいいでしょう。仕事として引き受けたならできるはずのことはできるまで調べて試し続けるべきです。
仕様的にできないことが分かれば、やろうとしていたことが間違っていたということなのでそれはそれで問題が解決します。
本の演習問題や上司の依頼がそもそも実現不能で間違っていることもあります。
初心者は保留、仕事として引き受けたときはできない理由がはっきりするところまで問題を切り分けて分析していけば大丈夫です。
ベテランになると「この方法は時間がかかって効率が悪いから別の方法でやらせてほしい」などと交渉できるようになるので覚えておきましょう。
多くの仕事は目的が達成されれば方法にはそれほどこだわらないので代案でも問題ないです。
覚えておくべき挫折対策ランキング
- 自己成長の事実を理解しネガティブ感情を否定
挫折やあきらめは気持ちの問題。才能や人格を否定しても無駄。自分がスキルアップを続けていける事実を思い出して、自分を信じられれば気にならなくなる。とはいえ、現実的な難問に直面したときは、今のスキルで解決できるか客観的に分析し、取り組みを続けるか、誰かを頼るか、断る、保留するかなど判断すればよい。
- うまくいかない原因を分解してはっきりさせる
うまくいかない原因は自分が知らないルールや事実にあるので、それを探して対処する。複雑なコードも個々の処理の集まりにすぎないので、部分が分かれば、いずれはすべて理解できる。部分の理解から全体の把握を目指せ。そもそも目的が間違っていることもあるので注意。
- X(Twitter)やSNSで様子を探る
実装方法やエラー対処法を技術記事で調べる前に、SNSなどで今現在のやり方が合っているか確認する。そもそも不可能だったり、誰もそんなやり方をしていないことがあるので注意。経験者に質問できればなおよい。
- うまくいかないのが普通 [初級]
開発はうまく動かないものを悩みながら何とかして動くようにするのが基本。うまくいかないからといってへこんだり、あきらめたりしてはいけない。ベテランでも問題が出れば手こずることがある。気にせずそういうものだと理解して取り組むこと。
次はベテランが思ったよりも苦労しながら開発している動画。 - 対話型AI(ChatGPTなど)に質問
とりあえず聞いてみるとそれなりの答えが返ってくるので参考にする。答えは間違っていることもあるので疑ってかかること。
- 問題を切り分けるスキルを高める [中級]
現状を分析して因果関係を調べ、解決策を考え、可能性の高い順に試していく。これがエンジニアスキルの本質。的確にやるべきことをやり、不可能な注文ならムリだと伝えるのがエンジニアの仕事。これが網羅的にできればスキル的には問題ないレベル。人生にも応用できる論理的思考の基本。
- わからないことは全部調べる [初級]
最初から完全に理解する必要はないが、わからない言葉や技術はネット・本・人から調べどんなものかは把握しておく。まずは人に正しく質問できるレベル、次は人に説明できるレベルまで理解しておく。謎のままにしておくとまた後でつまずく恐れがある。エンジニアたるもの自分の専門分野では知らない概念や技術用語がないようにしておきたい。
- エラー解析スキルも上げる [初級]
エラー解析も大事なスキルだと思って高めていく。とはいえ、エラーが出るとあきらめたくなるのが初心者というもの。エラーの英語メッセージが読めないなら翻訳サイトを使いなるべく理解する。そこまで自分がどんなコーディングや設定をしたか現状確認も大事。思い当たる解決法をすべて試してもダメならとりあえず保留で良い。スキルが上がってくればエラーが出ても「ふ~ん」と思うくらいで気楽に対処できるようになる。
- 環境設定は手こずっても仕方ない
マニュアルが英語だったり、手順書が古かったりすると意外とうまくいかないことがある。変な設定条件を知らなくても別に恥ではない。調べたり人に聞いたり出来ればよい。
- 意味や関係を理解すべき
学習ではコピペや暗記はあまり意味はない。その処理や設定が何のために何をしているのか、意味や目的などの本質を理解すること。その積み重ねでスキルアップできる。
- 成長するのは失敗したとき
もちろん失敗しなくても成長できるが、人の記憶に強く残り大きく成長させるのは大失敗の経験。失敗もエラーテスト(実験)だと思えば気にならないのでどんどん試していくこと。
- スキルが上がるほどストレスが減る [初級~中級]
うまくできないと辛いが、スキルアップすれば自己解決力が上がるのでストレスは小さくなっていく。学習も就職も最初が一番辛く後はどんどん楽になっていく。
⇒ スキルは積み重なる自分の資産 特化や相乗効果で賢く活かす
- 難問の保留 [初級]
一度つまずいてしまうと、いろんな方法を知っている経験者でも、頭を切り替えて別の解決法を思いつくには時間がかかる。そのとき出来る対処法を全部試したら、それ以上悩み続けても時間の無駄。悩むのは15分でよい。そもそも不可能なこともある。後で冷静に問題を切り分けて解決すればいい。
- 1000時間学習する [初級]
未経験からのエンジニア就職を目指すなら1000時間は勉強しておくべき。それくらいやらないと適性があるかどうかも分からない。できないことに苦しみ克服することこそがエンジニア学習のだいご味。
⇒ 時間は待ってくれない チャンスはどんどん減っていく
⇒ 【ゲーム診断】ITエンジニア適性診断【理論診断】
- やる気が出る方法を調べて試す [初級]
本当に限界までやったのか? 限界までうまくいく方法を試せ。結果はついてくると信じて論理的思考で粘り強く目的を追うこと。夢や魅力的な目的を持つことが最重要。大目的を紙に書くなどして毎日意識し、やる気が出ないときにすぐ思い出せるようにしておく。普段はやりやすい学習や情報収集をすぐに5分だけ始めるといい。初めてしまえば作業興奮でやる気がでるので続けやすい。これが習慣化できればそもそもモチベを維持する必要がなくなる。習慣化の次は時短を目指す。早いほうが偉いのがエンジニアの世界。人も動物なので休憩も必須。やる気の下がる誘惑/情報/考え方/人物から離れる。
⇒ エンジニアの職種/業種リスト(一覧)【どんな仕事があるの?】
⇒ これを学べ! ITエンジニアの学習ロードマップ[就職/転職用]
- プライドを持つべきとき [共通]
「自分がやるのだからできる」、「自分には目的を達成する責任がある」などと考えて行動を続ける。プライドは自己肯定感や責任感を高めて目的達成までの粘り強さを高めるのに役立つ。PDCA の継続戦略。
- プライドをすてるべきとき [共通]
意地を張って人に頼らなかったり、入門書を読まないのでは効率が悪い。結果的にできればよいので、使えるものは何でも使えばよい。自己成長できないことが最大の失敗と心得る。
- 学習目標を実力に合わせる [初級]
小学生が東大の過去問題を解こうとしても学びがなく成長できない。問題文の意味もわからないだろう。エンジニア学習も同じで難しすぎることにチャレンジしても効率が悪い。学習効率は実力より少し上にチャレンジするのが一番。学習効率を最適化していくという視点で学習ターゲットを決める。学習効率が悪いときは保留してやり方を変えたり、知人などに頼ってもいい。
- ロジックが思付かない/組めない [中級]
iPhoneも携帯電話にタッチパネルを付けただけのもの。アイディアはすでにあるものの組み合わせで出来ているので似たロジックを探して流用すればよい。あとは機能や目的を深掘りして何を優先すべきか、どの要件を入れるべきか考えれば必要なロジックが出来上がる。ロジックがうまく組めないときは最初の発想が間違っている可能性もあるので根本的に別パターンで組みなおすことを考える。
⇒ ロジックが思いつかない時に役立つ対処法【プログラミング】
- 再起動して試す [初級]
アプリなどの設定や連携がうまくいかないときはそれぞれを再起動するとうまくいくことがある。アプリなどはコールドブートと言って起動時にしか設定を読み込まないものが多いので再起動しないと変更が反映されないことが原因。あまり説明されてない初心者がおちいりがちなコンピューター世界の罠。
- その先に望む未来があるか確認 [初級]
目標設定が間違っていると無駄な努力をしてしまう恐れがある。人の望みは変わっていくものなので、やっていることに違和感を感じたら、目標となる職種や人物、それらに近付くために必要な努力が正しいか確認すべき。
- 初期設定など前提から疑う [初級][中級]
バージョンの相性や接続先、コーディングなら初期化など意外な部分に問題があることがある。初心者だけでなく中級者もやってしまいがちなミスなので要確認。デバッグスキルも高めておくこと。
- 休憩で生産性を上げる [中級]
デスマで徹夜ということもなくはないが、人は24時間は戦えない。休憩は必須。最適化を目指すといい。ポモドーロテクニックがおすすめ。ちなみにデスマでも実際には休憩時間はけっこう取れる(取らないと死ぬ)。
- タイプミスを疑う [初級]
初心者が一番つまずくポイントなので注意。全角/半角の空白文字(スペース)、ドット、改行などプログラム言語でも設定でも特別な意味があることがある。うまくいかないときはルールに従ったコーディングや設定になっているか、まずはタイピングミスを疑う。タイプミスが多いときは減らすスキルを検索。補完機能や変数名のコピペなどいろいろある。
- 学びは喜びと理解 [初級]
小さな成功体験でも脳内で快楽物質のドーパミンが放出されて喜びを感じることができる。なるべく感じやすくなるよう小さな成功でも少し大げさに喜ぶとドーパミンがでやすくなる。やってみてうまくいかなくても失敗ケースを学んだと思えば成功体験に変えられる。「頑張れた自分は凄い!」というように努力を習慣化して努力できたという成果を喜びを変えられれば上級者と言える。努力から心理的報酬をえるモチベアップ戦略。
- やりたくない気持ちを否定 [初級]
人間は本質的に怠惰。辛いときはやめる理由を考えるもの。単に疲れているだけかもしれない。ネガティブな気持ちを信じると何もできない。自分なら出来ると信じて黙々と答えを探し続ける。仕事として引き受けるようになれば、気持ちと関係なくやらざるをえなくなる。
- あらゆる可能性を試す [中級]
現状を分析して解決できる可能性のあることはすべて試す。ダメならいったん保留してもよいがいつか出来るようにしておくべき。
- 図や文章、数字でまとめ整理 [共通]
しっかり理解したいときには、そらでまとめて可視化すると理解を深められる。他人に説明したり、無駄な機能をそぎ落としたりするときにも役立つ。
- 就職はエンジニアライフの最難関 [初級]
多くの人のエンジニアライフで一番難易度が高いのが最初の会社への就職。これさえ超えてしまえば後は実務経験を積み上げることができるのでどんどん楽になっていくと信じて頑張る。
- 趣味やリラックスタイムも必須 [中級]
学習や仕事などメインの取り組み以外に趣味で自由な時間をすごしたり、リラックスして自分に戻れる時間がないとやめたくなったり精神的に不安定になる。これは誰でもそうなることとして経験的に知られている。遊んでばかりではダメだが、遊びのない人生は行き詰まりやすいので頑張ったご褒美として趣味や休憩時間の楽しみも意識的に持つべき。技術大好き人間は技術調査などから趣味のような喜びを得られるので例外。スキルアップを趣味にすればよい。
- 今、出来なくても大した恥ではない [初級]
簡単なことが出来ないのは恥だが、何か忘れていて出来ないくらいなら別に恥でもない。よくあることなので検索したり知り合いに聞いてもいい。何もかも自己解決する必要はない。仕事なら放置してはいけないが、結果的にできていれば問題ない。
(※ただし、上司やクライアントは自分が見聞きしたことだけでスキル評価をするのでミスは知らせないほうが得策)
- エンジニア学習は仕事を辞めなくても出来る [初級]
仕事を辞めても、初心者が長時間プログラミングを続けるのは精神的にきついいのでフルコミットは難しい。1日3時間の学習から試すとよい。退路を断つのは潔いが、エンジニア転職を目指すなら前職は続けていた方が就職のときに有利。辞めるなら1年くらいは生活できるよう貯金しておくと心に余裕ができてよい。
- 文法は暗記しなくてよい [初級]
エンジニアの現場では検索や書籍、公式のマニュアルなどが普通に見られる(金融系など一部例外あり)。別にすべて暗記する必要はない。学習ではどのような機能や処理があって何に使えばいいかという本質的なところを自分の脳内インデックスに収めておけばよい。ぶっちゃけ覚えてもどうせ忘れたり、一生使わなそうな機能もけっこうある。
- 分からないことが分からない [初級]
気持ちは分かるが分からないのは基礎知識や経験の不足が原因。言葉・技術・ツールなど分からないことはいったん全部調べてから解決法を探して試していけばいい。
- 教材や入門書は全部理解できなくてもいい [初級]
元々はいい内容だったかもしれないが、数年たつと古臭い情報になっていることもある。教材や入門書の内容にはそんなにこだわらなくてもいい。そもそも全部理解しても所詮は入門レベルなので後で理解できるようになっていればよい。
- プログラミング学習が辛い/やりたくない
ベテランでも知らない言語や技術を調べるときは面倒くさく感じる。初心者が辛く感じるのはしかたないことなので保留や休憩をうまく使ってスキルアップを目指すべき。やればやるほど楽になっていく、できることが増えていけばスキルアップして成長していけると信じるか、デスマ中のエンジニアのように無心、もしくは絶望の中でも最善をつくす境地で戦い続ける。
- 成長マインドを持つ [初級]
人の能力は遺伝がすべてではない。努力で成長できる。勉強や仕事の目的は自己成長だと考える。自分が成長し続ければいつか自分を誇れるエンジニアになれる。
- 問題解決法を学ぶ [中級]
問題解決法として解決のアプローチが研究されているのでこれ検索して活用する。問題分析や対策の網羅性・継続性・優先度などが重要。
- AI(ChatGPTなど)に聞く [共通]
人に聞けないことも聞ける。人生相談も出来る。答えは間違ってることもあるので正しさは自分で判断すること。これから流行ってくる新技術に触れておくという意味でも対話型AIには注目しておくべき。
- 時間をかけたほうが難易度が下がる
早くできたほうが偉いのがエンジニアの世界ではあるが、時間をかけたほうが楽なのも事実。時間を無駄にせず成長していけるならどんどん時間をかけたほうがよい。
- インターンシップやアルバイトは実務経験を積むチャンス [初級]
実力やポテンシャルが認められればそのまま採用されるチャンスもある。1ヵ月も働いたら社員にしてほしいと相談するのがおすすめ。通常の入社試験よりかなり難易度が下がる。なかなか就職が決まらない人には特におすすめの裏技。
- 他人ではなく昨日の自分と比較 [初級]
自分より若くて有能なエンジニアはたくさんいる。比較してやる気や自己評価を下げても意味はない。自分が一番になって自慢するのがエンジニアになる目的ではないだろう。昨日の自分より成長できていればいつか優秀なエンジニアになれると信じてスキルアップしていけばよい。
- 週21時間は勉強する [初級]
在職中にエンジニア転職を目指すみなさんは1日3時間、週21時間以上の時間を学習するのがおすすめ。これくらいやれば成長も実感できモチベも維持しやすくなる。逆に1日1時間しか時間が確保できない人は長期戦になるので効率が悪い。残業時間や週末の時間を調整するといい。
- 人から良い影響を受ける [初級]
人は他人から強い影響を受けるので見たり関わったりする相手は選ぶべき。エンジニア学習の挫折率は高いので初心者仲間の中には挫折組が出てくる。冷たい話だが彼らと関わるとやる気が下がる恐れがあるのでデキる人と関わったほうがうまくいきやすい。同じく悪口ばかり言っている人や楽しく遊んでいる人たちとも距離をとったほうがモチベやメンタルによい。目指す人物に近い人と付き合うのが理想。ネット情報や動画も同じ。
- 最善を尽くせば納得できる [初級]
知らないことや出来ないことを学ぶのは苦労する。だが、最善を尽くしていれば人生に納得できるし、よりよい人生に近づけていける。
- 結果は後からついてくる [初級]
頑張っても成長した実感が持てない初心者は多い。これは結果が確認できるまでに時間がかかるため。プラトー現象といって人の成長が直線的でないことが分かっている。努力を続けるとあるときドーンと成長していたことが実感できるようになるのでそれまで待つこと。
- 人はあきらめるまで負けない [初級]
負けたいなら今すぐあきらめて負け犬人生を送ればいい。だが、逃げた後も人生は死ぬまで続いていく。人生の可能性も死ぬまでなくならない。何をするにも人生は今が一番若く、一番大きな可能性がある。逆に観念して勉強して自己成長にかけろ。
- 耳学 [共通]
学習や仕事に関する音声ニュースなどを移動中や作業中にチェックする。情報収集しつつエンジニア意識を高めることができる。
- 技術を使うのがエンジニアリング [初級]
ベテランになれば本を読んだだけでもスキルアップできるが初心者には難しい。初心者は読むよりも実際に処理を動かしてどうなるか理解したほうがスキルアップできる。本を読んでから処理を試すよりも処理を試しながら本を読むくらいがちょうどいい。動画を見たりインプットは勉強した気にはなるがあまりスキルアップできないのでアウトプットをメインにすべき。
- 覚えられない [初級]
技術は仕組みを理解して使うもの。覚えるのではなく使ったほうが身に着く。プログラミングできない本などの情報を覚えるには何度も繰り返し読んだり、人に説明すると記憶に残りやすい。用語をすぐ忘れてしまったときも覚えるまで何度も検索すればいい。一度ですべて覚えられるほど人の頭はよくない。反復が基本。
- 完璧主義の罠 [初級]
いつか優秀なエンジニアになるため頑張り続けるという完璧主義ならよい。だが、特定の問題や実装が出来ないといけないと思うような完璧主義はよくない。なかには仕様上絶対にできないことや、環境設定や状況で絶対にできないこともある。いったん保留スキルも大事なエンジニアのスキルと心得る。もちろん出来ないことは上司などには早く伝えておくべき。上司も対策を考えないといけないため。
- 本気になれない [初級]
自信・目標・継続力がないと本気になれない。やればできると信じて、目標をもち、あきらめグセをなくすよう努力すべき。エンジニアに就職してしまえば本気とかやる気とかは関係なく仕事の契約としてやらないといけなくなる。本気になれないのは覚悟を決められない初心者の言い訳。
- 後で役立ちそうなテンプレプログラムを作っておく [初級]
就職後に使いまわせそうなアプリなどの共通処理をテンプレ化して作っておく。自分用のフレームやライブラリ作成。スキル・モチベアップと実用性を兼ね備えた賢い戦略。簡単なゲームを作ってもよい。
- 言葉で説明できるまで理解 [中級]
そのコードや設定が何のために何をするものなのか他人に言葉で説明できるレベルまで理解すること。そこまで理解していれば問題点にも自分で気づけるようになる。
- 検索力を高める [中級]
検索を何度繰り返しても答えにたどり着けばよい。QAサイトを調べておいたり、欲しい情報があるジャンルや検索に必要な用語を理解していく。検索力は勘やセンスの世界でどちらも経験で高められる。たくさん検索してより早く価値ある情報を見つけ出すスキルを身に着けよう。
- 分からないことを放置しない [初級]
調べても分からないことをいったん保留するのはいいが完全に放置するのはよくない。初心者の場合はすべて理解しながら自走するのは効率が悪いので少し調べて分からないなら次に進んでよい。
- 星に願いを [初級]
「絶対に強強エンジニアになる!」など強く願うほどモチベーションを維持しやすくなる。流れ星を見つけた時にすぐに願えるくらい日頃から強く意識しておく。「そうなれないからやめる」などと完璧主義とネガティブ思考で否定しないように注意。いつか絶対そうなるので今はいったん保留して別のことをやると考える。
- 目標を宣言する [初級]
知り合いやSNSなどに目標を宣言しておくと、それを守ろうとする義務意識が生まれるので目標を達成しやすくなる。挫折しそうな人なら「絶対挫折しない、最初はポンコツだったとしても絶対エンジニアになる」とでも宣言しておけばいい。もちろんちゃんと守らないといけない。
- 作業時間の見積もりは長めにする [共通]
人間心理には計画の誤謬という認知バイアスがあり、計画達成にかかる時間を少なく見積もる習性がある。エンジニアだとおおむね3分の1くらい短く見積もりがちなので、逆に予想の3倍くらいかかると思っておくとよい。新規プロジェクトのスケジュールを確保するときにもこの理論が役立つ。
- 動画教材も試す [初級]
観るだけなので楽。体調が悪いときに勉強するのにも向いている。無料・有料の動画があるので気になるものは試してもよい。無料でもわかりやすいものもある。有料ならサンクコストでモチベアップ。
- 好きになるか好きな職種を探す [初級]
どんな夢の職業についても苦労はある。やりたくないことを全部さけることはまずできない。逆にポジティブシンキングで努力して好きになってしまえば多少の苦労も我慢できる。好みの職種を先に探して自分に合うと自覚しておけば挫折対策とモチベアップに役立つ。「好きこそものの上手なれ」は正しい。
- 低い目標がストッパーになる [中級]
「出来なくても仕方ない」、「エンジニア就職さえ成功すればいい」などと本気で思ってしまうとそれ以上頑張ることを妨害するストッパーになってしまう。自分の人生に上限を決めずにもっと上を目指すべき。
- 否定的な言葉をさける [共通]
脳には思いを実現すようとする機能がある。「エンジニアに向いていないかも?」と思うとその理由を自動で探してしまう。逆に「スキルアップすれば絶対エンジニアになれる!」と肯定的な考え方をしておけばそれに必要なことを自動で探してくれる。この脳機能を活用する。いわゆる言霊の活用。脳は思い以外の人生経験すべてに影響されるので会う人や見るWebコンテンツ、テレビ、映画などもポジティブなほうがよい。
- 言い訳を止めて出来る方法を探す [共通]
言い訳は否定と出来ない自分を肯定することにつながり自己成長を妨害してしまう。問題を切り分け本当に出来るのかどうか調べて出来る方法を探す。
- 何のための戦いかわからなくなる [初級]
「何のために生きているのかわからない」とはよくある中二病思考。止める言い訳になっていないか客観的に分析すべき。そのまま続けても将来的に望むものがないのであれば別の道を選んでもよい。だが、困難から逃れるための言い訳にしてはいけない。 - 簡単なことほど忘れやすい [中級]
最初にやっておくべき設定が間違っていたり、そもそもやり忘れていることがある。人間なのでヒューマンエラーが起こるのは仕方ない。最初から調べて原因を発見するスキルを高めておくこと。
- 本だけで勉強すると挫折しやすい [初級]
エンジニア系の書籍は説明不足なことが多く基礎知識のない初心者には難しいことがある。また実際の動きを見ないと理解しにくい。本で勉強するときは実際に動作させ、分からないところは検索しながらやること。中級者以上になれば本だけでもだいたい理解できるようになる。
- 人間関係がつらい [共通]
社長が体育会系、エンジニアが仕事の手を抜くのが怖いなどの理由でストレスを過剰にかけてしまう会社がある。リストラ工作として無駄にストレスをかけていることもある。そのようにわざとストレスをかけているのではない場合は、自分がコミュニケーション能力を高めることで人間関係のストレスは減らせる。ただし一度壊れた人間関係を修復するのは難しいので職場を変えたほうが早い。ホワイト企業を目指そう。自分がスキルアップして職場に貢献することでもストレスは減りやすくなる。
- 無断欠勤しない [共通]
どうしても休みたいときは体調不良などの理由を説明すれば休める。連絡せずに休むとエンジニア人生に大きなダメージがあるので必ず連絡すること。業務開始時間の直後か、緊急連絡先が決まっていたらそこへ連絡。急な連絡になるのでメールより電話がよい。電話する相手は直属の上司やリーダーにあたる人がよい。SESで客先常駐なら自社の受付か担当営業に連絡しておけばよい。実のところ1日休んだくらいで怒られるようなことはあまりなく、むしろ心配されやすい。スクールや人との約束も守れなくなりそうなら連絡すること。
- デスマで学べることもある
あえてデスマに飛び込む必要はないが、省エネ労働テクニックなどの長時間労働への対策やプロジェクトやスケジュールが抱えている問題分析などの学びもある。学びがなさそうならとっとと手を切ってもよい。社風やスケジュール管理能力の不足といった自分では対処できない部分に問題があるため。
- メンターやサロンに頼る [初級]
頼れる人が知り合いにいないならメンターやサロンに頼る手もある。ものにもよるがだいたいレスポンスが遅いのでいったん保留して別の作業を進めたり、別タスクも考えておくとよい。人に答えを求める他力本願型にならないように注意。次に学びたいスキルがあるときは経験者をメンターにして学習方法など1からアドバイスを受けるのもよい。
- がんばった自分をほめる [共通]
自分がどれくらいがんばったのか一番知っているのは自分。知識がひとつでも増えて成長できているならがんばった自分をほめる。するとドーパミンの快感でモチベアップできる自己完結型のモチベアップ戦略。
- スランプ対策 [共通]
頑張っても期待したほどの結果が出ないことがある。プラトー現象もそうだが、結果が出るまでに時間がかかることもある。そもそもやり方が悪いこともあるので長期間結果が出ないものは定期的にやり方と成果を冷静に比較すべき。結果を出すのに必要な時間はものによって違うのでこれも調べておくこと。
- 学習環境を変える [初級]
やる気や効率の上がる環境は人によって違う。静かな自宅、意識高い系の図書館や学習スペース、衆人の目があるスタバなど、自分に合った環境を探そう。
- 学習効率・生産性を上げる [共通]
思ったよりも時間がかかっていたり、自分が周りより遅いと感じたら効率アップ策を試していく。ケースバイケースなので適切な策を選ぶスキルを高める。時間短縮なら無駄なことを極力しないのが効果的。
- 手を広げすぎない [初級]
人気言語を10種も並行して学ぶようなのは効率が悪い。10種の言語を浅く理解しているエンジニアも大した需要はない。初心者は悩むだろうがいくつかの関連技術に絞って学ぶべき。中級者以上でも使い道のない技術を覚えても仕方ないので学ぶものは目的に合わせて絞るべき。
- 必要な学習時間が長すぎる [初級]
エンジニア学習には300~2000時間かかると言われている。時間としては長いが英会話なら3000時間、大企業の研修なら半年、義務教育なら9年といったように学習に時間がかかるのは当然のこと。専門職の学習時間としては特別長いとは言えない。何も知らない人が学習を始めてしまったとすれば気の毒ではあるが、調査不足でもある。
- ながら作業は効率が悪い [初級]
音楽を聴きながらやスマホでSNSをチェックしながらの作業は脳のリソースが分散するので効率が悪い。無音か自然音BGMなどでシングルタスクにして集中するのが一番よい。音楽は雑音の遮断やモチベアップに使うならよい。ラジオや動画の聞き流しは特に効率が悪いので単純作業をやるとき以外はNG。
- ムリな仕事を引き受けてしまったら早く伝える [中級]
出来るだろうと思っていたら、案外難しく手こずることがある。そのまま続けてもダメそうな可能性が高くなってきたら上司やクライアントに早めに伝えるべき。それが大人の対応というもの。文句は言われるかもしれないが間に合わないよりもずっといい。
- 体は壊れるものなので健康管理する [中級][上級]
体のどの部分でも限界を超えれば壊れる。長時間のデスクワークは腰を痛めやすい。筋トレや姿勢改善、食事などで健康管理する。手や肩も痛めやすいのでそれぞれ対策する。働けなくなれば終わりである。長時間労働に対処できる省エネ労働スキルもつけておくとよい。
- リーダーや技術部門のトップになると教えてもらえない [中級]
自分が一番スキルが高い状態になると相談しても大したアドバイスは期待できなくなる。独学に力を入れたり、問題や責任の切り分け、スケジュール確保術などマネージメントスキルも上げるべき。
- コミュニケーションスキルを上げる [初級]
不足を感じたら学んでおくこと。性格の影響もあるが基本的にはスキルとして学べる。他人に機嫌よく接し、会話が続き、好かれるようになることを目指す。嫌いな相手にムリに好かれる必要はないが上司やクライアントは仕方ないのでなるべく好かれるよう努力する。エンジニアは承認欲求が高いのでとりあえずほめておくのが無難。逆にけなしてしまうと後々まで恨まれて面倒なので注意すること。
- 会社や営業が勝手なことを言ってきたら反論する [中級]
勝手な文句を言うのはまずいが、正当な反論や自分の意見を言うなら問題ない。相手を一方的に批判するような極端なことはよくないが、自分がどうしても不満に感じることは早めに伝えたほうがいい。何も言わないと相手の判断や評価を受け入れたことになりがちなので注意。
- 得意言語がすたれたら次のを覚える [中級]
個人ではどうにもならないのであきらめて次にいく。とはいえ、基本的な考え方は使える。マネージメントやインフラのほうが比較的エンジニア寿命が長いが、技術の流行りすたりはあるのである程度はあきらめるしかない。技術にあまり依存しないSEを狙ってもよい。
- キャリアアップできない [中級]
設計やSEなどの上流工程、マネージメント職にキャリアアップするにはエンジニアスキル以外にコミュニケーション能力などの対人スキルが必要。人事に好まれる人柄や評価基準はほぼ決まっているので言語のように学習してしまえば高められる。技術系か管理系か、具体的にどのポジションを狙うか決めて必要な手を打っていくほうが効率的。ネットで会社を選べる時代なのでフリーランスSEなどそこそこのポジションを維持していく手もある。
- やりたくないところにチャンスがある [中級][上級]
自分がやりたくないことは他の人もやりたくない。あえて人がやりたがらないことをやることで、周りよりも一歩抜け出しスキル/キャリアアップできる。上を目指すなら人が出来ないことにチャレンジしていくべき。
- タッチタイピングができない [初級]
慣れの問題なのでキーボードを見ないで打つ習慣をつければ出来るようになる。その後はタイピングゲームを毎日15分もやっておけばスキルアップできる。だが、エンジニアの仕事は調査分析や設計、ロジック検討に時間をとられるのでタイピングだけが速くても仕事は早くならない。タッチタイピングは出来て普通のスキルだが出来ても大したことはない。そのうちできていればいい。
- 設計やマネージメントに回されコーディングできなくなった [中級]
戦国時代なら剣の達人が一軍の司令官に任命されて自分で剣を振るうことがなくなったくらいのインパクトがある。挫折感というより不満感が強くなる。だが、スキルがある人間こそがマネージメントをすべきなので致し方ない現実として受け入れるべき。どうしてもイヤならコーディングが続けられる職を探してもいいが、給料や報酬が低いのであまりメリットがない。コーディングは週末にでも趣味でやればいいが、必要なスキルが変わってくるから、たぶん、やらなくなる…
- エラーや分からない処理はコピペで検索 [初級]
楽で早い対処法。まさか知らない人はいないと思うが初心者がこれを知らないと詰む。それでもダメそうならQAサイトや公式マニュアルを検索したり人に聞く。本来は処理の意味を理解して対処すべきだがそこでやめてしまうよりはよい。
- コピペで使える答えを検索し続けない [初級]
ある程度まで検索して使える答えが見つからなかったときはちゃんと処理や設定などを分析して理解する。すべてが理解できれば問題点も分かり、やりたいことがそもそも可能なのか不可能なのかも分かる。
- 速いほうが偉いが保留も大事 [共通]
最速思考で対処すべき。だが、挫折リスクも高まるので保留スキルも身に着けるべき。本やネットで勉強してちゃんと理解してからやりたいという人も多いだろうが、エンジニアも仕事なので速くやってしまったほうが喜ばれるし評価もされる。検索アップやタッチタピイング、ショートカットなどを使いこなして速くできるエンジニアを目指すといい。
- 好奇心がなく検索が嫌い [初級]
これは例外的に挫折してよいパターン。考えるのが苦手で向上心や計画性がなくおおざっぱな性格だとキツイ。なぜエンジニアを目指してしまったのか謎だが、性格的に向いていない。コンサルや上流工程だけなら何とかなるかもしれないが、そもそも技術系のエンジニアにはなれないだろうし、万が一なれたとしても本人も会社も不幸なことになる。知らないことや新技術に興味を持って検索していくのがエンジニアの通常営業。家族などに無理やりエンジニアにさせられそうな人はこの記事を見せていっしょにあきらめてもらうのがおすすめ。また人として心配なので人並みの好奇心・検索力・論理的思考力くらいはこの際身に着けておくといい。
エンジニア挫折関連の話題
エンジニアの挫折率は9割ってホント?
この数字は独学での挫折率のことです。とあるスクールが調査した結果でも近い数字になっています。私の体感でもそれくらいと思われます。
この数字からも独学という自由にやめられる環境ではだいたいの人があきらめてしまうことがわかります。
学習サービスやスクールなどで学習方法が違えば違う数字になります。また就職・副業・趣味・大学の授業など目的によっても変わるおおまかな数字です。
実は挫折という言葉の定義によっても変わるので調査としてはブレ幅があります。完全に断念したのか、一時的に中断しただけなのか、そもそも入門書を買っただけで何もしてないとかいろいろなパターンが考えられます。
SE(システムエンジニア)のつらいところは?
SEは開発業務の上流工程にあたる設計などの仕事を担当するエンジニアのことです。システム要件や仕様をまとめる仕事で、主に対人交渉や文書作成を行います。
SEの定義はあいまいでいろいろなパターンがあります。プロジェクトによってはマネージメント、プログラミング、インフラ作業なども兼任することもあります。
人数が少ないプロジェクトクトではリーダーが全て兼任しつつ指揮をとるようなこともあります。
つらいところは他のプログラミング担当のエンジニアなどと同じものに加えてクライアントやプログラミング担当のエンジニア、外注先、上司部下などとのやり取りをする苦労が増える点です。
文書作成が主な業務となりプログラミング作業はまったくないことも多いです。
いわゆるサラリーマン的な立場になるのでプログラミングのスキルをアピールできなくなって、人間関係に苦労することが多くなります。
Python や各言語などの挫折率は?
言語別の統計などはないようなのでよくわかりません。言語の習得難度を参考に判断すればいいでしょう。
Python はデバッグ機能などが先進的なので Java や Ruby のフレームワークなどよりは学習しやすく挫折率も低いはずです。
言語だと C/C++ はメモリ管理やポインタの概念が分かりにくいので難度が高いです。挫折が怖いなら別の言語から始めたほうが無難です。
Java の挫折率は?
Java は C 言語に通信機能をつけてメモリ管理やポインタなどの複雑な処理を省略した言語で、C 言語の後継言語のような特徴があります。
C 言語よりは学習しやすいものの新しい言語に比べるとレガシーで難しい印象です。挫折率も C 言語の次くらいに位置しているはずです。
Web制作の挫折率は?
Web制作はいわゆる企業サイトやブログなどのいわゆるWebサイトを作ることです。プログラミングの他にデザインやネット、サーバーなどの通信技術なども必要になります。
これも統計がないのですが、エンジニアの技術としては学びやすい部類に入ります。
プロジェクトにもよりますが特別な機能のない企業の紹介サイトなどだと一人で作れるのでクライアントやデザイナーなどとの交渉力が重要になってきます。
学習は挫折しにくい部類に入るはずですが、実際の仕事となる営業力やデザインセンスなどに左右され、HTML/CSS はエンジニアが扱う技術としては癖がある割に面白みに欠ける部分があります。
ビジネス的には多くの仕事をさばくことで利益を上げるスタイルになりがちなので、就職後の挫折率は思いのほか低くはないのかもしれません。
エンジニアの大変なことは?
- 納期に追われる
- 残業/休日出勤が多め
- チームの人間関係が面倒
- 業務外に学習がとられる
- キャリアプランに必要なスキルが身に着かない
どれもホワイト企業ならあまり起こりませんが、ブラックになるほど大変なことが多くなりがちです。
ホワイトを狙うにはエンジニアとしての自分の価値を高めないといけないのでスキルアップしていけば解決していく問題ともいえます。
人間関係はコミュニケーションスキルを上げていけばおおむね対応できますが、残業などは企業の体質で変えられないので別の企業に移るしかないでしょう。
学習は業務中にしてしまえばいいのですが、もっと学んでおくべきだと自覚するようになるので結果的に業務外でも勉強が必要になってきます。
自分のキャリアプランに必要なスキルがうまいことその職場で身に着くといいのですが、世の中そこまで思い通りにはいきません。
職場を変えれば仕事でほしいスキルが身に着けられるので、将来性のない仕事をやっているときなどは真面目に職場変更を考えたほうがいいです。
文系エンジニアは挫折しやすい?
これは誤解です。挫折の原因は文系・理系とは関係ないところにあります。
国語や英語もルールに決まった論理的な学問なので文系科目でも理系科目でも論理性はそれほど大きく変わりません。
ただし、国語の問題を勘で解いていたような人はエンジニア学習では勘が働きにくいのでやりにくいと感じるはずです。
ですが、勘というのはそもそも経験則であり、実体験を増やしていくことで高められていくものです。
勘に頼っても経験が多ければうまくいくし、そうでなければうまくいきません。
では、どうして国語が勘で解けるかというと、子供のころから日本語を使っていて経験を積んでいるからです。
またエンジニアに必要なレベルの論理性は数学や物理学ほど基礎からの因果関係が強く、複雑でもないので理系出身でもエンジニアとして大きなアドバンテージがある訳ではありません。
プログラミングの挫折率は9割ですが、これは理系大学性も同じで独学者の多くは「プログラミングは難しい」と言って挫折しています。
このようにプログラミングやエンジニアの技術の世界は文系・理系で区別しているようなカテゴリーでは計れない分野になっています。
文系がダメだというのはプログラミングがうまくいかない人が辞める理由にしているだけですね。
例外として、ベクトルや統計などを直接扱う分野では理系科目として学んでいた人の方が有利になります。
文系出身だとそもそもそんな仕事には選ばれないのですが、高校レベルの基礎知識でもあったほうが有利になります。
そういう仕事はあらかじめ物理や数学の専門知識があることを条件にエンジニアが選ばれるので文系エンジニアが挫折する原因にはなりません。
文系なのに無理やり頼まれ引き受けると勉強しないといけなくなります。断るのが大人の選択です。
人生に残された時間はそれほど長くはないので何でも屋になるよりキャリアプランに特化したほうが有利です。
結局、教えてもらうほうが楽だが……
教えてもらえないと出来ない人にならないように気を付けてください。人に答えを聞く力よりも自己解決力のほうが大事だからです。
処理の仕組みを理解することや調べ方を学ぶことを心がけるといいです。誰かに教えてもらうならまずは調べ方を教えてもらいましょう。
就職後は先輩などに質問することもできますが、基本的に自己解決力が求められるので自己解決力をメインで高めておきましょう。
ついでに侍テラコヤさんから宣伝のオファーが来ていたので紹介しておきます。テラコヤさんも挫折対策に力を入れているそうです。
オンラインサービスで月額2980円からエンジニア学習が出来て掲示板での質問回答率100%、さらに回答時間も平均30分だそうなのでなかなかコスパがよさそうなサービスになっていました。
月3000円でメンターを頼むよりはいい対応が期待できそうです。何十万円もかかるヘビーなスクールに行く前に試すのにもちょうどいいです。
独学にこだわって挫折しそうな人も初心者なら下手なプライドは捨てて使えるものは使って解決してしまうほうが早いです。
⇒ 【PR】SAMURAI TERAKOYA|オンラインプログラミング学習サービス(侍エンジニア)
サービスを使ってみるかはさておき、初心者のみなさんは検索や質問がうまくできない人が多いはずです。基礎知識が少ないので質問するための言葉がよく分からないからです。
そういう人は知らない言葉をせっせと検索してそれを何と呼ぶのか理解することで基礎知識をつけていくといいです。(※いきなり深く理解する必要はない)
基礎知識を増やすことが検索や質問スキルを高めるコツです。基礎知識が増えてきたらそれぞれの関係性や分類を意識して頭の中の地図に書き込み整理していくとなおよいです。
具体的にはコンピューターサイエンスを1から学んでもいいですが、技術利用とはあまり直接的には関係がありません。
やはり知らない言葉や理解できないことが出てきたタイミングで、自分で説明できるくらいまで理解しておくのがおすすめです。
- 言葉や概念を知る(基礎知識を増やす)
- それぞれの関係性や分類を理解する
- 人に説明できるレベルまで言語化して理解しておく
これは論理的な思考ができるエンジニアに相談することを前提にしています。ですので、聞き方の言葉遣いよりも内容の理解を重視しています。
エンジニア以外の上司や営業マンなどに聞くときは普通に敬語やマナーなどに気をつけましょう。
早く挫折して次に進みたい人へ
楽に稼げる系は詐欺、養分にされるな
楽に稼げると思っていた人は早く挫折して次に進みたいと思っているはずです。楽に稼げる仕事が見つかるといいですが、そんな仕事はまずないです。
ほとんどは詐欺まがいのビジネスなのでだまされて養分にされないように注意してください。
楽に稼げる仕事があったとしても普通は家族や親せきなどにさせるので他人にノウハウや地位を譲ってくれるような人はいません。
まずは楽に稼ぐという考え方を改めたほうがいいです。
企業の採用試験などがなぜ行われているのか考えてください。大企業になると一人採用するのに何千万もの費用をかけていることすらあります。
それくらい人を選ぶのは難しいということです。
お金さえ払えば楽にもうかるノウハウを教えてくれるなどという話が詐欺でないはずがありません。
そもそも教えてしまえばライバルが増えノウハウの価値が下がるので売り続けることは現実的に不可能です。
仕事のスキルはそう簡単にはできないところに価値があるので、どの仕事でもスキルを学ぶには時間がかかり、そう簡単なものはないでしょう。
何をするにも時間や努力が必要な点はあきらめてがんばったほうがいいです。
それでも未経験から高収入を狙うなら、保険や住宅の営業ならチャンスがあります。
エンジニアを目指していた人のなかに、社交的で営業マンになりたい人はあまりいないでしょうが、一発逆転を狙うなら試してもいいでしょう。
就職できたが辛い新人エンジニアへ
真面目に頑張って、1000~2000時間の学習の成果が出て、就職したばかりのエンジニアのみなさんはかなりの苦境に立たされている人がいるかもしれません。
エンジニア就職を果たしてもエンジニア業界の末端にもぐり込んだだけの新人にすぎません。
職場のなかには子供のころからプログラミングをしたり、本に書いてあることは全部理解したりしているのではないかという博識な上司や、作業がやたらと早い人などを見かけることもあるでしょう。
そういう上級者にはそう簡単に勝つことはできません。彼と肩を並べるには何年もかかることでしょう。
これも普通のことなので気にせずスキルアップしていけばいいです。
エンジニア就職を果たした過去を振り返れば、目に見えない努力もいつかは積み上がり結果につながることを体験してきたはずです。
就職後はキャリアプランを考えてルートを選んで必要な技術や資格などを調べていってください。
プログラミング作業は40歳くらいでなくなってくるので注意が必要です。
どうしてもプログラミングスキルを活かしたいならフリーランスや副業で活かすこともできますが、満足できる収入が得られるかはよく考えたほうがいいです。
学習やエンジニアという仕事がとことんイヤになった人へ
辞める最後の区切りとしてこの記事を読んできた人もいるかもしれません。
何か致命的な問題が見つかったとすれば、それはしかたのないことです。堂々と別の仕事を探せばいいでしょう。
ですが、単に努力が出来ないという理由だけで他の仕事を目指すなら注意が必要です。楽にできる仕事は給料が安く将来性も低い人気のない仕事が多いです。
人気の仕事をするにはよほどの才能に恵まれたか、親戚のコネがあるなど運がいいか、地道に努力してスキルアップしていくしかありません。
才能に恵まれていればすでにそちらの道を選んでいるでしょうし、コネもあるならすでに頼っていたのではないでしょうか。
プロ野球のイチロー選手でも毎日かなりの努力を重ねて成功をつかんだわけですから、努力したくないというのは致命的な問題ともいえます。
どうしようと人生は続きますし、給料と将来性、社会的な評価も全部捨てても自分が納得できるなら好きな道を選べばいいでしょう。
それでも少しでもいい人生を望むのが人間というものです。しかたないのでとりあえず転職エージェントを使うことをおすすめします。
自分が望むほどよい仕事を探してみてください。別の仕事でも調査やスキルアップなどに時間がかかるので、成果を上げるには結局、努力が必要だと気付くことでしょう。
ですが、一番大事なのは自分が納得した人生を送ることですから、自分の人生の納得度や満足度という観点からよさそうなところを探してみてください。
コメント