バイトと派遣に関わるお仕事情報満載!

本職プログラマーを目指す未経験者が知っていてほしいこと

プログラマーとは、プログラミング言語を用いてシステムやアプリなどを作るお仕事になるのですが、完全未経験からプログラマーアルバイトを始める場合、何から学びそしてどんな仕事をするのか?

 

今回はプログラマーの「プ」の字もわからない超初心者が、知っておいて欲しい知識と迷いなく求人への応募ができるようにプログラマーの世界について解説してみます。

 

まず始めにこの業界って、完全未経験者からすると分からない言葉が連鎖的に出てきて、仕事をする前に挫折をしてしまうことが多いです。深く調べれば調べるほどドツボにハマってしまい、難しい印象を受けてあきらめてしまうなど・・・。

 

そのため、ここでは難しく考えず感覚的で大まかな理解ができるように解説をします。そうすることで、より高度な情報が掲載されているサイトを見る際や、実際に会社の基礎研修を受けるときに理解がしやすくなると思いますので。

 

ちなみに今回の記事は結論から言うと、将来本気でプログラマーを目指すためにアルバイトから考えている方向けの記事となります。まれに、時給が高いという理由でプログラマーバイトを考える方もいますが、そうした方にも大変さなどをぎっしり書いているので当記事を見てから判断することをおすすめします。

 

 

プログラマーの時給と勤務時間

 

プログラマーはアルバイトの中でも時給が高い部類に入ります。都心部では時給1200円から最大で2500円程の超高額案件も目にします。

 

未経験からのアルバイトであれば、時給で探すよりも出来るだけ長い期間の研修制度を設けているところや従業員の多い会社を選んだ方が良いでしょう。

 

しかし、研修を受けたしても実務に入ると必ず壁にあたることがあるので、そうした時に頼れる人が多いほど立ち止まる時間も短くなり、より多くの事を吸収できるようになります。

 

ちなみに時給が高い仕事は当然ですが経験者が優遇されます。そして経験者と言っても更にそこから募集企業が指定するプログラミング言語を習得している者に限った「募集」である場合も多いです。

 

要するに会社が開発を急いでいるソフトウェアの即戦力を探しているということです。

 

逆に考えると、本当に習熟したプログラマーであるならばこうした即戦力を探す高額案件がたくさんあるので食うに困ることはありません。

 

本物の技術を持ったプログラマーの中には、自分で仕事を請け負いながら暇なときにこうした案件に参加をしている人も筆者の周りには結構居ますしね。

 

ちなみにアルバイトであれば勤務時間に関しては結構融通の利く業界であるとも感じています。1日3時間好きな時間帯で出勤OKという求人も多いです。特に最初の内は覚えることが多くかなり頭を使うので、余裕をもったシフトを組むと頭をしっかり休めることもできるので有りかもしれません。

 

プログラマーを別のお仕事に例えて見よう

 

まず始めにシステムエンジニア(SE)とプログラマーの役割を建設業界に例えると・・・

 

 

システムエンジニア(SE): 設計士・建築士

プログラマー: 作業員

 

この2つで何ができるのか?

 

ホームページ・アプリ・ゲーム・ATMなどの業務システム・通信システム・SNSサービス・家電など・・・

 

ウェブサービスやSNSなどインターネット上にあるあらゆるものや電化製品を作るのに関わっているのがこのプログラマーなんです。エンジニアの設計図や作られた基礎を基に、プログラマーはそれをしっかり実装できるようにプログラミング言語を打ち込む。

 

理想通りの機能を入れて、システムがしっかり動くためにはプログラマー自身が考えてプログラミング言語をパソコンに打ち込むこともあるでしょう。

 

ちなみにITの世界では業務の幅があまりにも広範囲にわたるため、実際のエンジニアとプログラマーの線引きというのも曖昧になってきています。

 

どちらが上の立場かという問題もありませんが、エンジニアは顧客の要望を受けてシステム設計を考え、それをプログラマーが作ります。

 

SEとプログラマーで役割が分かれているものの、会社の方針によっては、どちらの作業も担当することがあります。

 

・・・というよりも幅広い業務を任せられると自然と両方の業務をこなすようになっていることが多いです。

 

覚えることは断然多くなりますが、メリットとしては自分で設計図を考えて、自分で実装作業をする方が一連の流れになって仕事がしやすいですからね。

 

もちろん大規模な案件は一人では行うことができないので、他の技術者達と協力して行うことになりますよ。

 

