2022年11月10日
|2023年1月13日
「プログラマーになるにはどうすればいいの?」「プログラミング未経験から何を始めればいい?」
プログラマーに興味はあるけど、何から始めればいいのかわからない。進学や就職、転職活動はどうすれば?そもそもプログラマーってどんな仕事?どんな人が向いてるの?どんな技術が必要?この記事では、そんな疑問にお答えします。
この記事の目次
プログラマーとは、「コンピューターに指示を出すことができるプログラミング言語を用いて、仕様書や設計書通りにシステムが動くようプログラムを組む」職業のことを言います。
プログラムを組む作業といえば、プログラミング言語を画面上に記述していくコーディング作業が浮かびやすいですが、実際は、システムの実現に最適なプログラムを考えることからはじまり、作成後はシステムが正常に動くかのテストや修正を行うなど、前後の流れが存在します。
コーディング作業だけでなく、システムのためにどんなプログラムを組んでいけばよいのかを考え出すことができ、プログラム作成の一連の流れに携われることが、プログラマーの役割といえます。
プログラマーの仕事となる”プログラミング”は、主に次の3本柱からなっています。
それぞれ詳しく見ていきましょう。
システムの開発は、顧客からどのようなシステムやソフトウェアを作ってほしいのか要望を聞き出す工程から始まります。この工程は、主にシステムエンジニア(SE)と呼ばれる人たちが担当し、顧客の要望に応じて仕様書や設計書を作成します。設計書のうち、システムの構造や仕様が書かれたプログラム設計書の作成には、プログラマーが関わることが多くあります。
システムエンジニアが作成する仕様書や設計書は、プログラムを作るために必要なことがすべて書かれているわけではありません。プログラミングのことを詳しく知らない人が作ることもあり、そういった場合にプログラマーは「この機能はどのようにプログラムすればよいのか」から考える必要があります。目的の機能に辿り着くまでの道順はいくつもあるので、最短で効率的なプログラムを作成できるかは、プログラマーの腕の見せ所です。
また、設計書の作成によってスムーズなコーディング作業やプロジェクトチーム内での連携が可能となり、システムのメンテナンスも行いやすくなります。
プログラミングと聞くと、このコーディング作業が一番イメージされやすいのではないでしょうか。
コーディングとは、ソースコード(プログラミング言語で書かれた、プログラムを表す文字列のこと)を記述することを言います。プログラム設計書は、処理の流れや仕様を具体的に図示したものであり、コーディング作業ではその設計書をプログラミング言語に翻訳しながら、コンピューターへの指示を作成していきます。使用するプログラミング言語についても、この設計書に明記されています。
テストとは、設計、コーディングによって作成されたプログラムが思った通りに正常に作動するかを調べることです。テストは、システムができあがってからだけではなく、「単体テスト」「結合テスト」「システムテスト」「運用テスト」といったようにプログラミング作業の段階ごとに行われます。
デバッグとは、テストで見つかったプログラム中のバグの原因となるソースコードを見つけて修正することを言います。このテストとデバッグを繰り返すことでより品質が向上していきます。
プログラマーを目指すのであれば、その将来性も気になるところ。現在、IT人材不足は深刻化しており売り手市場が続いていますが、いつか飽和状態になるのでは?と心配されている方もいるでしょう。プログラマーの需要が今後も続くのかどうかデータで見てみましょう。
「求人情報・転職サイトdoda(デューダ)」の転職求人倍率レポートによると、2022年9月のIT・通信関連のエンジニアの求人倍率は10.07という高い数値を示しています。
引用:「転職求人倍率レポート(求人情報・転職サイトdoda(デューダ)」
この10.07という数値は、1人の求人に対して10件の仕事があると解釈でき、求職者には有利な状況であると言えます。他の職種と比較しても、求人倍率が高い傾向にありますが、この状況はいつまで続くのでしょうか。
経済産業省の「IT人材需給に関する調査(2019年)」のデータによると、需要の伸び率によって結果は異なりますが、2030年には最低でも16万人、最高で79万人のIT人材が不足すると予測されています。当面の間は、エンジニアの求人がなくなる心配は少ないといえるでしょう。
引用:「IT人材需給に関する調査(経済産業省、みずほ情報総研株式会社)」
では、いざプログラマーになりたいと考えたときに、必須の資格や専門的な学歴などは必要なのでしょうか?
結論から言えば、プログラマーになるために必須の資格や専門的な学歴はありません。情報系や理系出身でなく文系出身でもプログラマーになることは可能であり、新卒・中途採用にかかわらず、どなたでも目指すことができます。ここでは、どんな人がプログラマーに向いているのか、適性について解説します。
「論理的思考力」とは、物事を矛盾のないよう筋道立てて考えられたり、複雑なことをシンプルに分解して整理できたりする力のことを言います。
処理の速度が速く、バグないシステムを作り上げるには、効率よく機能を実現できるプログラムを考える必要があります。そのためには、複雑なシステムの機能を分解して考え、実現に向けた道順を順序だてて組み立てられる力が必要になります。また、プログラミングには、エラーやバグがつきものであり、その原因をいち早く突き止め、解決の手立てを考える力も、論理的思考力です。
最近では、プログラミング的思考という言葉もよく耳にします。プログラミング的な考え方は、目的達成や課題解決の能力に直結するため、小学生からプログラミングの授業が必修化されました。
「論理的思考力」と聞くと難しく捉えてしまいがちですが、「物事を具体的に分かりやすい言葉で伝える」、「客観的に物事を捉える」、「物事に対して常に疑問を持つ」、「問題解決能力を高める」など、日常生活の中で意識を変えるだけでも鍛えていくことができます。
プログラマーは1人で黙々とパソコンに向かって作業をしているイメージを持たれがちですが、実際は人とかかわる機会が多くあります。プロジェクトはチーム制で行うことが多く、システムエンジニアや先輩、後輩、同僚、時には顧客など多くの人とコミュニケーションをとらなければなりません。
コミュニケーションには、「伝える力」と「聴く力」が必要です。相手の考えを正しく理解し、自分の考えを分かりやすいように伝えなくては、作業に無駄が多くなり、システムの品質が落ちてしまいます。わからないことや不安な点を質問できること、自分の状況や進捗度合いを共有できることなど、コミュニケーションが重要視される場面は多いですので、ポイントとして押さえておきましょう。
IT技術の進化はめざましく、常に新しい技術が生まれています。そのため、プログラマーになるための学習にとどまらず、プログラマーになっても最新の知識と技術を身につけるための学習姿勢が求められます。経済産業省のIT人材育成の状況等について調査した資料によると、今後需要が伸びてくるのはIoTやAI、ビッグデータ活用を担う先端型IT人材や、情報セキュリティ人材、SoE型システム(企業と利用者のつながりに重点を置いたシステム)のIT人材などで、新しい技術に対応して高付加価値を生み出すIT人材の需要が高まると予想されています。
たしかにプログラマーは需要や将来性の高い職種ではありますが、ニーズの変化もともなう業界です。自分の市場価値を維持・向上させるためには、新しいことを取り入れられる向上心や探求心が必要となるでしょう。
引用:「参考資料(IT人材育成の状況等について)経済産業省」
この記事を読まれている方は、プログラマーとしての実務経験がない未経験からの就職・転職を考えている方が多いのではないでしょうか。プログラマーは専門性の高い職業であり、未経験では採用されないのでは?と不安になりますよね。ここでは、新卒採用と中途採用の2つの面から、未経験からのプログラマー就職について解説します。
新卒の場合は、実務経験がないものとして採用することがほとんどですので、採用後に3ヶ月から半年ほどの研修が用意されていることが多く、研修を通してプログラマーとしてのスキルや社会人としてのマナーを身につけていきます。
ここでは、実務経験ではなく、「学生時代に専門の学科を履修していないといけないのでは?」と置き換えて、新卒採用で重要視されている項目をデータから見てみましょう。レバテックルーキー(ITエンジニア専門新卒向け就職支援エージェント)が新卒採用担当者289名に「新卒エンジニアの採用基準で重要視している点」についてアンケートを実施したところ、次のような結果でした。
1位:「コミュニケーション能力」58.8%
2位:「論理的思考力」36.7%
3位:「人柄」36.3%
プログラミングスキルは4位で28%、学部学科の重視も8.3%にとどまっており、新卒採用ではプログラミングスキルよりもヒューマンスキルを重要視している傾向が見て取れます。
引用:「新卒エンジニアの採用選考着眼点調査(2022年4月)」
コミュニケーション能力は、どのような学部でも学生生活の中で身につけることが可能です。サークル活動やアルバイトなどの課外活動などに積極的に参加し、色々な人とかかわりを持ってコミュニケーション能力を高めましょう。チーム内で情報共有やマネジメントしながら一つのことをやり遂げた経験や、新しいことを人に上手に教わりながら習得した経験などは、プログラマーに通じるところがありアピールしやすいでしょう。また、論理的思考力についても、問題やトラブルを解決した経験などからアピールすることが可能です。
では、プログラミングスキルの習得が新卒採用において無駄なのかといえば、決してそうではありません。プログラミングスキルを持っていること自体もプラス要因ですが、ほかにも学習の中で得た経験から「自己学習を継続できる人柄」や「論理的思考力」など、プログラマーとしての素地について、より効果的にアピールでき、他の人と差をつけることできます。自分の志望動機や熱意を説得力のあるものとして伝えやすくもなるでしょう。
求人サイトなどで「未経験者歓迎」や「未経験OK」のキャッチコピーを見かけるように、まったくの異業種からでもプログラマー転職は可能です。実務経験なしを前提に求人しているため、即戦力レベルのスキルを求められることはなく、新卒採用と同じく入社後の成長を見込んでくれます。一見、プログラミングとは無関係な前職の経験もヒューマンスキルとして評価されますので、自分がどのような仕事にどのような姿勢で取り組んできたのか、どのようなスキルをプログラマーとして活かせるのかなど、具体的にアピールできるようにしましょう。
また、年齢も一つの評価基準と考えておきましょう。未経験歓迎求人では、年齢制限を設けている場合がほとんどですので、求人数が多い年齢での転職活動が1つのポイントとなります。社会人経験が2~3年の、いわゆる第二新卒の方は、社会人経験が浅く、具体的な数字やエピソードをまじえたアピールポイントが用意しづらいかもしれません。しかし、IT業界で未経験者を採用する場合、比較的体力があり、知識やスキルの吸収力が速く、将来性が見込めるであろう若い年齢の人を優先する傾向にあります。第二新卒は「若さ」を最大限に生かし、プログラマーとして採用された後の伸びしろがあることをアピールしましょう。
加えて、中途採用ではプログラマーの実務経験がなくても、プログラミングスキルや基礎知識は身に付けておいたほうがよいでしょう。新卒採用と同じく、効果的な自己PRや熱意の証明に役立つということもありますが、プログラミング学習でWebサイトやWebアプリを作り上げ、その成果物を採用担当者に見せる、いわゆるポートフォリオの提示は多くの転職希望者が行う手法です。スタートラインで出遅れないためにも、事前の準備はできる限りしておきたいところです。
新卒でも中途採用でもプログラマーになることはできますが、就職活動では他の人に差をつけられるアピールポイントがあった方が有利です。一番わかりやすいアピールは、プログラミングに関する知識やスキルを身につけることです。ここでは、プログラミングの知識やスキルを身につける方法をご紹介します。
プログラミングスクールは、通信制や通学制、オンライン制などさまざまなスタイルがあり、自分のライフスタイルに合わせて選択できるため、新卒就職を目指す学生も、中途転職を目指す社会人でも利用することができます。受講期間は3か月~6か月のスクールが多く、大学や専門学校のようにITのことを広く学ぶというよりは、コース別に特化した知識を習得していくようになります。カリキュラムを通じてポートフォリオの作成までできるコースであれば、就職活動に直結した効率の良い学習をおこなうことができるでしょう。
また、プログラミングスクールによっては就職先の紹介や面接対策まで実施してくれるところもあります。プログラマーになるためには、プログラミングスクールの就職支援内容も大切な比較ポイントです。就職内定率は高いか、提携企業など独自の紹介先を複数持っているか、など実績を確認しましょう。プログラミング学習と就職活動を並行して行える心強い制度なので、就職支援は上手に活用してください。
進学の時点でプログラマー就職を見据えているのであれば、プログラミングが学べる大学や専門学校に通うという選択肢もあります。ここでは、大学、専門学校に通うメリット、デメリットをそれぞれご紹介します。メリット、デメリットを理解した上で自分に最適な方法を選択しましょう。
①教養が身につく
一般的にプログラミングを学べる大学は、学問としてプログラミングの「理論」などを学ぶ場であり、プログラミングの基礎知識全般を習得できます。さらに、プログラミング以外の知識も幅広く習得することができるので、教養が身につきます。
②就職の幅が広がる
大手企業や、将来的にマネジメント職に就くことを見越して採用する募集などでは「大卒以上」を採用基準に設け、学歴を重視しているところもあります。高度な理論を要する分野などでは、学部学科が重視されることもあるため、就職の幅が広がり、年収の高い求人にも応募しやすいといえます。
③人脈が広がる
大学は、プログラマーを目指している人だけではありません。将来フリーランスのプログラマーとして働きたいと考えている人など、他学部・他学科の人と交流を深め、人脈を広げておけば何かビジネスチャンスにつながる可能性があるかもしれません。
④時間に余裕がある
4年かけてじっくりとプログラミングの「理論」を学ぶため、比較的時間に余裕があります。空き時間にプログラミングスクールに通う、アルバイトやインターンシップなどを利用してプログラミングの実務経験を積むとよいでしょう。
①プログラミング以外の講義も受けなければいけない
大学を卒業するための必修科目には、プログラミングとまったく関係のない分野の講義も多く含まれています。それらの講義を受けなければいけないことをデメリットに感じる人もいるかもしれません。
②4年間通学しなければならない
プログラミングを学べる大学はほとんどが4年制であるため、すぐにでも社会に出てプログラマーとして働きたい人には、4年間という期間を長く感じ、デメリットに感じる人もいるでしょう。
①専門分野に特化して集中的に学べる
専門学校はプログラマーになるためのカリキュラムが組まれているので、必要な知識や技術を短期間で集中的に学ぶことができます。
②就職案件が集まってくる
多くの専門学校では就職活動のサポートがあり、就職先の企業を紹介してくれます。就職できなければ授業料が全額返金される「就職保証制度」を設けている学校もあります。
①プログラマー以外の就職が難しい
専門学校はプログラマーの育成が目的なので、基本的にはプログラマーになるためのカリキュラムが用意されています。そのため、途中で他の職業に就きたいと思ったときに、進路の変更が難しい可能性があります。
②高い収入が得られにくい・マネジメント職に就きにくい
大卒者と比べると基本給が低い傾向にあり、能力主義が浸透していない企業では高い収入が得られにくい可能性があります。また、将来役職に就くことを見越して大卒者を採用する企業などではマネジメント職に就きにくい可能性があるでしょう。
③時間に余裕がない
短期間でプログラミングの知識や技術を習得しなければならないので、朝から晩まで講義や実習のカリキュラムが組まれており、夏休みなど長期の休みも大学より少ない傾向にあります。
お金をかけずに、自分の好きな時間にプログラミングを学習したいのであれば、独学でもプログラミングスキルを習得することができます。
ただし、自分で学習方法のプランを考えなければならない、分からないことが出てきても自分で調べなければならないなどの理由で、プログラミングスクールでの学習に比べて時間はかかります。独学を選択するのであれば、長期戦になることを想定したうえで学習を始めましょう。
独学では、「学習サイト」や「学習アプリ」を使うのがおすすめです。無料で使えるものも多くありますので、次の記事を参考にしてみてください。
大学や専門学校、プログラミングスクールや独学、いずれの手段をとるにしても、プログラマーになるためには、次のことをする必要があります。
ここでは、プログラミング学習を軸とした基本ステップを紹介しますので、参考にしてください。
「プログラマー」と一括りに言っても、さまざまな種類があります。それぞれで開発するものがまったく異なりますので、自分が何のプログラマーを目指しているのかを明確にしておきましょう。ここでは、代表的なプログラマーの種類をご紹介します。
【代表的なプログラマーの種類】
種類 | 具体的な内容 |
---|---|
Web系 | ECサイト、モバイルアプリ、SNSといったWeb上のシステム開発 |
オープン系 | 会計管理、給与計算といった一般的なパソコンのOSで使うシステムの開発 |
汎用系 | 汎用機と呼ばれる大型コンピューターを使うシステムの開発 |
ゲーム系 | 家庭用ゲームやスマホゲーム、オンラインゲームなどの開発 |
組み込み系、制御系 | 家電やパソコン、自動車などの機械製品に使われるシステムの開発 |
具体的にやりたいことが見つからない場合や決められない場合は、将来性のある分野、現在需要の高い分野、人気のある分野などインターネットで検索して絞っていくのもひとつの手です。
プログラミングスキルはすぐに身につけられるものではないので、明確な目的や目標がないとモチベーションを維持できず、途中で挫折してしまう可能性があります。学習のモチベーションを保つためにも、どのようなプログラマーになりたいか、就職像を定めることは大切な工程の一つと言えるでしょう。
具体的な目的や目標が決まれば、学習の方針を決めるために、それに向いているプログラミング言語を選択しましょう。ここでは、目的別に向いているプログラミング言語をいくつかご紹介します。
目的 | 向いているプログラミング言語 |
---|---|
Web制作/Webアプリ・Webサービス開発 | HTML・CSS・JavaScript・PHP |
スマートフォン向けアプリ開発 | Swift・Java・Kotlin |
デスクトップアプリ開発 | C# |
AI(人工知能)開発、機械学習 | Python・ C言語・R |
組み込み系(IoT)開発 | Python・C言語・Java |
ゲーム開発 | C#・C++・JavaScript・Swift・Ruby |
何を開発したいのか決められない場合は、人気のある言語や求人の多い言語、年収の高い傾向にある言語などから選択していく方法もあります。
プログラマーを目指しているのであれば、実務経験がなくても必要最低限の知識は身につけておくべきです。自分がプログラマーに向いているのかどうかを知るためにも、事前にプログラミング学習はしておくべきでしょう。
面接対策を考えた場合、企業にとって新卒や未経験の応募者は、将来どれだけの戦力になってもらえるかの尺度が不足しがちです。プログラミングスキルや知識をどの程度身につけているか、その過程でどういった能力が役に立ち、何を苦手としたのかといった話があれば、企業側も応募者のポテンシャルを図りやすくなり、説得力を持ったアピールができます。
プログラミングスキルを証明するためには、ポートフォリオを準備しましょう。ポートフォリオとは、自分の成果物のことを言い、どの程度のスキルや能力があるかを客観的に示すことができます。未経験者の場合、どの程度の作品(WebサイトやWebアプリなど)を作れるか、コーディング技術はあるかなどを提示できるとよいでしょう。作品は複雑なものでなく、シンプルなものでもかまわないので、誰が見ても分かりやすく、利用者目線で使いやすい仕様になっているか、作品の意図は明確になっているか、コードはきれいに整っているか、などに気を付けて作品を作ってみてください。作品はWeb上で誰でも閲覧可能な状態にしておき、面接時は紙媒体で持参できるようにしておきましょう。
IT業界は慢性的な人手不足で現在も売り手市場が続いており、人手不足を解消するためにIT業界未経験でも積極的に採用している企業は多く存在します。自社でプログラマーを新人から育成しようと考えている会社は、求人票で研修制度をアピールしていますので探してみましょう。
また、未経験者でも比較的採用されやすいのがSES(システムエンジニアリングサービス)企業です。SESとは、「エンジニアの労働力を提供し、その成果に対して賃金を支払って結ぶ契約のこと」を言います。SESでは、人手不足の企業へ労働力を提供するという業態から、大量採用を行っている企業も多く未経験者求人も出やすいと言えます。それゆえに、SESは給料が安い、雑用ばかりやらされる、スキルが身につかないなどさまざまな理由でやめとけと言われることも多いですが、「未経験でも採用してもらえる」「IT業界で働きながらスキル向上を目指せる」ということは、未経験者にとっては大きなメリットです。IT業界はキャリアアップを意識した転職が一般的な業界ですので、最初のステップとしてSES企業への就職を考えることも選択肢となります。
未経験者の場合、どのようなところに就職すればよいのかわからない、どうやって就職先を見つければよいのかわからない人もいるでしょう。そんな人におすすめなのが、就職サポート付きのプログラミングスクールです。
「学舎さくら」では、「プログラマーになるにはどうすればいいの?」と入り口から悩んでいる初心者でも、しっかりとプログラミングスキルを習得できる充実したカリキュラムが用意されています。ここでは、「学舎さくら」をおすすめする理由を4つご紹介します。
①受講料は完全無料
就職支援コースでは、入学金や解約金も不要です。授業は完全オンライン制のため、テキスト代などもかかりません。
②充実したカリキュラムを最短3ヶ月で学べる
プログラミング専攻では、HTML/CSS、JavaScriptなど基礎から実践まで80以上の教材や100以上の問題集が用意されており、 およそ3ヶ月の研修を通して実践的なスキルを習得できます。
③いつでもプロ講師に質問可能
現役のエンジニアを含むプロの講師陣が、生徒一人一人を徹底サポートします。「分からない」ことが出てきたときには、チャットツールを通して気軽に質問することが可能です。
④マンツーマンで就職サポート
生徒1人に対して1人の専属キャリアアドバイザーがつくため、あなたの希望にそった就職先をおよそ3,500社以上ある提携先企業から見つけます。履歴書や職務経歴書、面接サポートまで受けられます。
プログラマーになるには、資格や学生時代の専攻は必要ありません。プログラマーとしての実務経験がないことを前提として採用してくれる企業は多くあります。その場合は、ヒューマンスキルが大きな評価ポイントとなりますので、プログラマーにどのような素養が求められるのかを理解し、具体例をまじえた効果的なアピールをしましょう。
また、「未経験者歓迎」や「未経験者OK」などのキャッチコピーがある求人でも、他の人と差をつける、もしくはスタートラインで出遅れないようするために、プログラミング学習はしておいた方が無難です。大学・専門学校に通う、プログラミングスクールや独学など色々な方法があるので、自分に最適の方法を選択しましょう。年齢も若い方が採用される傾向にあるので、行動は早いほど有利です。
「学舎さくら」なら毎月入学可能なので、迷っているのであればとりあえず説明会に参加してみてください。
最新記事
プログラミング学習に暗記は不要!未経験から効率的に学習する方法
2024年4月18日
この記事の目次1 【結論】プログラミング学習に暗記は必要ない1.1 【理由1】すべて暗記するのは不可能なため1.2 【理由2】カンニングしてもいいため1.3 【
プログラミングに必要なパソコンのスペックとは?初心者向けの選び方
2024年4月18日
プログラミングには、最低限のスペックを備えたパソコンが必須です。とはいえ、初心者の人は「プログラミングに必要なパソコンのスペック」を把握していないでしょう。今回
インフラエンジニアのやりがい5選!向いている人や一日の仕事の流れも解説
2023年10月20日
ITエンジニアのなかでもインフラエンジニアに興味を持っており、「どのようなやりがいがあるのだろう?」と気になっている人もいるのではないでしょうか。 type転職