未経験からWebエンジニアになる確実な方法

2019年7月31日水曜日

IT

未経験からWebエンジニアになる方法

今日は、プログラミング未経験からWebエンジニアとして働けるようになる方法について考えていきましょう。


Twitterなどで色々な方のつぶやきを見ていると、プログラマーやエンジニアとして働いた事はないけれども、IT業界やWeb業界に技術者として転職したい方々の意見を目にすることがあります。

僕自身プログラマーをやっていて、プログラミングはとても楽しいですし、一度技術を身に付けておけば、転職の際にも非常に役に立つと思います。

「手に職をつける」
と、よく言いますが、
エンジニアはまさにこの典型だと思います。


そのため、今の仕事よりも待遇を良くしたい方々から、一定の人気があるのだと思います。

僕はプログラミングやシステム開発に興味を持ってくださる方が増えることを嬉しく思っていますし、年齢等に関係なくチャレンジをしている方の応援をしたいと思っています。

ただ、ただ闇雲に1人で学習を進めていても、うまくいかないことも多いかもしれません。



僕は新卒で大きめのIT企業に入社し、しばらく技術を学んだ後、フィリピンの現地企業で働き、今は日本のWeb系企業でエンジニアをしています。

フィリピンに行く前はSIerと呼ばれる業界で働いていましたし、現在はWeb系サービスの開発を行っていますので、どちらの業界も経験し、雰囲気や傾向を自分なりに感じてきました。

僕はまだベテランと言える年齢では全くありませんが、一応内側からIT業界を見てきた経験をもとに、これからIT業界への転職を考えられている方の助けになればと考えました。

もし自分の経験が、あなたの就職、転職活動の役に立てば幸いです。


まずは「未経験」というレッテルを外すことに注力する

まずは「未経験」と言うレッテルを外すことに注力する

プログラミングやシステム開発の業務を行ったことがない場合は少しイメージがしづらいかもしれませんが、独学やプログラミングスクールなどで学べるスキルと、実務の中で学んでいくスキルはかなり毛色が違うものであると思います。

当然、業務においてもプログラミングや技術に関する基礎知識は必要となるのですが、業務の中ではそれだけではなく、

問題にぶち当たった時にはどうするべきなのか、ということや

どういった態度や振る舞いで周囲のエンジニアと接するべきなのか、ということ

開発の業務フロー、
開発に関連する設計書の作成やテストの実行、
スケジュール的に厳しくなってきた時の動き

などなど、実際に業務をやらないと身に付かない知識やスキルが多くあります。

そして、それら全てを総合して
「自分自身が本当にエンジニアに向いているのか」
「楽しくシステム開発を続けていくことができるのか」
という事は、実際に業務の中で周囲と一緒にシステム開発を行ってみないとわからない部分が多いです。

実際に業務を行っているエンジニアたちはそのことをなんとなく感じていますから、独学で技術力を磨いたり、プログラミングスクールで体系的な知識を身に付けてきたと言われても、実は心の奥底では少しピンと来ない部分もあるはずです。

そして、独学やプログラミングスクールの中で技術力を身に着けるにしても、ずっと業務の中でシステム開発を行っていた人たちと肩を並べて業務をしていくことができるレベルに達する事は、もしかしたらすごく難しいことかもしれません。

なぜなら、仕事で開発を行っている人は1日中システムと向き合って今日も明日も開発業務を行っているわけですから、その成長速度に独学で追いつくというのは、とても大変なことです。

もしかしたら、どんどん差が開いていくばかりかも知れません…



少しネガティブなことばかり書いてしまいましたが、

それらを踏まえた上で、未経験の方がITエンジニア、Webエンジニアとしての仕事を獲得していくためにはどのようにすれば良いのかという現実的な方法としては、

私は、
「とにかく未経験というレッテルを外す」
ということが重要なのではないかと思っています。



就職の面接においては、少なくとも一度は、現場で実際に働いているエンジニアの方と、直接面接をする機会があると思います。

その際に、現場のエンジニアの思いとしては、先ほどご説明したように、やはりいくらプログラミングや技術を学習してきたといっても、業務未経験の方を採用して仕事を任せるという事は、合理的に考えて非常にリスクが高いことなのです。

私が現在働いているWeb系の企業において考えてみると、どうしても、完全な開発業務未経験の状態の人が入社してきて、開発業務を行う事は、少しイメージがしづらいのです。

