「未経験からプログラマーになるのは厳しい?」
「未経験プログラマーは最初の3年がきついって本当?」
「きつい思いをしてまでプログラマーになるメリットは?」
先に結論を書いてしまいますが、どんな仕事もそうですが、未経験でいきなり活躍できるほど"あまい"世界ではありません。
特にプログラマーは前提となる基礎知識が多くハードルが高いと思います。
この記事ではそれでもプログラマーになりたいという方向けに、未経験者や初心者プログラマーが特に気を付けるべきポイントについてご紹介します。
プログラマーの仕事とは?
まず、プログラマーはどんな仕事なのか確認しましょう。
プログラマーとは、システムエンジニアが作成した設計書に従い、コンピューター上で動くソフトウェアを作成する仕事です。
コンピューターに指示を出すための命令を書く行為を「プログラミング」、プログラミングに使用する命令を「プログラミング言語」と呼びます。
プログラミング言語を駆使し、ソフトウェアをプログラミングするところから、「プログラマー」と呼ばれます。
システムエンジニアとの違い
システムエンジニアは、要件定義や設計といった上流工程を担当する仕事です。
クライアントの要望をシステム化するための具体案を検討します。
家づくりをイメージしていただけると分かりやすいと思います。
家の設計図を作る建築士がシステムエンジニア、設計図通りに家を作る大工さんがプログラマーといった感じです。
補足
実際にはシステムエンジニアとプログラマーの境目があいまいな会社が多いです。
特に小さい会社ほどその差が小さく、プログラマーであっても上流工程を担当させられることがあります。
(経営者がシステムエンジニアとプログラマーの違いを正しく理解してないこともよくあります)
プログラマーはプログラミング知識だけでなく、上流工程についてもある程度の理解が必要となります。
プログラマーの仕事が"きつい"理由
特に未経験プログラマーが「仕事がきつい」と感じる主な理由は以下の通りです。
- プログラミングができない、難しい
- 新しい技術についていけない
- 残業、休日出勤が多い
- 客先常駐での仕事が多い
- 給料が安い
プログラミングができない、難しい
プログラマーを目指すからには、もともとコンピューターやプログラミングが好きで勉強してきた人が多いと思います。
最初は大学やプログラミングスクールのような学校や、専門書などでプログラミングを覚えたことと思います。
ただ仕事で行うプログラミングは、教科書レベルとは比べ物にならないほど複雑で高度なものが多くあります。
実際に業務に入った際、「プログラムが組める」という自信が打ち砕かれ、つらく感じてしまうかもしれません。
新しい技術についていけない
IT業界は非常に進歩が速い世界です。
特にプログラマーのメイン道具となるプログラミングは、毎年のように新しい手法や技術が出てきて、そして廃れていきます。(もちろん、廃れずに残るものもあります)
「新しい技術やソフトを覚えるのが大変」「選択肢が多すぎてわけが分からない」と感じる人は、きつく感じてしまうでしょう。
残業、休日出勤が多い
「プログラムがうまく動かない」
「不具合の原因が分からない」
プログラマーの仕事はこのような理由で予定通りに進まないことがよくあります。
しかし納期通りにモノを仕上げないとクライアントに迷惑がかかるわけで、このようなトラブルのしわ寄せが「残業」「休日出勤」として表れます。
特に未経験者の場合は技術、経験ともに圧倒的に不足しているため、長時間労働になりがちです。
長時間労働による肉体的疲労、(予定通りものができないことで)「チームの足を引っ張っている」と感じる精神的なストレスできつく感じてしまうことがあります。
「プログラマーは最初の3年がきつい」と言われる主な理由はここにあると思います。
客先常駐での仕事が多い
システム開発は大きく、ゲームソフトや会計ソフトのような一般向けに販売するパッケージ製品の開発と、クライアント専用のWebサイトやシステムを開発するオーダーメイドとに分かれます。
補足
近年はパッケージ製品を購入し、自社に合わない部分をカスタマイズするセミオーダーのような開発スタイルが多くなっています。
オーダーメイド開発はクライアントの機密情報を扱うことがあり、そのような場合はデータの持ち出しが許可されず、必然的にクライアントの会社に常駐しながらの作業となります。
それ以外にも「仕様変更を速やかにシステムに反映するため」などの理由で客先常駐を求められることもあります。
「在宅勤務OKだったから入社したのに……」「自宅近くの会社だから良かったのに……」と場所的なメリットを感じている人ほど、つらく感じてしまうと思います。
給料が安い
IT業界は典型的な下請け構造の業界です。
クライアント→NECや富士通などの大手ベンダー→子会社→孫会社や外注という流れで、開発費が徐々にピンハネされていきます。
プログラマーは製造担当ですので、ピラミッドの一番下に位置することが多いです。
そのため、給料も必然的に大手ベンダーや設計担当であるシステムエンジニアより下になることがほとんです。
プログラマーの平均年収は426万円。日本の平均年収が430万円ですので若干低い傾向にあります。(※平均年収.jp 調べ)
さらに未経験者の場合、最初から高単価は望めませんのでこれよりさらに年収は下がります。
「残業が多くて、覚えることが多くて、プログラミングも大変で……でも安月給!」と感じる人はきつくと感じるでしょう。
"きつい"だけじゃない! プログラマーのメリット
きついことが多いプログラマーですが、もちろんプログラマーの仕事にはメリットがあります。
- "超"売り手市場
- キャリアパスが広がる
- 食いっぱぐれない
"超"売り手市場
経済産業省の調べでは「IT人材は2030年には最大で79万人不足する」と発表されています。
現在進行形でIT業界は慢性的な人手不足状態ですので、完全な売り手市場です。
「給料が安い」という理由を上述しましたが、経験を積んで転職すれば、このデメリットは解消できる可能性があります。
キャリアパスが広がる
プログラマーは経験を積むことでシステムエンジニアやITコンサルタントにステップアップしていくことができます。
さらに独立してフリーランスとして仕事を請けることもできますし、クラウドソーシングサイト(例:クラウドワークス )で副業ということも可能です。
自分でアプリを作って販売するのも良いですね。
プログラマーはIT業界の多彩な働き方の土台となる職業です。
食いっぱぐれない
プログラマーに限らずIT関係というのは不思議な業種で、実は転職できない業界がほとんど存在しません。
今やITは企業活動と切っても切れない関係です。
小さい会社でも会計ソフトのような事務系システムが最低一つはありますし、企業規模が大きいほどシステムの数が増えていきます。
そのため、業種、業界問わず「プログラマー募集」「SE募集」という求人があります。
世の中からシステムがなくなるということは考えづらいので、プログラマーは食いっぱぐれる可能性が非常に低い仕事と言えるでしょう。
プログラマーに向いている人、向いてない人
プログラマーは個人の性格や適性によって、向いている、向いてないがはっきり出やすい職業です。
適性がないと本人も周りもつらいだけになってしまうので、未経験からプログラマーになりたい人はしっかり確認しておきましょう。
プログラマーに向いている人
プログラマーに向いているのは、上述したような「きつい」と思うことが気にならない人です。
それ以外にも以下のような人はプログラマー適性があると言えます。
- コンピューターの仕組みに興味がある
- 論理的思考が得意、苦痛に感じない
- 新しい技術を覚えることが好き、抵抗がない
コンピューターの仕組みに興味がある
コンピューターがどうやって動いているか興味がある人は、プログラマー適性があると言えます。
ただ、学生に多いのですが「ゲームが好きだからプログラマーになりたい」というのは、少し考えた方が良いです。
例えば「弾が追尾する仕組みはどうなっているのか?」とか「敵の行動ロジックはどうプログラミングされているのか?」といった点に興味を持てる人はプログラマー適性が高いです。
ただゲームをプレイするのが好き、攻略するのが好き、というだけではプログラマー向きとは言えません。
論理的思考が得意、苦痛に感じない
論理的思考とは、「ものごとを筋道立てて考えることができる能力」のことです。
論理の破綻しない説明が得意な人、そういうことを考えるのが好きな人はプログラマー適性が高いと言えます。
プログラミングは論理的思考の固まりのようなものですし、お客様とのコミュニケーションにも重要な要素になってきます。
新しい技術を覚えることが好き、抵抗がない
IT業界は非常に進歩が速い世界です。
特にプログラマーのメイン道具となるプログラミングは、毎年のように新しい手法や技術が出てきて、そして廃れていきます。(もちろん、廃れずに残るものもあります)
そのため、常に技術力を向上させる努力が出来る人、新しい技術を覚えるのが好きで新技術に抵抗がない人はプログラマー適性が高いと言えます。
プログラマーに向いてない人
プログラマーに向いてない人の特徴は以下の通りです。
- コンピューターやプログラミングに興味がない
- 論理的な思考が苦手
- 自発的に仕事に取り組めない(指示待ち人間)
- コミュニケーション能力が低い
コンピューターやプログラミングに興味がない
コンピューターの仕組みやプログラミングに興味がない人は、プログラマーには向いてません。
この記事を読んでいる方の中には、そもそも興味があるかどうか考えたこともない人がいると思います。
そんな人は、まずは適当な初心者用のプログラミング本を少し読んでみてください。
それを読んで、「理解できる気がしない」「そもそもワクワクしない」という人は、残念ながらあきらめた方が良いレベルだと思います。
論理的な思考が苦手
論理的思考とは、「ものごとを筋道立てて考えることができる能力」のことです。
プログラムが論理的思考の固まりであるのはもちろんのこと、IT用語は難解なものが多いので、クライアントに分かりやすくシステムのことを説明するためにもこの能力が必須になってきます。
特に人にものを教える際、感覚でしかものを説明できないような人はプログラマー適性が低いと言えます。
自発的に仕事に取り組めない(指示待ち人間)
自発的に仕事に取り組めない、いわゆる「指示待ち人間」と言われるような人はプログラマー適性が低いと言えます。
プログラマーの仕事は「これを作って」と指示を受けるところから始まりますが、プログラミングはほぼ個人作業です。
プログラムは目に見えないため、「次はあれやれ」「これやれ」と周りが手取り足取り指示するようなことはまずあり得ません。
分からないを調べて(または人に聞いて)、解決して与えられたミッションをこなしていく、という能動的な仕事ができる人でないと厳しいでしょう。
コミュニケーション能力が低い
プログラミングはほぼ個人作業ですが、システム開発はチームで行うことがほとんどです。
そのため進捗報告や仕様の確認など、人と話すことは想像以上に多いです。
補足
人によってはプログラミングしている時間より打ち合わせしている時間の方が長い、ということもよくあります。
人と話すのが苦手だから「プログラマーになって黙々と仕事したい」と考えていると、つらい思いをします。
未経験者がプログラマーになるためには?
未経験者でもなることは可能ですが、正直大変です。
それでもプログラマーになりたい方のために、気を付けたいポイントについてご紹介します。
準備:プログラミングを覚える
プログラマーはプログラミングするのが仕事ですので、まずはプログラミングを覚えないと始まりません。
プログラミングを覚える方法は大きく2つです。
- プログラミングスクールに通う
- 独学
プログラミングスクールに通う
オススメ度 | ★★★ |
学習にかかる費用 | 50万円~70万円 |
学習期間 | 6ヵ月~1年 |
就職のしやすさ | ★★★ |
挫折のしやすさ | ★ |
本気でプログラマーを目指すなら、断然プログラミングスクールがオススメです。
費用は高額ですが、自分があきらめない限りほぼ確実にプログラマーになれます。
体系立ててプログラミングが学べますし、何より一緒にプログラマーを目指す仲間がいることが大きな励みになります。
卒業後は就職斡旋をしてくれるところも多く、そういうスクールを選べば転職もスムーズです。
独学
オススメ度 | ★ |
学習にかかる費用 | 1,000円~1万円(書籍代) |
学習期間 | 自分のやる気次第 |
IT企業への就職しやすさ | ★ |
挫折のしやすさ | ★★★ |
オススメしません。
必要な費用は書籍代程度ですので、安上がりに学習を始められますが、挫折しやすいです。
一番きついのが、先生役(質問できる相手)がいないことです。
特に学び初めの頃は、本の通り組んでもプログラムが動かないということがよくあります。
そういう時に教えを請う相手がいないと、それだけであきらめたくなってしまうでしょう。
分からないことは ココナラ で現役プログラマーの質問サービスを探して聞いてみるなど、独学と言えど誰かに頼る手段を持つことが大切です。
心構え
プログラマーとして長く活躍するために、プログラマーになる前に以下のような心構えをしておきましょう。
- プログラミングを楽しむ
- 分からないことは素直に聞く
- ある程度の残業は覚悟する
プログラミングを楽しむ
プログラミングが分からなくとも、楽しめなくては長続きしません。
誰だって最初は初めて。分からないことを覚えていくのが楽しい、という気持ちが重要です。
とはいえ、やったこともないプログラミングが楽しいと思えるかは正直分からないと思います。
まずはプログラミングの本を読んでみるとか、このような子供向けのプログラミングゲーム でお試ししてみるのが良いでしょう。
分からないことは素直に聞く
分からないことは素直に周りの人に聞きましょう。
分からないことを分からないまま放置して、時間だけ過ぎてしまうのが一番やってはいけないことです。
ある程度の残業は覚悟する
プログラマーは、技術力が低いほど進みが悪く残業しがちになると思います。
初心者のうちは「修業期間」「下積み」と割り切り、ある程度の残業は受け入れましょう。
ただし、体を壊すほど無理する必要はありません。毎日深夜まで働かせるようなブラック企業の場合は即刻辞めましょう。
転職で気を付けるべき点
「未経験者OK」という求人は、基本的に「未経験でも雇いたいほど忙しい」ということを意味します。
中には「未経験だから安く長時間こき使える」という目的で求人を出しているブラック企業も残念ながら存在します。
変な会社に捕まらないために、未経験者がプログラマーに転職する場合は以下の点に注意しましょう。
- これまでに未経験者を雇ったことがあるか?
- 社員の定着率はどれくらいか?
- 社員の顔は「死んで」ないか?
これまでに未経験者を雇ったことがあるか?
転職の面接で、未経験者を雇ったことがあるか質問してみましょう。
雇ったことがある場合は、その人は「いつ雇って」「今どんな仕事をしているか」も確認しましょう。
未経験者を育てるための教育制度やノウハウがあるかどうか、知るための目安になります。
個人の適性の問題はありますが、数年経つのにテストしかやらせてない、などの回答であればその会社でプログラマーとして仕事するのは難しいかもしれません。
社員の定着率はどれくらいか?
定着率が分からなければ、社員の平均勤続年数を調べてみましょう。
調べても分からなけければ、面接で質問すればOKです。
定着率が低い、勤続年数が短い、ということはそれだけの激務かブラック企業ということが予想されるので、慎重に見極めることをおすすめします。
注意!
未経験なのに高収入、好待遇なのは「激務をごまかすため」の可能性があります!
社員の顔は「死んで」ないか?
面接時に職場見学させてくれる企業があります。
そういうところでは、社員の顔や机の上をよく観察しましょう。
目の下にクマのある社員が多かったり、机に栄養ドリンクが何本も転がっているような職場はブラック企業のサインです。
職場見学がない場合は、面接時に職場見学可能か聞いてみましょう。
結論:未経験でもプログラマーにはなれるがハードルは高い
プログラマーに資格は必要ないため、誰でもなることができます。
しかし適性がはっきり出る仕事ですので「誰でもできる仕事」ではありません。
今回、プログラマーの実情を忖度なしに厳しめに書いたつもりです。
それでも「プログラマーになりたい!」という強い意志のある方は、ぜひ努力を続けてください。
プログラミングスクールもおすすめです。
最初がきついのはプログラマーに限らずどんな仕事でも同じです。
あきらめずに努力を続けられた人だけがプログラマーになれると信じてがんばりましょう!