それでもプログラマーをやりますか?

プログラマーになりたいという人はここ最近増えてきている。とくに理由として上がるのは、いい年収を得たいということ。実際、プログラマーの労働環境は昔よりも良くなっているのかもしれない。技術が格段に進化したことでプログラミングの勉強コストが下がり、プログラミングスクールというのも増えているのでプログラマーになるための敷居が低くなったのは事実である。

しかし、いい年収を得る手段としてプログラマーになることは選択肢としてはありだが、結局のところ安直な手段と言わざるを得ない。もちろん、プログラミングが好きであったり自分に向いているということが大前提であれば、ぜひ、プログラマーになっていただきたい。そうでなければ、運良くプログラマーなれたとしても苦痛を強いられることにる。

どんな職業でもそうだが、プログラマーになりたい人は、プログラマーというのがどういった職業であるかを必ず知っておくべきである。さらに、会社によってプログラマーの仕事の範囲は全く異なる。この認識を持っておかなければ、間違いなくプログラマー人生は詰む。今の時代、情報はいくらでも手に入る。知り合いのプログラマーに聞くのもいいし、SNSプログラマーをやっている人に聞くのも良い。ITエンジニアが参加する勉強会も良く行われていたりするので、そう言った場で聞いてみるのも参考になる。気になる会社がカジュアル面談をやっているのであれば、そういった場でプログラマーの業務範囲を聞いてみるのも良い。まずは、プログラマーがどんな職業であるかを調べるところから始めること。プログラミングの参考書を読んだり、プログラミングスクールに行く前に必ずやるべきことである。

職業を続けられるかどうかは、その職業が自分に向いているか、もしくは続けなければならない理由があるかにある。前者はとくに説明をしなくても理解できるだろう。後者は、例えば生活がギリギリでとにかく働かなければならない人や、守るべき家族がいることが挙げられる。稀に何かに迫られて延々と続けられる人がいるが、その方々は例外とする。これに加え、とくにプログラマーは根性がいる。根性論を唱えるわけではないが、誠に事実で根気が必要な職業である。プログラマーは技術的難題に直面することがしばしばあり、その難題は予期せぬことが多い。納期や顧客にも迫られる宿命にあるので難題はより一層極まる。会社によってはプログラマーが顧客の前に出ることもあり、そういった会社では人間関係や技術的課題に揉まれることは間違いない。とくに中小企業やベンチャーは自分の裁量で仕事を進められることを謳っている会社が多いが、人が少なく業務を手広くやってもらいたいことへの言い逃れも含まれている。そういった会社で自分の業務に集中することはできないと思っておいた方がいい。会社の理念や事業に共感できるのであれば良いが、そうでなければ中小企業、ベンチャーはお勧めできない。

世の中のIT企業は、自社開発と受託開発に分けられよく比較される。両者は事業はもちろん組織体制も違う。自社開発はエンドユーザーに対してサービスを提供し、受託開発は顧客からシステムの開発依頼を受けることでサービスを提供する。自社開発ではエンジニアの役割がはっきり分担されることが多く、フロントエンドエンジニアやサーバーサイドエンジニア、インフラエンジニア、SREエンジニア、QAエンジニアなどといった職種がある。こういった組織ではプログラマーは開発に集中する環境が整っているであろう。一方、受託開発はせいぜいフロントエンドエンジニアやサーバーサイドエンジニアに分けられているぐらいで、一人がカバーする範囲が広い。受託開発では一人に対して単価をつけてサービスを提供するので、雇い主として何人も雇うよりは一人に幅広く業務をやってもらうことが好都合でコスパがいい。とくに受託ベンチャーは資金力がないので広く業務を担当できる人材が必要となる。ここで問題なのは、こういった背景を知らずに受託ベンチャーに入ってしまうことだ。ベンチャーは採用経験が浅く、比較的入りやすいことが事実なのでミスマッチを起こしてしまうことがしばしばある。業界経験のある人であればまだいいが、未経験からとなると仕事に一苦労なうえに理想とのギャップに思い悩む可能性がある。そうなれば、業務経験を積むために根気強く続けるか、諦めて辞退するかのどちらかを取るしかない。業務経験を積むために根気強く続けることはいいことだ。ベンチャーでなければ経験できないことは沢山あり、勉強になることは沢山ある。しかし、あまりにも本来の仕事とは別の仕事に追われるのであれば辞めるのが先決であろう。辞退することも悪くない。辞めることを早い段階で決められることは、お互いにとっても大切なことである。ある程度時間が経ってしまうと、その人しかできない業務というのが出てくる。そうなる前に辞めることは、業務の支障を回避するためにも得策と言えるし、何より早く身の状況を判断できたことは素晴らしい能力である。

受託開発会社の割合はIT企業全体の65%以上を占めている。これは年々増加傾向にあり、受託開発会社の需要が上がっている証拠でもある。世の中の多くの会社は時代の潮流によりシステム化を急かされている。エクセルで管理していたものをWebに移行したり、業務効率化のためにシステムを導入したりと様々あるが、唯一言えることは、どれも人件費削減のためである。また、新たなITビジネスを開拓するために新しいサービスを開発することも受託の需要を押し上げている。しかしながら、開発というのは失敗が多い。サービスができたはいいものの、需要に伸び悩んだり、開発自体が止まってしまうケースがよくある。理由は様々で、そもそもビジネスの詰めが甘かったことや資金不足による継続困難、外注先の対応力などがある。途中で止まるとなるとやりがいも何もない。サービスを提供するところまで進んだはいいものの、1年足らずで終了してしまえば、何を作っていたんだろうかとなる。委託先に問題があるのであれば責任は委託先にあるので話は別だが、結局途中で止まってしまうサービスというのは本当に必要なのか怪しい。継続して使われているサービスの中にも怪しいものが多々あるが、そういった怪しいサービスは電気と労働を無駄に消費しているだけなのではなかろうか。開発会社の経営者は利益が入ってくるのでいいかもしれないが、だいたい揉め事になる。継続困難なので今月で終わりですと易々と言われても雇用者はただの使いっ走りになってしまうのがオチである。そういう環境に身を置きたくないであろうが、よくある話である。

プログラマーを目指すと、多くの人は受託開発をやっている会社に入るのではないだろうか。業務経験を積むという点では受託を選択することは良いが、どれぐらい受託開発を続けるのかあらかじめ決めておいた方がいい。区切りを付けておかなければ、延々と使いっ走りになる可能性すらある。30代後半に入ってくると転職は難しくなる。何かずば抜けて得意なことがあれば別だが、プログラマー人生だけでなく人生そのものが詰みかねない。

受託について消極的なことを述べてしまったが、否定しているわけではないことはご了承いただきたい。受託会社があるからこそIT市場は成り立っているし、何より雇用を産んでいることは感謝に値する。

以上を読んでプログラマーについてどう思っただろうか。それでもプログラマーを目指したいのであれば、ぜひ目指していただきたい。少しでも迷いが生じたのなら一度立ち止まって良く考えるべきである。

参考

www.soumu.go.jp