もちろん、大学や専門学校を卒業した新卒の新入社員が入社してくる事はあります。
ただ、他業種からの完全な開発業務未経験の方の転職というのは、基本的にはありません。

20代であれば可能かもしれませんが、30代となってくるとなかなか厳しい戦いになるのではないかと思います。

特に、待遇が良いような優良企業の場合だと、開発業務の経験者でさえも採用面接で落とされることもあるぐらいですから、実務経験がない状態でそういった高待遇の仕事を獲得する事は、非常に困難であると考えた方が良いでしょう。



もちろん不可能ではないと思いますし、あなたに本当にプログラミングの才能があれば、実務経験者を独学で追い抜いてしまう位の実力を身に付けることができるかもしれません。

ただ、あなた自身が、そういうタイプの人ではないと思うのであれば、少し現実的なステップを踏んだ方が良いかもしれません。



そのステップとは、まずは先述のように、とにもかくにも未経験のレッテルを外すことです。

必ずしもWeb業界ではなくても、
「前職でプログラミングを用いた開発を行っていた」
と言えるだけで、全く聞こえは違ってきます。

そうすれば、エンジニア達からこのようなネガティブな印象を持たれることはありません。

そこまで細かい条件を気にすることなく、エンジニアとして開発を行えるのであれば、まずは飛び込んでみることをお勧めします。


いきなり人気のWeb企業に就職するのは難しいかもしれません。

そういった場合は、SIer業界の下請け企業なども視野に入れながら、とにかくエンジニアとしてのキャリアをスタートさせることを優先させるべきだと思います。

なぜSIer業界の下請け企業を視野に入れるべきだと考えているかというと、業務未経験でもエンジニアとして入社できるチャンスが多いからです。

業態によっては、独学による事前の勉強など、一切することなく採用される企業も多くあります。


SIerはその体質上、ユーザー様と直接やりとりをする企業と、実際に開発業務を行う企業が別である場合が非常に多いです。

「多重下請け」などという言葉で表されることもありますが、何重にも下請け構造が重なり、開発者に仕事が降りてくるまでに、いくつもの会社を経由している場合もあります。


こういった日本のSIerと呼ばれる業態は、正直あまり評判が良くなく、良い印象を持たれていない方も多いのではないでしょうか。

事実、私自身もSIer業界で働いていましたので、風土や業界の体質の悪さを感じる場面もありました。

ただ、業務未経験でも入社しやすいというのは事実です。


何故かと言うと、SESや準委任契約と呼ばれる契約形態で開発に当たる場合があるからです。

この契約形態は、開発現場に派遣されてプログラミング業務などを行うような形態です。

ですから、こういった契約形態で働く場合は、基本的にはお客様先に出向いて開発業務に当たることになります。

こういった場合は、基本的にはあなたが所属する会社は人を派遣することが主な仕事で、自社で開発を行う事は全くない場合も多いです。

とは言え、SES契約で人を派遣する会社もれっきとした会社ですから、そういった会社に就職すれば、正社員の開発者として働くことができます。


なぜこの契約形態で人を派遣するような会社であれば、未経験でも入社しやすいのかと言えば、開発におけるアウトプットが直接的に自社の売り上げには影響しないからです。

もしあなたがSES契約で人を派遣するような会社に就職した場合、あなたはお客様先で一定時間業務をこなすことによって、その時間に応じたお金を稼ぎ、その分のお金が自社に入ることになります。

そして、その契約内容には特に成果物等が規定されているわけではありませんから、業務時間さえお客様先で過ごすことができれば、悪い言い方ですが、何のアウトプットも出さなくても、会社としてはお金を受け取ることができるのです。

こういった契約形態で業務を行うことになる場合、最も大事な能力は技術力ではなく、コミニケーション能力になってきます。


コミニケーション能力といっても、面白い話をして人を笑わせる能力や、強く意見を主張する能力のことばかりではありません。

黙々と一生懸命業務に取り組んでいる姿がお客様から評価され、お客様と良好な関係を築くことができるのであれば、それも立派なコミニケーション能力の1つです。

極論、お客様に気に入られてさえいれば、何のアウトプットも出さなくても契約を更新してもらえることになります。

契約さえ更新してもらえれば、自社としては売り上げが上がるわけですから、あなたを社員として雇うことに何の文句もないわけです。

逆に言えば、どんなに技術力が高かったとしても、お客様に嫌われて契約を切られてしまえば、この業態の企業では自社としての儲けはなくなってしまいます。


こういった背景から、コミニケーション能力が高い他業種からの転職者にも広く間口が開かれているのが、こういったビジネスモデルの企業です。

