キャリアに関する経験や参考図書

プログラミング未経験・30代の現実:無理なのか、それとも可能なのか?

私と同じ30代の皆様は、学生時代、エンジニアという職業に対してはオタクのイメージがあり、あまり魅力を感じていなかったのではないでしょうか。

時代が変わり、IT企業の社長たちがメディアで目立つようになり、エンジニアという職業のイメージが大きく変わりました。

そうなると、「やってみよう」と思う人も増えますが、「もう遅いかも」という不安も同時に生じます

この記事では、30代でプログラミングに挑戦した私の経験を踏まえ、プログラミング学習とキャリア転換の現実を深掘りしていきます。

この道を歩んだ一人として、現実的な視点と具体的なアドバイスを提供したいと思います。

30代プログラミング未経験者のキャリアチェンジを無理にする理由4選

30代でプログラミングの勉強を始め、エンジニアとしてのキャリアを目指す道は、想像以上に険しいものでした。

私自身、この道を歩み始めたとき、『未経験可能』、『高い平均年収』という言葉に魅力を感じました。

しかし、実際には、若い人たちが持つ柔軟性や時間的な余裕と比べ、30代からの挑戦はいくつかの特有の壁がありました。

  1. 年収が下がる:
    • 転職市場での初心者としての位置付けは、新卒並みの待遇を意味し、これまでのキャリアで築いた収入レベルを維持することは困難です。
  2. 時間に余裕が無くなり、犠牲を払わなくてはいけない:
    • 学習と仕事の両立は特に家族を持つ人にとって大きな挑戦です。
    • 自分の時間だけでなく、家族との時間も犠牲にしなければならない場合があります。
  3. やりたいことが出来ない:
    • 初心者としての出発点は、しばしば低いポジションからのスタートを意味し、自分の理想とする職種やプロジェクトに関わるまでには時間がかかります
  4. 育成環境が整っていない
    • 業界のプロフェッショナルたちからの辛辣な意見は、この分野の現実を浮き彫りにします。

これらの点をふまえ、エンジニアへの転職を検討する際には、これらの現実を理解し、それに応じた準備と覚悟が必要です。

それぞれの項目で私が体験した詳細を次で紹介していきます。

①年収が下がる

私自身の話を元に言えば、キャリアコンサルタントや企業の採用担当者は、新卒と同等、つまり年収約200-250万円程度のスタートを予想していました。

これは、初心者としての技術と経験の不足を反映したものです。

営業職であった私は、地元のプログラミングスクールに通い、転職活動に努めましたが、この条件でした。

私の場合、家族を支える立場であり、住宅ローンなどの責任もありました

短期間の貯金を切り崩すことで何とか耐えられるかもしれないと考えましたが、年収が元の水準に戻る保証はどこにもありません。

家族にも我慢を強いることになり、これが大きな不安要素となりました。

②時間に余裕が無くなる。

多くの企業での働き方は、長時間労働が前提となっており、私が面接を受けた企業の多くでは、以下のような時間的要求がありました:

  • 業務終了後も夜23時頃までの自己学習が求められる
  • 土曜日にも勉強会や追加の業務がある

実際に、業務を通じての学習だけでは不十分で、私生活の時間を大きく犠牲にすることが求められることがわかりました。

私は家族を支えるためにこの道を選びましたが、家族との貴重な時間を失うという現実は、私がなぜこの道を選んだのかという原点を見失わせました。

結局、家族との時間を大切にするため、そして自分の人生のバランスを取るために、転職への挑戦を断念しました。

③やりたいことが出来ない

私がキャリアコンサルタントから聞いた話によると、初心者はまずテスティングの仕事から始めることが一般的です。

知識の無い人に既存プログラムを触られて、壊されてしまっては、プロジェクトの進捗に影響が出る事が要因の一つです。

テストであれば、誰でもできる為、その業務で経験を積んで、そこから次のステップに踏むキャリアパスです。

つまり、自分が本当にやりたいと思っている開発やその他の専門的な役割に就くまで、長い時間がかかる可能性があります。

この現実は、30代でエンジニアに転職しようと考える人にとって、特に考慮すべき点です。

自分のやりたいことに到達するまでには、期待以上の時間と忍耐が必要になるということを理解し、それに対して心の準備をする必要があります。

④育成環境が整っていない

これは私自身がエンジニアとして就職した経験ではないものの、『Yahoo!知恵袋のようなQ&Aサイト』や『web系企業で営業として従事した経験』から育成環境の不備が読み取れることです。

Q&Aサイトから読み取れる事

初心者が、プログラマーになる為に何をやった方が良いかの質問に対する以下が教育環境を物語っています。

本当の上級者なら、こういう人見ると「頑張ってね、多少は応援するから」と好意的にみてくれますが、半端な実力者ほど、上から目線でマウント取って、無理だとか、使えないとか言い出します。

Yahoo!知恵袋

筆者の体験から読み取れること

私がweb業界で約5年間働いていた時、エンジニアの数が10人から400人に増える変化を目の当たりにしました。