アルバイトや新入社員はこうしたプロジェクトを進める正社員のアシストをする業務がメインとなり、出来る範囲でのコーディングを行います。

 

 

プログラミング言語とは

 

 

ちなみにプログラミング言語とは、パソコンが理解できる言葉で文字を入力(パソコンに動きなどを指示)すること。例えばホームページの作成であれば、ここはこういう見た目にして・・・ここはボタンが押された時にこう動くようにして・・・と言った見た目や動作に対する指示を出す時にプログラミング言語を入力すると、それ通りに動くようになるのです。(プログラムが組まれる)

 

 

プログラミング言語は今や数百種類もの膨大な量になりますが、何を作るか(するか)によって扱う言語が変わることも特徴です。

 

 

例えばホームページを作るときにレイアウト・構成といった骨組みや土台を作る役割をするプログラミング言語は【HTML】

 

この土台や骨組みに、装飾やデザイン性を加えるプログラミング言語は【CSS】といった具合に、目的によって言語を使い分けたり、ミックスさせてプログラミング言語を入力することによって、今あなたが見ている当サイトのページがこのように表示されるなど、機能が発揮される仕組みになるのです。

 

このサイトでも下記のようなソースコードによってサイトが今の見た目になっています。

 

 

 

実際のページのほんの一部ですが、上記の<p>や<li>といった言語はホームページに関する専門の言語(HTML)であり、その他にも家電や自動車などに動作に関わるプログラムを組み込むための言語(C++やアセンブラ)など、目的によって使うプログラミング言語は変わります。

 

あなたがやりたい事や、応募を考えている会社はどんな製品やサービスを作っているかによって、利用しているプログラミング言語がわかるので、この部分は事前に確認しておくのが吉です。

 

ちなみにプログラミング言語の多くは英語に関連している言葉が多く、英語に精通している方であれば多少理解のスピードは速くなると思います。

 

 

プログラマーの仕事は言うだけなら【システムやソフトウェアを作る為にプログラミング言語を打ち込む】の一言で終わるのですが、実際に何をするのかいうとそれは・・・それは多様すぎて、まとめきることができません。

 

それだけプログラミング言語の種類が多く、ウェブ上で作りたいものが何でも作れてしまう時代だからです。

 

 

仕事内容とは?

 

  • テスト(動作確認)
  • コーディング(言語を入力し動作するように組み立てること)

 

 

プログラマーと一言で言っても、全ての種類のプラグラミング言語を覚えることは、どんなベテランでもほぼ不可能なので、実際の現場作業では、それぞれがある部分に特化した作業を担当して、一つの製品を仕上げるようにするのが一般的と言えます。

 

 

プログラミング言語の中には、難易度の高いものから、比較的短時間で覚えられるものまで様々であり、その中でアルバイトに割り振られる仕事は一連の業務の中で一番負担が少なく、知識もそこまで必要としない業務を割り当てられることが多いでしょう。

 

 

特定部分の言語入力だけひたすら行うとか、打ち込まれたプログラミング言語に入力ミスがないかなどの確認するための動作確認など・・・会社によって様々ですが。

 

 

アルバイトとはいえ専門的な仕事に携わることになり難しい分、将来性においても大いに可能性のある業界と言えますが学ぶこともかなり多いです。そしてプログラムの世界は一生を懸けても覚えきれない世界でもあるのです。

 

 

だからこそ、ITの世界は無限の可能性をも秘めていると言えます。みんな欲しがるシステムやウェブサービスを閃いて、うまく開発することで大金持ちになった個人や会社経営者もたくさんいます。実力重視ではありながら夢のある世界ですね。

 

 

プログラマーを種類別にするとこんな感じ

《ウェブ制作》

対応言語:HTML・CSS・PHP・Javaなど様々

 

ホームページやウェブサービスを作るお仕事。この業務はバックエンド(サーバー側)とフロントエンド(ブラウザ側)の2種類の制作を合わせることによって、ユーザーが閲覧や操作できるようになるサイトを作ります。

 

ホームページやウェブサービスと一言で言っても、作るサイトの規模やクオリティによって難易度と作業量は大きく変わります。個人店のHPを作ってあげることと、クックパッドやカカクコムのようなユーザーが検索したり、会員登録などができる機能が付いた大規模なサイトを作るのでは、コーディング作業に天と地ほどの差があります。

 

 

《デスクトップアプリケーション》

対応言語:Java・C♯など様々