もし、あなたに前職で、他業界での経験があるのであれば、それをフルに生かして働きながら、現場でプログラミングやシステム開発が学べるかもしれません。


正直、このビジネスモデルは非常に闇を抱えていますし、あなたが本当に技術者としての道を歩みたいのであれば、こういった業界に長居する事はあまりお勧めできません。

ただ、未経験者であってもエンジニアとしてのキャリアを詰めるという点においては、この仕組みを利用する価値は大いにあると思います。



こういった業態の会社に関して、もう一つよく言われることとしては、

「どんな技術を用いた現場に派遣されるかによって、あなたが身に付けられる技術が変わってくる」

ということです。


このことは、
「案件ガチャ」
などと揶揄されることもありますね。


ただ、自社の営業の方達に「Webシステムがやりたい」と強く主張し続けていれば、ある程度主張が通る可能性も大いにあります。


「どうしてもCOBOLの案件でやって欲しい」などと言われてしまうと、少々厳しいものがありますが、Webシステムであれば、どんな言語においても通じるものはあります。

もしあなたが全くの未経験ということであれば、
Webプログラミングに慣れる上では、正直、サーバーサイドでどういったプログラム言語が使われているかという事は、そこまで決定的な問題ではないと思います。

サーバーサイドプログラミングに関しては、どんな言語でも通じるものが多くあります。



ですから、あまり業態などにとらわれることなく、システム開発の経験を積むために、まずは飛び込んでみることをオススメしたいです。


最初は大変なことも多いと思いますが、1〜2年間でも業務をこなすことができれば、あなたはもう開発業務未経験ではありません。

その間に、個人でも学習を続けながら、Web系企業で働けるだけのスキルを身に付けていきましょう。

そうすれば、もっと待遇の良い業界・業態の企業に転職するにしても、胸を張って面接等に挑むことができるでしょう。


未経験を脱出したら、自社の製品・サービスを持っている会社に転職する

未経験を脱出したら、自社の製品・サービスを持っている会社に転職する

これは私の個人的な意見も入っているのですが、ある程度経験を積んだら、自社製品を作っている会社に転職するのが良いと思います。

基本的にSIer業界がブラックと呼ばれる根本原因は、
「ユーザーと一緒に納期や仕様を決め、オーダーメイドでシステムを開発する」
という業態にあります。


お客様(ユーザー)にも予算があり、安く済むならそれに越したことはないわけですから、できる限り短い納期で、安く作れるIT企業に発注をしようとします。

開発期間が長くなれば、その分開発者の人件費などの費用が必要になるわけですから、品質を犠牲にすることなく、短い納期で開発することが、IT企業側には求められるのです。


IT企業側としても、なんとかしてユーザー様に自社を選んで頂いて、仕事を貰わないと立ち行かなくなりますから(接待漬けにする、などのトリッキーな手段を使わない場合は)、できる限りお客様の要望を聞きながら、短い納期でスケジュールを引かざるを得ない場合も多いです。

そのスケジュールに従って開発に取り組んでいくことになるわけなのですが、
開発において、
「何のトラブルもなくスムーズに進む」
なんてことは、ほぼないと考えて良いでしょう。

開発メンバーの離脱や、スキルアンマッチ、ユーザからの要件追加や、開発後半での予期せぬバグによる手戻りなど、
システム開発にはトラブルがつきものです。

バッファをとっていないギリギリのスケジュールで開発を始めてしまうと、少しでもトラブルが発生した場合、その遅れをキャッチアップする術がありません。

追加で開発要員を投入するにしても、それを行うためには人件費がかかりますから、予算に余裕が確保できていない場合は、それを行うこともできません。

結果として、最初からプロジェクトに参加していた要員だけで遅れを取り戻さなければいけなくなります。

しかし、一度遅れ始めたプロジェクトを正常な状態に戻すことは、容易なことではありません。

遅れを取り戻したいあまり、無理な残業が続くような状態が継続すれば、体調を崩した要員の離脱による、さらなる遅れの原因になることもあります。

そういった要員の離脱による遅れは、残されたメンバーの頑張りによってカバーされなければいけません。

システム開発を完了しなければいけない納期は、お客様と約束をしたものですから、そう簡単に変えられるものではありませんし、変えて下さるお客様もそう多くはありません。

これはIT業界でよく言われる
「炎上プロジェクト」
と言うものですが、正直、SIer業界はどこもかしこも炎上プロジェクトばかりです。


