プログラマーはスキルや経験が問われる職種でありますが、まだ駆け出しの初心者の場合、どのような仕事が用意されているのでしょうか。
今回は、初心者や未経験の人がプログラマーとして働く場合、最初にどのような仕事をすることになるのかについて、会社員のケースと副業・フリーランスのケースでそれぞれで解説します。
プログラマーとなった後の仕事内容について、疑問や不安がある方はぜひご覧ください。
プログラミング初心者の仕事内容について(会社員の場合)
ここでは、プログラミング初心者がIT企業に「会社員」として入社した際の、仕事内容や担当業務について解説します。(副業・フリーランスの仕事については後述)。
プログラマーの仕事とは?
プログラマーの仕事というと、プログラムのコードを書くイメージが先行していますが、仕事はそれだけではありません。
プログラマーの仕事には、主に下記のようなものがあります。
・要件定義や基礎設計(ただしシステムエンジニアがやることが多い)
・設計書の作成
・コーディング
・テスト(単体テストや結合テスト)
・デバッグ(誤りの修正)
・リリース済みのプログラムの保守やメンテナンス など
プログラムを作り上げるためのこれら一連の業務をまとめて「プログラミング」と呼びます。
そして、開発現場では多数のエンジニアやプログラマーが働いており、それぞれが自分のスキルに合った仕事を担当し、役割分担しています。
初心者がよく担当するのはテストやデバッグ
上記の仕事のうち、プログラミング初心者、入社してまもない未経験者などが、よく担当することになるのは「テスト」や「デバッグ」の部分です。
具体的には、テスト計画書などに従って、プログラムを動作させ、正しく動くかのチェックなどを行っていくことになります。またテスト計画書の内容をエクセル上で更新するなど、雑用的な業務も新人プログラマーが担当することが多いです。
入社後、最初の数か月から1年程度のあいだは、こういった事務や雑用的な仕事が多く、コードを書いたりはほとんどしないこともあります。
プログラムをバリバリと書きたいと思い描いていた人であれば拍子抜けしてしまったり、ギャップを感じてしまうこともありますが、裏を返せば、コードをさほど弄れなくても初心者のうちは仕事にさほど支障はないともいえます。
徐々に難易な仕事にシフトしていく
そして、半年、1年と現場での経験を積んでいくと、次第にテストやデバッグの仕事から離れ、プログラムにさわり実際にコードを書く仕事を任されるようになっていきます。
ただし、経験の浅いプログラマーがゼロから新規のプログラムを書くことは少なく、最初のうちは既存プログラムの修正や、先輩プログラマーと協力してプログラムを作ることなどが多いです。
さらに経験を積むと、一人でプログラムを書いたり、難しい部分のプログラムを担当させて貰えることも増えていきます。
また経験を積むと、プログラミングだけでなく、設計書の作成や要件定義などシステムエンジニアに近い仕事を任されることも増え、さらにはチームのサブリーダーやリーダーとしてマネジメントをする仕事も担当することも増えていきます。
最初のうちは悩むことも多い
プログラミング初心者の場合、現場に出てしばらくのうちはプログラミングを一切行わないことも少なくありません。
またプログラマーは、意外にも「会議」や「打合せ」が多い仕事であり、とくに大きな開発プロジェクトでは毎日のように他チームとのミーティングや擦り合わせの会議が続くこともあります。そして新人は、会議の議事録などを作成する係となることが多いです。
そのようにプログラムに触れることの少ない日々が続くことで、最初のうちは「自分はなにをやっているのだろう」「いつになったら一人前なれるのだろう」と自問自答や、葛藤することも多いです。
ただ、新人に雑用などが多いのは、「現場を覚えてもらう」「システム開発を知ってもらう」という意図もありますので、プログラマーとして誰もが通る登竜門ともいえるのです。
初心者が副業・フリーランスで働く際の仕事内容について
プログラマーの場合、初心者であっても、「副業」や「フリーランス」として働けることがあります。
ただし副業・フリーランスの場合、会社員と仕事事情が少々異なります。ここではその違いや初心者におすすめの仕事について解説します。
副業やフリーランスは具体的に仕事を選べる
会社員のプログラマーは、会社組織内で仕事が分担されます。新人プログラマーにはこういった仕事、先輩プログラマーにはこういった仕事と、組織内で柔軟に役割を分担することが多いです。また他の社員の協力やサポートをすることもあり、言い換えれば組織内でオールマイティに動けるともいえます。
対して副業・フリーランスのプログラマーは、仕事量、成果物を基準とした契約となることが多く、たとえば「〇〇のプログラムの〇〇部分を担当、〇ヵ月以内に納品」「〇ヵ月間、デバッグ作業を担当」のように、仕事内容がより具体化、固定化されております。
会社員のように柔軟に幅広い仕事を担当しにくくなりますが、その分、担当する仕事を最初に自分で具体的に選ぶことができ、担当する仕事が途中でコロコロと変わるようなことも少ないです。
初心者におすすめの副業・フリーランス向けの仕事
副業・フリーランス向けの仕事はたくさんの種類がありますが、まだ駆け出しの初心者におすすめなのは以下のような案件です。
・Web制作
・簡易プログラム作成
・テストやデバッグ など
以降ではそれぞれの詳細について深堀します。
Web制作:
Web制作の仕事には、ホームページ制作、WEBデザインの修正、アイコンの追加などがあります。Web制作系の仕事は比較的難易度が低く、機能的にも小規模なものが多いため、初心者やちょっとしたスキマ副業でも行える仕事が多いです。「HTML」「CSS」「PHP」等の基礎が理解できていれば対応できる仕事も目立ちます。
簡易プログラム作成:
例えば商品データの収集プログラムの作成、簡易ブックマークレットの作成など、便利ツールをプログラミングで作る案件です。簡単なものであれば、プログラミングを多少かじっていれば担当できることが多く、実務経験などを問わずに募集されている案件もあります。
テストやデバッグ:
テストやデバッグの仕事は難易度が低めの部類であるため、初心者にはおすすめです。ただし数はさほど多くないため、応募できる案件は限られてきます。またテストやデバッグの仕事は、副業・フリーランスでも成果物単位ではなく、「時給制」となることがあります。
以上のような初心者向けの仕事は、クラウドソーシングサービスなどでも募集されており、気軽に応募できるようになっています。簡単な仕事だと単価が安いことも多いですが、実績作りも兼ねてチャレンジしてみましょう。
上級者向けの仕事
続いて、上級者向けの難易度の高い仕事としては、以下のようなものがあります。
・アプリ開発(ただし簡易アプリであれば初心者向けの仕事もあり)
・ゲーム開発(プログラム経験だけでなくゲーム業界での開発経験が必要になることがあり)
・組み込み系プログラマー案件(家電製品などの制御プログラムなど)
・汎用系プログラマー案件
・オープン系プログラマー案件
・通信系プログラマー案件 など
たとえば「組み込み系」や「汎用系」などのシステム開発案件では、C言語やC#言語など、取得難易度の高いプログラミング言語での開発経験が問われることが多いです。開発規模も大きくなるため、プログラミング経験だけでなく、大規模案件での開発経験、各チームとの調整能力などが求められることがあります。
以上のような仕事は上級者向けであり、経験の乏しい初心者では受注できないことが多いです。
経験を積むほど行える仕事が増える
会社員のプログラマー、副業・フリーランスのプログラマーいずれにもいえることですが、プログラマーとして重要になるのはスキルであり経験です。
以下のように経験豊富なプログラマーほど、行える仕事の範囲が広がりますので、仕事の選択肢も増えます。
・扱えるプログラミング言語が多い
・経験した工程が豊富(プログラミングだけでなく設計経験があるなど)
・業務知識がある(金融サービス用のプログラムであれば金融業界の知識がある など)
・リーダー経験やマネジメント経験がある など
自分がやりたい仕事をやるためには、スキルや経験を積み、「初心者」を抜け出すことが目先のテーマとなってきます。
一歩ずつ成長していこう
以上、プログラミング初心者の仕事について解説しました。
プログラミング初心者のうちは行える仕事が限られており、「テスト」や「デバッグ」など簡単な仕事しか担当できないことが多いです。ですがそれは必然でもあり、誰もが通る道でもあります。
初心者のうちは基礎を固めることも大切であるため、日々トライエラーを重ねながら一歩ずつ成長していきましょう。