パソコン自体に組み込んで(インストール)動作をするソフトの開発をするお仕事です。例えば、動画を見るために使うメディアプレーヤーやウイルスソフトなどですね。

 

プログラミング言語自体は比較的難しいものを扱う必要があるものの、利用者している開発者が多く人気の言語なので、学習がしやすいこともメリットと言えます。

 

しかし、最近はこのデスクトップの対をなす存在であるウェブアプリケーションの躍進によって、需要が徐々に減りつつあるお仕事だとか。

 

 

《ウェブアプリケーション》

対応言語:Java・javascript・phpなど様々

インターネット上で動作をするアプリケーションの開発をするお仕事。パソコンに組み込む必要がなく、最近では多くのデスクトップアプリがウェブアプリで代用できるように技術の進歩が続いているので、現在のトレンドとも言えるお仕事になります。

 

ネットサイトのショッピングカートやネット銀行と言ったウェブ上であらゆることができるのもこのウェブアプリケーションが発達したからです。広い意味では上述したウェブ制作に関してもインターネット上で動作しているので、ウェブアプリケーションによってできているのです。

 

 

《組み込み系》

対応言語:C++・アセンブラなど

 

生活で身近に利用する電化製品にはプログラムが組み込まれていて、それによって動作をしています。もちろんプログラム言語意外にも必要なものがたくさんあり、それらが合わさることによって機能を発揮しています。

 

ちなみのこの業界は学習コストも高く、完全初心者のうちから踏み込むとわけが分からず挫折をする可能性も・・・というより難しいので組み込み系で未経験歓迎アルバイトの案件を見かけないです。

 

 

《ゲームアプリ》

対応言語:Objective-C ・C++・Swiftなど

 

パズドラやモンストと言ったスマホアプリもプログラミングによって作ることができます。特殊なプログラミング言語を使うことがあるので、学習コストが高い仕事と言えますが、ゲーム制作の案件は一度ヒット作が生まれると、利益率がとにかくすごいので、アルバイトと言えど結果を出せば昇級の道もあります。

 

 

将来的に社員や独立プログラマーになりたい未経験者におすすめのアルバイトは?

 

プログラマーのアルバイトを考えている方というのは、将来的には正社員やフリーランサーとして仕事に携わりたい人が多いのではないでしょうか?

 

 

なぜなら、単に稼ぎたいだけであったり、その場凌ぎのアルバイトであれば他にもっと簡単で楽な業界はたくさんあるからです。

 

 

そんな大変な作業を伴うことが予想されるプログラマーですが、アルバイトのうちから何を作りたいのかや、自分が将来どんな目的によって動いているのかによって求人は選ぶべきだと思います。

 

 

そこで出る筆者の結論は、「どのプログラミング言語を最初に覚えるか」です。業務に使うほとんどの言語は、手軽に覚えられるものではなく、修得をするのに半年~数年と言った時間を必要とするものが多く、ここで最初に決めた言語は将来に大きく関わることになります。

 

 

アルバイトの時には、一つのプログラミング言語の中でも業務を行う範囲だけの知識を学べば事足りてしまうかもしれませんが、社員やフリーランサーともなると、新しい言語や処理を駆使してより高度な制作に取りかかることもあります。

 

 

最初の内から一つの武器となる言語を徹底的に磨き上げることができれば他の言語も共通の部分などがあるので、理解しやすくなることでしょう。

 

 

プログラマーの辛いところ

 

アルバイトでこの業界に入るのは将来性も有りおすすめといえますが、実際に業務をしていて辛いところもたくさんあります。

 

目薬は相棒

 

これがないと業務がはかどりません。正社員であればクライアントと商談をしたり、外出をすることもありますがアルバイトの場合は常に何かしらの画面を見ているので目が本当に疲れます。入社日から忘れず一本持っておくと良いと思います。筆者も20代にして初めて目の疲れからくる肩こりというものを味わいました。

 

 

学習は必然の行為

 

プログラマーのアルバイトをしているが、将来の就職活動は別の職種を目指すという場合であれば、業務に使う(覚える)だけの内容を網羅しておけば特に問題はありません。

 

しかしその先に、独立や社員として働きたい場合であれば常に学習の連続です。というのも、プログラマーは新しいプロジェクトを立ち上げる度に今まで使ったことのない処理や条件分岐を使うこともよくあります。(今はプログラミング言語内のテクニックと思ってもらえればOKです。)

 

