見出し画像

未経験でプログラマーになれるか? 〜 プログラミングスクールに関わるようになってわかってきたこと

副業の1つとして、プログラミングスクールのメンターを始めてから半年が経過した。その間にプログラミング初心者を約10名ほど担当してきた。色々な事情があって、プログラミングを始めよう、プログラマーになろうと思い立ち、それなりの大金を注ぎ込んでスクールで学ぼうというのは、素晴らしいことだと思う。この仕事は、駆け出しエンジニアという人を生み出している現場に関わっていることになる。まだ1つのスクールのメンターという立場だけれども、プログラミング初心者と関わってきて気づいたことをつらつらと書いてみる。

どんな仕事をしているのか

現在関わっているスクールでは、ウェブサービスを開発できるプログラマーを育成することを目的として、2ヶ月の短期間の間にプログラミング言語の学習とフレームワークを使ってウェブアプリケーション作っていく実習を行っていく。完全にオンラインのみで殆ど独学に近い。チャットですぐに質問することができ、深夜帯でなければ30分くらいで回答するようにしているようだ。といった学習を進めていく上で、学習の仕方や学習していること以外に気になっていることについて相談をする面談というものが各週で用意されている。そこで相談をするのがメンターの役割だ。

学習の状況を聞いて、次週の学習計画を立てたり、実習で行き詰まってしまったエラーの原因を一緒に調べていったり、エンジニアという働き方についての質問に答えたり、とにかく安心して学習に臨めるように色々と悩みを聞いている。回答できないこともあるけど、一緒に悩む頭を1つ貸してみるだけでも何かと安心を与えられているようだ。

どんなモチベーションか

これは非常に個人的なもので、何らかの形でソフトウェア開発に貢献してみたいな、といった漠然とした想いがあった。誰かに教えるということもやってみたかったことでもある。そう思っていた時に、たまたまスクールを運営している人からメールで連絡をもらって、それがきっかけでこういう役割で関わるようになった。

どんな受講生がいるのか

自分がこれまで担当してきた受講生は、大学生が多い。就職活動が近づいてきた学部3年生が特に多く、今年入学したばかりの1年生もいる。全て文系の学部である。社会人も何名かいた。第2新卒採用を利用してキャリアを変えたいと思っている人、まったくITと関わりの無い業界の人もいた。自分は担当していないが主婦の方も数名いるようだ。

とにかく共通しているのはプログラミングなんてやったことが無い人達だ(そりゃそうだ)。

プログラマーに対する誤解

プログラマーになりたいという動機は本当に人それぞれだ。ただ、エンジニアという職業に何かしら誤解を持っている方が少なからずいる。そういう方は「フリーランスになると自由に時間を使って稼げる」といったことが目標だと言ってくる。良いところだけをどこかで聞いてしまっていて、そこに惹かれてしまっているのだろうか。それはある側面からは正しいことではあると思うので別に否定はしない。ただ深く話を聞いてみると、その他に特別にフリーランスになりたい理由を持っているという話は出てこない。すぐになりたいとも思っていないし、「得たい自由とは何か」という質問をしても回答できない。何が原因でこういった目標を持つのかはよくわからない。エンジニア系Youtuberのせいなのだろうか、よくわからない。

あと、プログラマーは1人でコードを書き続けるものだと思っている人もいる。そういう方は、色々覚えることが多く、必要な知識がたくさんあるということがわかり始めると、やっていけるのかという不安に感じ始める傾向にある。現実は、チームで働くことが殆どだし、そういった実態を伝えると驚くとともに安心してくれる。

短い期間でプログラマーになれるのか

この手の質問には、答えるのが難しい。どんなレベルのプログラマーを想定しているのかがわからないからだ。即戦力?それは無理かもしれない。何もできないか?そうではないだろう。なれたとも言えるし、なれていないとも言えてしまう。ただ現実としては、今のスクールの場合だと卒業の時点でウェブアプリケーションをフロントエンド、バックエンドを1つ作ったという経験がある、というだけである。これをどう評価するかは、採用する人たちにも大いに依るのではないだろうか。この経験だけ持っている彼らを受け入れられるかということである。

自分が新卒入社で入った会社では、エンジニアとして採用された人たちの中にプログラミング未経験者が何人もいた。そのうちの多くは、エンジニアやそれに関わる仕事をしている。新卒研修があったおかげかも知れないが、そこまで丁寧な研修だったとも思えない(担当してくださった人、ごめんなさい><)。今自分が目の前にしている未経験者と何か違うところがあったのだろうか、と思うと、さほど無いように思う。

多くの人は未経験から始めている。始めた時期が違うだけだ。それに、1人でプログラマーとして今のレベルに到達できた人なんているのだろうか。おそらく、師匠と呼べるような人がいて、一緒に学ぶ仲間がいたりと、学べる環境があったのではないだろうか。自分にはそういう環境があった。

先日、こういった投稿を見つけた。

おそらくではあるが、先に挙げたエンジニアというものの誤解を残したまま入社してしまったのかもしれない。他にも、「スクールを出た人は、ウェブアプリケーションは作れるがFizzBuzzができない」とかそういった投稿も見かけた。そりゃそうだ、それしか教えていないからだ。それくらいしか短期間に教えられていないからだ。

即戦力はどこでも求めているのかもしれない。それは否定しないが、いつまで経っても理想な即戦力はやってこないだろう。自分たちで戦力を上げていくしかないし、そういう仲間を見つける方がまだ現実的なように思う。先の投稿の方もおそらく育成をしようとしたのではあるが、やはりミスマッチであったのだろうとは思う。

「プログラミングは楽しい」

短い期間で即戦力にまでスキルを上げていくのは難しいと思っている。少なくとも自分にはそういう育成はできそうにない。では、どういうことを教えていけばいいのか?自分が仲間にしたい、と思える人にしていこうと考えた。プログラミングを楽しいと思える人だ。楽しんでる人とは一緒に仕事をしたい。技術コミュニティなどで一緒に仕事したいと思う人達は、みんな楽しそうにしている。それに学習を持続させるのも楽しければ続きやすいだろう。数ヶ月のスクール在籍期間後もずっと勉強する必要が出てくる。その学習を持続可能にするために、楽しいということを覚えてもらおう、と。

とはいえ、具体的にできることはそこまで多くない。自分が出来ていることは、褒めて、どういうことができるようになったかを伝えてあげることだ。ちゃんと学習して身につけていく人たちは自身を過小評価していしまっている人が多い。何かできるようになると、まだ出来ないことや知らないことが多いことにも気づいてしまう。まだ先がある、終わりが見えないことに何やら不安を感じてしまうようだ。それよりも、着実に積み上げてきたものを褒めるようにしている。積み上げてきたことで、よくあるアプリケーションのどの部分が作れそうか、とか現実の成果としてイメージしやすいものを紹介したりする。

幸いなことに、多くの人は楽しさを感じてもらえているようだ。たぶん自分がすごいとかではなく、プログラミングは、プログラマーは楽しいのだと思う。それに気づきづらいだけなんだと思う。

おわりに

プログラミングを楽しく、エンジニアという仕事を誇りに思えるような人が増えていけば、きっとこの業界はもっと面白くなるんだろうなと思っている。そういった仲間を増やすための貢献を少しでもできればいいな、と思って今の仕事を続けています。きっと同じように思ってくれる人もいるのではないかと期待しています。もし、そうであれば、未経験でもエンジニアになりたいという人を助けてほしいと思っています。


最後まで読んでいただきありがとうございます! サポートで頂いたお金は、技術書の購入や勉強会参加費など勉強に使わせていただきます!