この変化は、企業内のコミュニケーションやプロジェクト運営に大きな影響を与えました。

小規模な時は、営業からの意見すらほとんど受け入れられなかったのが、規模が大きくなると、もっと気軽にコミュニケーションが取れるようになり、現場の意見を反映したプロジェクトが立ち上がるようになりました。

この経験から、小規模の企業では周りにかまっている余裕が無く、大規模の企業であれば、多少の余裕は生まれる環境であるという事を感じました。

このため、本気で転職を考える初心者にとっては、最低限の知識や基本情報技術者試験のような資格取得が役立つかもしれません。

これらの資格は、少なくとも基本的な理解を持っていることを示し、育成環境の整っていない場所でも学習や成長の機会を得るのに役立ちます

30代プログラミング未経験者が直面する学習に関する困難

バグに躓くと迷路に迷い込んだかの如くの気分になります(Photo by Rafif Prawira on Unsplash)

30代でプログラミングの学習を始めると、その挑戦はさまざまな困難を伴います。

それは、以下3点が挙げられます。

  1. 勉強時間の確保が困難
  2. 実践的な課題:エラーの解消
  3. モチベーションの維持の難しさ

私は、中流大学を卒業し、30歳まで一貫して営業職に従事していた為、初心者からスタートするしかありませんでした。

その学習工程で感じた困難な点の詳細を次に挙げていきます。

勉強時間の確保が困難

日々の仕事を終えた後、家事や育児を手伝いながら学習時間を確保するのは一苦労です。

寝る時間を削るしか時間の捻出は難しいでしょう。

子供が寝た22:00以降から朝起きるまでの7:00迄のどこかでの睡眠を削って捻出するしか無いです。

但し、私はそれが出来ず、確保できた時間は以下の通りでした。

確保できた学習時間

私の場合、地元のプログラミングスクールに3年間通い、月に合計4時間30分(週3回、各1時間30分)の授業を受けました。

さらに、毎日の1時間の通勤時間を利用して月合計20時間ほど自己学習を進めていました。

学習で得られたスキル

この学習時間で達成できたのは、HTML/CSSを使用してランディングページを作成し、JavaScriptで動きを加える程度でした。

ポートフォリオとして提示できるのは、一ページのサイトを作成する程度に留まります。

クラス、変数、配列やリスト、オブジェクト指向のような基本的なプログラミング概念を身につけるだけでも、かなりの時間と努力を要しました。

一度、サイト制作会社でプログラマーとしての選考に進んだことがありますが、振り返ってみると、それはデザイナーに近い職種の募集だったと感じています。

この経験から言えるのは、30代未経験者が学習時間を確保し、実際に市場で競争力のあるスキルを身につけることは、想像以上に困難であるということです。

実践的な課題:エラーの解消

初心者にとっては、エラーとそのデバッグ方法の理解に多くの時間と労力が必要です。

エラー箇所に気づくことに、何度も同じプログラムを見たり、エラーメッセージが理解できないからです。

エラーメッセージが英語であることも、初心者にとっては追加の障壁です。

例えば、『単純なスペルミス』や『パソコンの環境設定の問題』など、些細なミスでもエラーが発生します。

エラーの解消には、しばしば何日もの時間がかかることがありますが、経験豊富なメンターであれば一瞬で解決できるものも、初心者にとっては大きな壁になり得ます。

このため、エラーの解消は、プログラミング学習における重要なスキルであると同時に、学習の進行における大きな障害でもあります。

モチベーションの維持の難しさ

長時間にわたる集中とコードの書き込みがあり、これはしばしば精神的な負担となります。

私自身の経験では、一度に3時間以上継続してコードを書くことは困難でした。

自分がこれをやりたいなどの目的がない中で、与えられた課題を元にプログラムを何時間も続けることが、苦痛になります。

このことから、お金や自由といった外的な目標だけでは、長期間にわたるモチベーションの維持が難しいと感じました。

プログラミングをパズルのように楽しむ心構え、または世界を変えるような大きな目的を持つことが、学習を続けるための強い動機付けになります。

プログラミング学習においては、技術の習得だけでなく、その背後にある情熱や明確な目的が必要です。

これらの経験から言えるのは、30代未経験者がプログラミングの学習やキャリア転換を検討する際には、これらの現実的な困難を理解し、それに対する準備が必要であるということです。

プログラミング未経験の困難を乗り越えるための戦略とリソース

35歳を超えると、エンジニアとしての転職はさらに困難になります。

情報習得のスピードやポテンシャル採用の観点から、企業はより若い候補者を好む傾向があります。

それは、給与や長期的なキャリア開発を考慮すると理解できることです。

しかし、このような状況でも乗り越えるための戦略とリソースがあります。

戦略

  1. どんな待遇でも受け入れる:
    給与面やハードワークを受け入れてどんな環境でも働くことを心に決めて転職する事です。
    そして、転職後にスキルを身に着けてから、『環境の良い企業への転職』や『やりたいポジションへの提案』を実施していく。
  2. プログラマーに近い職業へシフト
    社会人としての経験やビジネス面での提案能力を前面に出して、学んでいるプログラミングスキルを掛け合わせ、ディレクターやマーケターのような職種へ就く。
  3. 現職に残り、スキルだけ活かす
    転職を諦めて、今いる場所で頑張る。
    ただし、プログラミングの学習は現職で役立つことが多く、キャリアの差別化に寄与します。