新しいことに着手してみて、初めて「こんなこともできるんだ!」や「こんな使い方もあるのか!」と言った発見もよくあります。ベースとなる基礎をしっかりと理解できていればそれほど時間の掛かるものではありませんが、何しろ多くの知識量を必要とする世界なので、カンペや復習は時に大いに役立ちます。

 

また、プログラミング言語にも当てはまることなのですが、ITの世界では様々なシステムやPC自体が目まぐるしく進化を続けています。次から次へと来る新しい技術に対応していくことも必要なため学習コストが高い職業なのです。

 

 

ミスが許されない

 

自分で好きなものを作って使ったり無料で配布をする分には、欠陥や小さなバグがあってもその都度対応していけば済む話ですが、企業で働く上ではお金を払ってくれるクライアントに納品をするので、細かいミスも許されません。

 

そのためソフトウェア開発などの際には、時に数千といった膨大な数のチェック項目を用意してあらゆるバグやミスがないかを事前に確認します。これがいわゆるテスト作業です。

 

この作業は実際に操作をしたり、少し手を加えた形でちょっとづつ確認をして問題がないかを繰り返し確認するので、かなり退屈な作業で敬遠する人が結構多いです。

 

この作業はアルバイトでも担当する可能性がある業務であり、実際にソフトウェアの動作を確認しながらプラグラムの仕組みを学べることもあるので無駄な作業とはなりませんが、時間が長く黙々と続ける精神力が必要になるでしょう。

 

ちなみに、数千のチェック項目があれば何点かは異常やエラーが見つかることもあります。その際はチェックリストを基に対策や改善を行い再度テストするループで万全の製品を目指します。

 

 

どちらかというと習うより慣れろの業界

 

研修があっても実際の業務にあたるとほぼ100%わからないことが出てきます。でも、これはプログラマーの世界では仕方のないことでもあります。IT業界は常に新しいものを生み出し成長を続けるクリエイティブな業界なので、社員であっても常にわからないことと闘いながら仕事をしています。

 

もちろん、未経験者の「わからない」であれば先輩に聞くとすんなりと答えを教えてくれることもありますが、先々にはいくつもの壁があなたを待ち構えているので、調べ方や要領のコツを掴んでおくことも大切といえるでしょう。

 

プログラマーの業界は、熟練者であってもわからないことにぶち当たる人が多いので、インターネット上には情報共有や参考サイトが充実しています。難しい問題もネットで調べてみると案外すんなり解決してしまうこともよくあるのです。

 

 

会社のルールに従う必要がある!

 

これに関しては経験を積んだ先々に感じるであろうことなので、飛ばして頂いても問題はありません。例えば、今いる職場よりも給与アップが見込めたり、自分が本当にしたいプログラミングをしている会社へ転職するときに思うこと。

 

企業に勤める以上は会社の用意するPCやツール、形式に従ってプログラミングする必要があります。転職時は特に前職の会社と比べて、開発環境が違い仕事がやりづらいと感じることがあります。

 

プログラミングに使うエディターやOSが違えば仕様も今までのものと異なるので、新しく覚える必要がでてきます。共通点はもちろん多いです、仕事をするための道具の使い方を学び直すという手間が発生します。

 

 

労働条件が守られてない?

 

プログラマーを含むIT業界の口コミや評判はネガティブな意見が目立ちます。主に(きつい・帰れない・給料安い)の新3kが定着してしまっているわけですが、実際は職場により様々です。

 

本来、専門知識を必要とする高度な仕事なはずなのに何故そのようなことが起きてしまうのかというと、考えられる理由はいくつかあります。

 

孫請けなどにより報酬が目減りしてしまう。

 

例えば大手企業から大規模なシステム開発の案件依頼された会社があるとします。請け負ったものの、自社の人間だけでは納期までに間に合わない場合は、同業の中小企業に助っ人の依頼します。

 

本来は充分な報酬額を提示されているので、自社の人間には給料としてしっかり還元がされますが、助っ人はそこから残った報酬で配分をしたり、「人1日」あたりの単価で報酬を渡します。

 

上記のように、依頼者(1次受け業者)が更に依頼(2次受け業者)をして人を集めると一番最後に依頼される会社の取り分は例外なく少なくなります。こうした仕事を受けるところは給与が低めに設定されるにも関わらず、業務量は同等やそれ以上というある意味理不尽な事案がIT業界ではよく起こります。

 

核たる収益の柱を持っていない

 

会社というものは利益を上げ続けて行かないと当然ながら従業員に給料を払うことができませんし、存続もできません。

 

