こんにちは!侍エンジニア編集部ライターのTAKUMAです。
どうやったらプログラマーになれるのかその方法について知りたい!
プログラマーにはどのようなスキルが必要なの?
いきなりですが、上記のような疑問をお持ちの方はまずプログラマー として就職したとしても、ブラック企業でこき使われるだけです。
せっかく良い条件で働けるようにと思ってプログラマーを目指しても、あなたが初心者でプログラミング未経験であれば採用される会社も限られてくるのは必然。そうなると働ける会社もSES企業のような業界でブラックと呼ばれる会社に絞られてきます。
今回はそんな初心者がプログラマーを目指すべきではない理由と本音について、詳しく解説していきますので是非ともこれからプログラマー を目指そうとしている人は参考にしてみてください。
- 初心者プログラマーはブラック企業のターゲットになりやすい
- 初心者プログラマーが優良企業に入社するには実績が必要
- ポートフォリオは学習サイトで基礎を学んでから作成しよう
初心者プログラマーが入社できる企業は殆ど「SES」だけ
全くの未経験でありながら、プログラマーとして企業へ就職することは実際には可能です。
しかし、その多くの人たちがSESと呼ばれる客先常駐型の企業へ訳も分からずに入社しているという実態があります。
SES企業に初心者が入社してしまうと、IT業界でよく聞く3Kを体現したような環境が多く、過度な残業や休日出勤を強いられるなど非常に厳しい労働環境となります。それでは、初心者がプログラマーとして就職した場合の現状をご紹介いたします。
- SESとは
- 「System Engineering Service」の略
システム開発や保守・運用を行う上で、必要なエンジニアを一定期間提供するサービス
プログラマーの一般的な働き方
プログラマーとしての働き方は、
- フリーランスで働く
- 自社開発企業で働く
- Sierで働く
- SESで働く
の4択があります。しかしSES以外の企業は実務経験を求められるなど、ある程度のスキルが必要となるため、スキルのない初心者は必然的にSES企業へ務めることを余儀なくされるといっても過言ではありません。
また、よくプログラマー (PG)とシステムエンジニア(SE)を同じに考えてしまう人がいますが、システムエンジニアとはシステム全体の設計や開発したシステムがしっかりと作動するかテストする役割があります。
プログラマー とは、システムエンジニアが作ったシステムの設計通りに作動するように、プログラムを書き上げる仕事のことを言います。
SES企業とは?
SESとは、システムエンジニアリングサービスの略語で、ソフトウェアやシステム開発、保守・運用に置ける委託契約の一種です。
簡単にいったら「委託を受けた案件に対して、会社のプログラマー やエンジニアの量力をお貸しいたしますよ!」といった感じですね。それを事業として行なっているのがSES企業となります。業態的には、人材派遣会社にも似ていますね。
また、初心者がプログラマー になるには、プログラマー として企業へ就職するしかないとは言いましたが、企業側からしたら初心者で未経験プログラマー を欲しているところは限りなく少ないです。
あなたが20代であれば、採用される可能性はあるかもしれませんがそうではない方は、面接でまず弾かれます。そういった人たちでも就職できる企業となってくると前述したSES企業に絞られてくるわけですね。
なぜ初心者のプログラマーはSES企業でしか働けないのか?
なぜ初心者で経験もないプログラマー がSES企業でしか働けないのかには明確な理由があります。どの業界でも同じことが言えますが、業務に対して経験がないものを採用する場合は教育が必要になります。
これだけ人材不足が叫ばれているのですから、会社からしたら即戦力が欲しいわけですね。社員の育成にも多くの時間と人材というコストがかかってしまいますので、全くの初心者という人は採用したくないのです。
またそういった人たちは、使い捨てのように扱われるブラック企業の良いターゲットになりガチ。特にSES企業などは、そういった風習が強く、業界自体とにかく誰でも良いので人が欲しい状況です。
優良企業では採用されないので、初心者からプログラマーになれると勘違いしてSES企業へ就職してしまう人が後を絶ちません。
SESは待遇が悪く3Kを体現したような場所
前述した通り、SES企業とは簡単にいったら派遣会社です。依頼があって現場に派遣したあとは、会社は面倒をみてくれずそこからは自分自身で仕事を完了させなければなりません。
実際には派遣会社としての申請はしていない会社が多く、IT業界のブラック企業の代名詞といっても過言ではありませんね。また、よく言われるIT業界の3Kとは、
- きつい
- 帰れない
- 給料が安い
の頭文字をとったもの。SES企業ではこの3Kがそのまま体現したような現場となっているため、辞める人も大変多く会社内では人の出入りが大変激しい特徴があります。
このような現場から常に人材不足となっており、一人一人にかかる負担も大きく長時間労働が当たり前といった仕事内容となっていますね。
実際にSES企業へ勤めていた人の口コミや評価
実際にSES企業へ勤めていた人の口コミや評価を、以下からみて行きましょう。
納期に間に合う様にだけ計算された、実現不可能な作業量のタスクを客が振ってくる。また、客が作業見積もりできない。その上で仕事ガンガン振ってくる。
出典:https://www.wantedly.com/companies/trash-briefing/post_articles/133958
社員間のコミュニケーションがしっかりと取れていないので、無理難題も関係なく押し付けるまさにブラック企業といった感じですね。
また、サービスの提供内容がしっかりと整理されていないのか知りませんが、客の作業見積もりもしっかりと整えられていない状況は作業をやる側からしたら大変困ります。
自社リーダーが調整しない。もしくは調整できない状態にいる。また、タスクオーバーの仕事を断ると、自社からお怒りが来る。
出典:https://www.wantedly.com/companies/trash-briefing/post_articles/133958
SES企業は何度も言いますが実態は派遣会社と同じです。困ったときは助けてもらえず仕事に支障をきたす時だけ連絡が来るといった感じは、まさにブラック企業ですね。
SES以外の企業に入社するにはどうすればいいか?
初心者のプログラマーの方がSESではない優良企業へ就職するには、少なからず個人での学習と実績が必要です。それに付け加えて、面接などの対策も必要になってくるので以下から具体的にどのようなことが必要なのか詳しくみて行きましょう。
開発経験などを面接でアピールできるようにしておく
プログラマー採用試験の面接ではよく開発経験について聞かれます。開発経験とは、ご自身でシステムを設計し動作するようにプログラミングを書いて、一つのシステムを開発した経験があるかどうかということです。
この経験があるかどうかはとても重要な選考基準であり、開発経験があるというだけでも経験者として見られる場合もあります。
開発経験があるかないかは、とても大事な選考基準となるので面接でアピールできるような簡単なシステムでも良いので、ご自身で自信を持って言えるようなものを作ってみましょう。それだけで、面接官の見る目も全く変わってきます。
面接でアピールするために専門資格を取っておく
どのような業界でも同じことですが、その分野の専門的な資格を有しているだけで基礎的な知識がある人として見られます。資格が必ずしも重要とは言いませんが、ないよりもあった方が良いというのは事実です。
プログラマーとして持っておいた方が良い資格としては、
- 情報システム試験
- 基本情報技術者試験
- 情報処理技術者能力検定
などが挙げられます。これらを持っているだけで面接でアピールできますし、少なからず全くの初心者としては見られることはないでしょう。
プログラミング学習に対する意欲をアピールする
個人でアピールできるものがない場合は、これまでご自身がプログラミング学習を一生懸命に行なってきたという体験談を話しても良いですね。
具体的にどのようなサービスで何をどのくらいの期間学習していたのか、明確に伝えることであなたの仕事に対するモチベーションの高さと興味・関心の高さをアピールできます。
ITの業界は常に技術が進化しており、他の業界と比べると圧倒的に情報の流れるスピードも早く、今は使える技術でも来年には新しい技術を使っていてすでに今の技術は使われていない、なんてことも十分にありえます。
ですので、自分たちの仕事に関する意欲の高さと関心の度合いというのはプログラマーにとっても、とても大事なことなのです。
初心者がプログラマーになるには準備が必要!
初心者がプログラマーとして活躍するためには準備が必要、ということはお分りいただけたと思います。では、実際にどうすれば良いのかもっと具体的にご紹介します。
開発経験を積むにはどうすれば良いのか?
初心者がいきなりシステム開発することは非常に難しいので、まずは基礎的な学習を、アプリや、学習サイトなどで行うことから始めましょう。
★おすすめのプログラミング学習サイト
これらである程度、基礎的な知識が身についたら今度は実務経験を積むことに集中しましょう。実務経験は、IT系の短期アルバイトでも良いですしクラウドソーシングサイトで提示されている簡単な案件でも結構です。
実務経験があるかないかで天と地ほどの差がつくので、とにかく業務経験を積むことを意識しましょう。
業務経験を積むことが出来たら、なるべく自身のポートフォリオを作成して、実績を面接時に提示できると自分の力量を相手に伝えやすいのでオススメです。
- ポートフォリオとは
- ここで言うポートフォリオとは、自分で実際に作ったアプリやシステムをまとめたものを意味します。
面接で役立つ専門資格を取得する方法
プログラマー にとって専門資格とは、面接などで自分のプログラミングスキルをアピールするためにとても大事な要素となります。
保持しているだけで、一定のプログラミングスキルがあると保証できるのでとても面接などでアピールしやすいポイントとなります。特に以下の7つの専門資格は、持っていたらとても面接などで優遇されやすいです。
- 基本情報技術者試験
- PHP技術者認定初級試験
- Ruby技術者認定試験
- C言語プログラミング能力認定試験
- ORACLE MASTER Bronze Oracle Database 12c
- Javaプログラミング能力認定試験
- Python 3 エンジニア認定基礎試験(ベータ試験)
また、詳しい資格の取得の仕方等については、以下の記事でご紹介していますので是非とも参考にしてみてください。
個人でできるおすすめのプログラミング学習方法
全くの初心者が個人でプログラミング学習を始めるなら、以下の3つの方法がおすすめです。それぞれの特徴を詳しくみていきましょう。
Progate(プロゲート)
アプリケーションで簡単に空き時間を有効活用して、学習ができるサービスProgate。
ゲーム感覚でサクサク学習を進めることができ、尚且つ様々なプログラミング言語が学べるのでとても初心者にはおすすめの学習アプリですね。もちろんPCでもガッツリ学習を行うことができますので、スマホとPCをうまく活用して楽しく学習を行えます。
ただ、開発環境の構築に関しては学べないのが難点。
Udemy(ユーデミー)
動画で分りやすく解説してもらいながら、自身で手を動かして学習することができるUdemy。初心者でもとても分りやすく、様々な学習ニーズ<に合わせた動画コンテンツが用意されているので、筆者も大変重宝しています。
こちらは、Progateと違い開発環境の構築なども学べるので合わせて活用するとより理解が深まりますね。動画コンテンツは買いきりなのでいつでもどこでも好きな時に、プログラミング学習を行うことができます。
ドットインストール
こちらも動画コンテンツで学習するタイプのドットインストール。Udemyとの違いは、無料で学習が行えることでしょうか。
ある程度のレベルの動画コンテンツは有料会員にならないと視聴できませんが、初心者のうちはこちらのドットインストールの無料動画コンテンツでも十分学習は可能です。有料会員になると、質問機能などが使えるようになるのでそれはそれで便利ですね。
やり始めは、こちらのドットインストールで学習を行い学習コンテンツとして足りないようであれば、Udemyで探して学習を行うという方法もアリです。
プログラマーが必ず面接時に聞かれることを調べて備える
プログラマーの面接時に必ず聞かれることは、以下の4つです。
- 志望動機、当社を選んだ理由を教えてください
- 自己PRをしてください
- 長所と短所を教えてください
- 最後に質問はありますか
それぞれの質問に対して、質問の意図がありますのでしっかりとその意図を読み取りそれにあった回答を行うように努めましょう。また以下は、各質問に対しての意図となります。
①志望動機、当社を選んだ理由を教えてください
質問意図→なぜこの企業でなければいけないのか?企業に対する熱意を聞きたい
②自己PRをしてください
質問意図→あなたの強みが知りたい。入社した後にどのように貢献してくれるのか
③長所と短所を教えてください
質問意図→短所に対して成長しようとする気持ちがあり、行動しようとしているかどうか
④最後に質問はありますか
質問意図→どのぐらい企業に対して興味関心があるのか?
面接前にしっかりと自己分析を行い、何を聞かれても良いように企業に対してもしっかりと調査しておきましょう。
初心者がプログラマーとして活躍するためには?
初心者がプログラマー として企業で活躍するために、必要なスキルについて以下から解説していきます。
プログラマー として必要なプログラミング言語を学ぶ
プログラマーにとってもっとも大事な要素だと言える、プログラミングスキル。
ご自身が就職を狙っている企業がどのようなプログラミング言語を扱っているのか調べてニーズにあった言語の最低限の知識を身につけておけば、全くの初心者でもスタートダッシュできます。
学習方法に関しては、前述した通り以下の3つの方法がおすすめですね。
★おすすめのプログラミング学習ツール
最初は何も分からない状態だと思いますので、ご自身に一番馴染みのある言語もしくは好きな言語を選んで学習を始めてみてください。また、具体的な学習方法に関しては以下の記事が参考になりますので、是非ともご一読くださいませ。
実際に自身で簡単なモノを製作してみて問題解決スキルを磨く
プログラマーには問題解決スキルがとても重要になります。プログラミングを書く上で、正しい動作をしなかった場合どこが悪いのかしっかりと判断し対処しなければなりません。
プログラマーの仕事はその繰り返しといっても過言ではないので、いかに早く原因を突き止め改善するかが鍵となります。
そのようなスキルはやはり実際の実務を通して身につけるに限りますので、ある程度基礎的な知識がついてきて自信が持てる人は、クラウドソーシングサイトやIT企業でのアルバイトなどを通して培っていきましょう。
経験が物を言うのがプログラマーの仕事といっても過言ではありませんので、しっかりと実務経験からスキルを養っていきましょうね。
簡単な仕事を受注しコミュニケーション能力を磨く
プログラマーの仕事のイメージというと、ひたすらPCの前だけで仕事しているといった人が多いですが実際にはそうではありません。
システムを開発するにあたり、システムエンジニアとの打ち合わせを行なったりチーム間で定期的に話し合ったりと多くのコミュニケーションの場が存在します。ですからプログラマーであろうと、コミュニケーション能力は必要不可欠なのですね。
ではどのようにコミュニケーション能力を向上させるかというと、これも実際の実務から身につけることが可能です。前述したように、クラウドソーシングサイトでも良いですしIT企業での短期的なアルバイトでも良いですね。
そういった実務経験からコミュニケーション力もだんだんと向上して行きます。
まとめ
最後にもう一度言いますが、全くの初心者であり未経験の人がプログラマーになるのはおすすめできません。そういった方は、だいたいSES企業へ入社してしまいブラック企業で働くのがオチです。
そうならないで良いように優良企業へ入社するために、しっかりと準備して試験を受けて採用されるような努力を今のうちから行なっておきましょう。
何事も早ければ良いという訳ではないので、しっかりと吟味して確実にスキルアップし優良企業を目指して邁進して行きましょうね。