私自身は、プログラミングの勉強を続けて営業からマーケターに転職しましたが、その界隈ではプログラミングを知っている立場として扱われて成果を生んでいます。

マーケティングも未経験でしたが、転職を達成させた経験を纏めています。

具体的には、以下の様な形で活用できています。

  1. HTML/CSS
    メルマガ作成時に装飾されたメールを作成して営業活動を行うことで、電話営業よりも広範囲かつ効率的にリーチ。
  2. JavaScript: Google Apps Scriptを使用して、Googleフォームの作成や自動返信メールの送信など、様々な業務を効率化、自動化します。
  3. SQL: 既存のデータベースから特定の条件に沿ったデータを抽出し、ビジネス提案のための情報を収集します。
  4. Python:顧客リストの管理など、Excel作業を効率化、自動化します。

これらの技能は、営業や事務職では少ないため、容易にキャリアの差別化を図ることができます。また、Salesforceやその他の新しいシステムの導入においても、これらの技能が役立ちます。

リソース

  • 現代のツールの活用: ChatGPTのような最新のツールを活用することで、ある程度のバグや技術的な問題も自分自身で解決できます。 これは、プログラミングの学習だけでなく、実務での効率化にも大いに役立ちます。

これらの戦略とリソースを活用することで、30代未経験者でもプログラミングの学習を生かし、自身のキャリアをさらに発展させることが可能です。

未経験からの成功事例とインスピレーション

プログラミング転職の成功事例を調べると、特に30歳前の個人の成功が目立ちます。

ホテル業界や美容業界、飲食業界など、多様な背景を持つ人々が未経験からの転職を成功させている事が見受けられます。

これらの事例から分かるのは、年齢よりも、個人の目標やプログラミングへの情熱が転職成功の鍵であることです。

金銭的な目標ももちろん重要ですが、それだけではなく、プログラミングに対する真の興味や情熱が成功への大きな要因となっています。

成功事例のポイント

  • 明確な目標: 成功した人々は、何か特定のことを達成したい、またはプログラミングが好きで追求したいという明確な目標を持っていました。
  • 情熱と覚悟: プログラミングを仕事にするためには、情熱とともに、学習やキャリア転換に対する強い覚悟が必要です。
  • 柔軟性と適応力: 転職は、特に独り身で失うものが少ない人にとっては、よりリスクが少ないチャレンジです。しかし、同じような境遇の人でも、個人の懸念点を受け入れ、それを乗り越える柔軟性が求められます。

https://www.geekjob.jp/be_engineer/pg/success-summary/(参考情報)

学びと今後の行動

この経験から私が学んだことは、時代の流れを正確に読み、それに合わせて行動することの重要性です。

高校時代にエンジニアという職業がどのように捉えられていたか、そして現在どのように変化しているかを振り返ると、時代に適応する能力がいかに重要かがわかります。

これを踏まえて、今後は5年後、10年後を見据えた行動を取り、新しい技術や世界情勢について学び続けることが、私にとっての目標となります。

結論と読者へのメッセージ

プログラミングスクールの広告がうたう高い転職率や平均年収に惹かれて、多くの人がエンジニアへの転職に夢を抱きます。

しかし、実際には、エンジニアリングの世界は実力が全てを決定する厳しい環境です。

音楽業界や格闘技の世界と同様、平均年収はトップクラスの人々によって引き上げられているため、数字だけを見て判断するのは危険です。

プログラミングスクールを卒業するだけでは、自動的に成功するわけではありません。

実力をつけ、市場での立ち位置を確立することが必要です。

また、副業としてプログラミングを始めるのは非現実的な考えであることが多いです。

特に初心者が直面する競争の激しさや短い納期などは、簡単に克服できるものではありません。

日本の環境では、プログラミングは専門家や熟練者向けの分野であり、簡単に参入できるものではありません。

しかし、それでも数字に惑わされずに、自分のキャリアを築く道は存在します。

私の経験では、プログラマーとしてではなく、ディレクターやマーケターのようなポジションが適していることが多いです。

これらの役職は、プログラミングの知識とビジネススキルを組み合わせることができ、プログラマーとしての技術がなくても成功することが可能です。

最終的に、私自身はプログラマーになることを諦め、マーケターとしての道を選びました。

これは、プログラミングの知識とビジネス面でのスキルを生かすことができる選択でした。

プログラミングの学習は価値がありますが、それをどのようにキャリアに活かすかは、個々の状況と目標によって異なります。

プログラミング学習を始めるすべての人にとって、この経験が、自分自身のキャリアパスを見つけ、時代の流れに適応する上での一助となることを願っています。

仕事をするには身体が資本。健康も大事です。

-キャリアに関する経験や参考図書