ソフトウェアやシステム開発において、様々な依頼にも対応できる他社の一歩先を行く技術を有していたり、売れているソフトウェアを手がけている企業は財務体質も安定していて従業員の給与も高い傾向があります。

 

そのため、様々なプログラミング言語を習熟しているプログラマー多く在籍していたり、ヒット製品を生み出す企業は実力が正当に評価されやすく安定した給与に繋がります。

 

 

帰れない《納期の影響により起きる》

 

社員の場合、プロジェクトの進捗が思うように進まないときでも期日通りにしっかりと納品ができるように時には残業を行います。ただ、怖いのが最後のテスト段階で重大なバグや修正に時間が掛かる作業を見つけてしまったときです。

 

ただし、この「帰れない」については、会社が今いる人員や現在のプロジェクトの請負状況を考えて、あらかじめ時間に余裕を持った受注をすれば防げる問題なので、残業のない会社も結構あります。実際に厚生労働省が発表している「賃金構造基本統計調査」でもプログラマーの残業時間は他職種と比べても平均的な数値です。

 

あまりにも残業の多いところは会社自体に問題があると断言できます。

 

 

単純にきつい

 

どんな仕事で大変やキツいと感じることはあります。プログラマーの場合だと、長時間同じ事を続けられない人や、人と関わることが好きな方にとっては辛いかもしれません。実際に働くと1日8時間の実働で終日コーディングをしていることが当たり前です。

 

ただしこれは、人によってはメリットにもなりうるものです。デスクに腰掛けながらコーヒー片手に黙々と作業を続けることに辛さを感じるのであれば、プログラマーはするべきでないと思います。

 

 

 

プログラマーの良い所

 

ちょっと今までで、ネガティブな意見をざっと書き込んでしまいましたが、ここからはメリットについて!

 

高収入が期待できる

 

プログラマーの業界は良い意味でも悪い意味でも実力重視の世界です。未経験者であれば、最初は未経験歓迎の会社に勤めることになると思いますが、そこで多くの知識と技術をため込んで転職をすることも有りです。

 

この業界は現状で人手不足なので上場企業などの大手でも技術者を募集しているところがたくさんあります。上述したように、今の勤め先で自分の実力が正当に評価をされていないと感じたのなら迷わず転職するべきでしょう。

 

筆者の周りでも、同じ作業をしているのに給料が倍になったという人や、残業が一切なくなったという方もいるので、会社ごとにそれだけ差があるのです。

 

決して身につけてきた知識は無駄になりません。中には独立して時間に余裕を持ちながら収入を上げたという強者も存在します。

 

 

実力主義

 

上述した内容に繋がることですが、プログラマーはスキルがあってなんぼの世界です。社歴や年功序列ではありません。そのため複数の言語が扱えたり、仕事のスピードが速いとメキメキと昇格できるようになります。

 

 

誰の邪魔もなく仕事ができる

 

企業に勤めると、取引先の対応やお客様からの電話対応など、何かと他者に時間を取られてしまうことが多いものですが、プログラマーは与えられた仕事に専念することができます。

 

 

プログラマーの未来は明るい

 

今後仕事の需要はますます伸びていくことが予想されます。もしあなたが今悩んでいるのであれば、迷わず挑戦をする価値がある仕事と言えるので、是非チャレンジをしてみてください。

 

技術を習得するまでは数々の茨の道が待っていることになるでしょうが、難易度が高い分、一度確かなスキルを身につけてしまえば転職や独立と食うに困ることはありません。

 

一番良くないのが中途半端に終わらせてしまうことで、せっかく苦労して身につけた知識が無駄になってしまいます。

 

プログラミングは義務教育の分野でもなく、誰もが最初は未経験から始めている為、やる気と勤勉さを持ち合わせていれば誰でも成功できる可能性はあります。

 

高度な技術を身につけて、安定した給与の企業に勤めるのも良し、または独立して会社を立ち上げたり・・・反対に適度に仕事を引き受けて時間に余裕のある生活をしたりと、選択肢も色々あるのが何よりも魅力と言えるのではないでしょうか。

 

極端な話、何かを自分で作って市場へリリースしたとき、爆発的に人気が出てそれをきっかけに法人化した方などもいますしね。とにかく一つの開発した製品が無限の可能性を秘めている点ではかなり夢のあるお仕事とも言えます。

 

大学までの生活によって今後の人生が決まると言われる日本の学歴社会においてもプログラマーはそれを覆すことの出来る数少ない仕事であるのです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です