未経験の人が IT エンジニアになるために
とまあ…えらいセンセーショナルな題名になってしまいました。思うところがあって、「どうすれば未経験の人が IT エンジニアになれるのか」について、現時点で思うことを書きます。
もちろんですが、あくまでも"ふらふら"個人が思っていることであり、各種所属組織の見解とは全く一致しません。また、いわゆる how-to ではないこともご承知おきください。ご理解いただけましたら続きをどうぞ。
■ 未経験、駆け出しの人が目指す「エンジニア」とは
「未経験だけど IT エンジニアになる」「駆け出しだけど IT エンジニアになる」という文脈での「IT エンジニア」というのはどういう存在なのでしょうか。
#駆け出しエンジニアと繋がりたい というハッシュタグを見てみましょう。
つらつら見ていると、おそらく「プログラミングができる人」がこの文脈での「エンジニア」という定義であると感じます。なるほど。
では次に、なぜ「プログラムができる人」になりたいのかを掘り下げましょう。
■ 「プログラムができる人」=人生の成功者?
Twitter や Google で検索する限り…といっても、いろいろな理由がありそうです。無理やりパターン化すると
・ 高い年収を得られるから
・ プログラミング力によってフリーランス・リモートワーカーになれるから
・ かっこいいから・キラキラしているから
といったところでしょうか(もちろん、純粋にプログラムが楽しい!と思っている人もいるでしょうけれど)。
巷にあふれる「会社に行きたくない」「家で働きたい」「これからは IT だ。ビジネスだ。」という情報に長く触れていれば触れているほど、プログラマになって高い年収 / 所属しない自由 / ステータス を得たいという想いは増しますよね。実現できれば、ある意味人生の成功者ですもの。
そうなったらとってもいいですよね。
■ そうなれるの?
今回の「エンジニア」は「プログラムができる人」と定義しました。人材紹介会社の中の人でもあり、エンジニア採用もしたことがある私から見ると、いいにくいのですが、「無理」です。
例えばですけど…皆さんの会社に「経理」の人がいると思います。程度の差こそあれ、公的資格である「簿記」というスキルを取得し、一人前の経理マンとして仕事をしています。そう、一人前として。割にお給料はそんなに高くないし、キラキラしている人が多数いるわけでもない。
経理とプログラムスキルは別物だ、市場性が違うし必要とされる規模だって違う…いやいや、本当ですか?どんな会社でも経理ができる人材は絶対必要です。一方、プログラムを組める人を必要とする会社はごく少数ですよ?
少数だからこそ貴重、貴重だから単価が高いんだろうって?なるほど、たしかにそうです。でも、貴重なのはそのポストであって、プログラムができることではないじゃないですか。そのポストに付くためには確かにプログラムスキルが必要ですが、それは、大前提、あるいは必須条件でしかありません。
つまり、他に価値が必要です。今度はそこを考えていきましょう。どんな「プログラムができる人」なら採用されるのでしょうか。
■ 採用側が期待する「IT エンジニア」
密かに敬愛している Wantedly お兄ちゃんことこばやしさんの言。おそらく、多くの「エンジニアがほしい企業」が思っていることをストレートに語ってくれています。つまり、「プログラムができる人」だけでは、あまり市場に需要はないんですね。
だからスクールはダメだとか、努力してもダメなんだ…ということをいいたいのではないのです。プログラムを書くことができるようになり、ポートフォリオとしてアウトプットできる様になったことは、無駄にはなりません。それはとても素晴らしいことです。
エンジニアが欲しいという企業に対して、プログラミングスキルを鍛えてきました。それだけではダメなの?エンジニアとは一体…ぐごご…
と迷った時には最初に戻りましょう。そう、この記事の先頭でおこなった「エンジニア」の定義から見直してみましょっか。そもそもエンジニアはエンジニアリングする人なのですけど…エンジニアリングってなんだっけ?
■ 「エンジニアリング」とはなにか
「曖昧さ」を減らし、「具体性・明確さ」を増やす行為が「エンジニアリングとは何か」という答えでもあるのです。
広木大地さんの『エンジニアリング組織論への招待』より引用しました。エンジニアリングとは、不確実なものをできるだけ確実にしていくこと…もっと乱暴にいえば「問題を解決すること」です。エンジニアリングする人、つまり、「問題を解決する人」がエンジニアと呼ばれます。
なので、採用側が期待し、エンジニアが身につけているはずの能力は、「問題を解決できる力」です。
そういう意味では、プログラミングだけでは問題は解決できません。複数ある手段の中の一つではありますけれど、プログラミングするまでもなく解決できる問題は、この世の中にたくさんありますよね。
でも、プログラムがたのしいし、プログラムでなんとかしたい。
じゃあ、プログラムで問題を解決する練習をしましょう。
■ 問題解決力を鍛える
未経験、かつ、勉強を始めた駆け出しエンジニアの方向けに限定しますが、実は意外に簡単です。
いま、あなたがしている仕事をプログラムを書くことで解決してみようとしてください。現在の仕事がそもそもパソコン関係ないのであれば家庭内の問題を解決してみよう、でもいいんですよ。
何が問題かを捉え、その問題を「プログラムを書くという軸で」どう解きほぐすかを考えてみてください。
カップラーメンがうまく作れないなら 3 分間タイマーのプログラムを作るでもいいです。一人暮らしのじいちゃんの生存確認出来るプログラムを書くとか素敵じゃないですか。
そのためにはどんなプラットフォームを使えばいい?言語は?開発するまでもなくそういうサービスが有る?アレ使えそうかな?コレの知識も必要かも?などなど、やれるもの・やらなきゃいけないものが一気にたくさん見つかります。それらの知識をちょいちょいとでも吸収することでも、問題を解決する力を飛躍的に高めることが出来ます。
■ 未経験の人が IT エンジニアになるために
長々と書いてきました。まとめていきましょう。
・ ITエンジニア ≠ プログラミングができる人
・ IT エンジニアとは、IT を使ってエンジニアリングをする人である
・エンジニアリングとは、問題を解決することである
・エンジニアがほしい会社は、問題を解決する「力」を欲している
・エンジニアになりたい人は問題を解決する「力」を鍛えていこう
ということになります。この解決能力をうまくアピールすることができれば、ぐっとエンジニアとして採用される率が高まると思います。
ただ…正直にいいますが、現場を経験したことがない(=未経験)エンジニアが「希望に沿った就職先」を得るのはめちゃめちゃ難しいです。
なぜかというと現場はもろに「問題解決力」を鍛えられる場だからです。だから、数々の現場を踏んできた人はエンジニアとして信頼され、エンジニアで在り続けることができるのです。
なので、未経験でも現場をすぐに経験できる会社を探して飛び込んでしまうという手段は有効です。そこで実力と実績をためて、最初に憧れ、目指したようなところへ再度転職をするというのは、キャリアパスとしてアリだと、私は思っています。
他にもいろいろ方法や考え方があるかと思います。それを否定しようという意図も攻撃しようという意図もありません。これを読んでくれた人が一度立ち止まって、いろいろと考えるきっかけになったら嬉しいな、と思います。
ここまで読んでくれて、ありがとうございます。では、また。
この記事が気に入ったらサポートをしてみませんか?