そもそも、お客様と一緒に開発スケジュールを考え、お客様に言われた通りの仕様で、オーダーメイドの開発を行うこと自体が、構造上非常に難しいことなのです。

ですから、この業界のプロジェクトマネージャーには非常に高度なスキルが求められますし、現実問題として、そのような高度なマネジメントスキルを持ったマネージャーはあまり多くありません。


ですから、こういった業界で働き続ける限りは、あまり待遇の良い環境で仕事をすることは叶わない場合も多いでしょう。

特に、開発者としてプロジェクトに参画するのであれば、あまり良い待遇は期待しない方が良いかもしれません。


では、ある程度開発経験を積んだエンジニアが目指すべき業態はどういったものかと言うと、
私は
「自社の製品やサービスを開発するような仕事」
を探すべきだと思います。


ここで間違って欲しくないのは、「自社で」開発するのではなく「自社の」製品やサービスを開発するということです。


どういうことかと言うと、仮に自社に案件を持ち帰って開発を行うような業態であったとしても、結局は先程の問題の根本解決になっていない場合も多いからです。

ただ単にSIer業界の下請けの開発業務を、自社に持ち帰ってやっているだけの場合も少なくありません。

私が目指すべきだと思っているのは、お客様に対してオーダーメードの製品を開発して納品するスタイルではなく、SaaS形態のサービスのように、新機能のリリースや開発の納期をある程度自社でコントロールできるような会社です。

もしくは、メーカーなどで、自社製品のソフトウェア開発部分を担当することも視野に入るかもしれません。

特定のお客様に対してオーダーメイドで開発して納品するようなスタイルの業態よりも納期の融通が利く上に、自社の製品やサービスを軸にしたビジネスが順調にいっている企業であれば、働いているメンバーの間にもある程度余裕が見られます。

ですから、多少技術で劣っているような状態で入社してしまったとしても、業務を教わりながら成長していける環境を得られる可能性もあります。


ここでの優良企業の見極めは非常に難しい部分ではあるのですが、前述のようなビジネスモデルの違いも1つの判断基準として覚えておいて頂けるとうれしいです。


「未経験からエンジニアになんてなれるわけない」と言う人の意見は聞かない

「未経験からエンジニアなんてなれるわけない」と言う人の意見は聞かないようにする

何事もそうだと思うのですが、人が何かをチャレンジしようとするときには、必ずネガティブなことを言う人が出てきます。

少し根性論みたいになってしまいますが、そういった時に大切な事は、いちいちそのネガティブな意見に反応してしまわないことだと思います。

現実的なステップを踏んで少しずつ経験を重ねていけば、Webエンジニアになる事は全く不可能なことなどではありませんから、足を引っ張りたい人の意見は適当に聞き流すのが良いでしょう。

実際に未経験からエンジニアに転職して働いている人も多くいるわけですから、諦めずに取り組めば、達成できない目標ではないはずです。


私もこの記事の前半では、少し厳しい感じのことを書いてしまいましたが、私の意見だって、すべての人に当てはまるものではないはずです。

ポテンシャルには個人差がありますし、技術力とは違う部分でアピールできる強みを持っている人も多くいることでしょう。

「現実的なステップ」など踏まずに、いきなりWeb系の優良企業に就職することだって、人によってはできるはずです。

ですから、あまりネガティブな意見には耳を貸すことなく、自分に合ったやり方で少しずつ目標に近づいていってください。



あきらめず、現実的なステップを踏んで未経験からエンジニアを目指そう!

あきらめず、現実的なステップを踏んで未経験からエンジニアを目指そう!

いかがでしたでしょうか。

少し厳しい実情も書いてしまったかもしれませんが、耳障りの良い事ばかり書いているような広告に踊らされて、現実的でない道筋での努力を続けてしまう事は、本人の人生にとっても良いことではないと思います。


目標を掲げて、そのために努力を続けていく事は素晴らしいことです。

私も、年齢にかかわらず挑戦を続けている方の応援をしたいと思っています。


ただ、一度目標を掲げたら、恐らくその目標の達成のためには、ある程度「方法」の部分は柔軟に取り組んでいく必要があると思います。

いきなり目標としているところに到達できなかったからといって、悲観的になるのではなく、現実的なステップを踏みながら、一歩ずつ目標に近づいていくことが重要だと思います。

この記事が、あなたが未経験からWebエンジニアになるための助けになれば幸いです。

最後まで読んでくださり、ありがとうございました。