「未経験からプログラマーになるには?」に採用担当が本音で答えます
GEEK JOB編集部
今回は現役フリーランスエンジニアのSさんにプログラマーという職業についてや学習についてインタビューをしました。これからプログラマーを目指している方にとって参考になれば幸いです。
今回は、当社とお付き合いのあるフリーランスエンジニアのSさんに、プログラマーとして成長するために必要なことや、プログラミングの学習をする上で苦労したことなどをインタビューしました。
これからプログラマーになろうと考えている方の疑問や不安を解決することができたら幸いです。
プロフィール
名前 | S・R |
年齢 | 30代後半 |
経歴 | 新卒ではプログラマーとは全く関係のない仕事を行っていたが、大学で学んだプログラミングの楽しさからプログラマーへと転職を行う。現在では業務系アプリケーション開発からECサイト、ソーシャルゲーム開発など幅広くのプロジェクトに、上流工程から携わる。 |
ー難しい質問かもしれませんが、プログラマーとして働く上で大事な能力とはどのようなものだと思いますか?
基本的には、大事なのって課題解決能力だと思うんですよね。
色んな仕事のタイプってあると思うんですけれども、課題を解決していくということに関しては、どの仕事も同じ気がしていて。
たとえばシステムであれば、パフォーマンスが悪いとか機能的に不足しているとか、運用的にやりづらいみたいな問題が出てくるわけですよね。
そういう問題にプログラマーとして参加したときに、どうしたらいいかを考えられないと、単なるオペレーター(指示を受けて、その通りに作業をする人)になってしまう。
ー 過去に入っていたプロジェクトで、若手の中でも「できる人」ってどういう点が突き抜けていたと思いますか?
単に「作業をすればいい」という考えじゃない人。やっぱりいるんですよ。
基本的にプログラマーは「これをやってください」と具体的に言われることが多いんですけれど、できる人は「それを解決したら何が起きるのか」、というのを考えられるんですよね。
ー 確かにそこが抜けている人は多い気がしますね。逆にそれができない人には、どうやって指導されてるんですか?
正直なところ、難しいですよね。
結局それができる人というのは、苦労をしたことがある人だと思うんです。できない人が多いのは、苦労した経験がないから。
学校の勉強みたいに、答えが一つ用意されているわけじゃなくて、結果が同じでもアプローチの方法は何通りもあるので、それを考える訓練をしないと。
ー 壁にぶち当たった回数というか、自分の力ではどうしようもできない状況にぶつかった回数が多ければ、学びますもんね。
そうですね。できる方は引き出しの数が多いですね。
ー 仕事をある程度任せられるようになる期間って、大体決まってたりしますか?
半年くらいはかかるかなぁ。
ー やっぱりそれくらいかかるんですね。覚えることも膨大で、なおかつ、プログラミングだけじゃないですもんね。上司への質問の仕方から問題の解決方法まで。
そうですね。人によって違うというのは、その辺もあって。プログラミングだけ未経験なのか、仕事すら未経験なのか。
プログラミングって専門的なことに見えるんですけど、やってるのは色んな事象をロジックにして再現しているだけなので、特別な事をやっているわけではないんですよね。
ー 「プログラミングは難しそう」と思う人って多いですよね。多く質問受けるのは、文系でもプログラマーになれるんですかという質問だったり、数学できないんですけどプログラムできるんですかみたいな。
どうもハードルが高く見えるみたいですね。
逆に、学生時代自分で勉強していて、プログラミングコンテストにも出たことありますという、すごいコーディングはできるけれども、仕事をしたら全然まだまだですよという人に教える方が難しいことはあります。
というのも普通にロジックを書けるものであっても、特に何も考えていない人がいるんですよね。これをこうやればいいんですよねみたいな。
ー 工夫がなくなるとか、頭が凝り固まっている状態でしょうか。
そういうわけではないんですけれども……。挫折しやすいですね、逆にそっちの方が。
ー ちなみに、挫折する人の共通項みたいなものって見えたりしますか
あまりに生真面目な人は向いてないと思いますね。
ー それって、どういうところからですか?
分からないということが、許せないと思ってしまうと思いますね。
ー どうしてもこれが分からないという状況になって、オーバーヒートしてしまうみたいなことですかね。
でも逆に生真面目な人の方が、色々なところを細かく見ることができそうでプログラマーに向いているのかなと思っていたんですけれど、実際そうではないんですね。
そうではないですね。完璧主義者であれば、自分で完璧にできるところまで行く人じゃないとつらいと思います。
ー なるほど。その点、Sさんは大丈夫でした?
そんなに真面目じゃないので(笑)
ー なるほど。(笑)
ー 新卒で入社した会社でプログラマーとして働き始めたんですか?
いえ、実は新卒で入社した会社ではプログラマーではなく全く別の職で仕事をしていました。
で、数年働いたくらいからプログラマーになってみようかなと思い勉強を始めていました。
もともとは大学でプログラミングを少しやっていたので、できるかなと思っていたんですが、いざ勉強を始めるとなかなか忘れていました。(笑)
ー 最初の頃はどんな状況で勉強されていたんですか?
本を読んで、それを実際に打ってみるという地味なやり方ですよね。1人でやっていたんですがかなり大変でしたね。
知識としては入ってくるんですが、実装できるかというとできない状態に・・・。
ー アウトプットができないですもんね。そのとき誰かそばにいてくれたらというのは、今でも感じますか?
そうですね。誰か教えてくれる人がいていつでも聞けるというのはもちろんいいでしょうし、一緒に勉強できる相手がいたらってやっぱり思いますね。
1人で勉強しているときに、わからないことがあったらずっとつまずいたままでしたからね。今考えても、聞ける人がいたらよかったなと思います。
ー 例えば目の前に「ゲーム作りたいのでプログラマーになりたいです」という人がいたらどういうふうにアドバイスされます?
作ってみましょうか、と。とりあえず作ってみることで見えてくるものがたくさんありますからね。
ゲームを表面的な部分ばかり見ている人が多くて、でも、実際には裏側に機能がたくさんあって、データもたくさん取っていて、その部分が見えていない人が多くて。
そうですね。そういうのは特徴として表れているかなと。
全体をフロントエンドとバックエンドという感じで切った場合、今ゲームを作りたいというのは、フロントをやりたいって人だと思うんですよね。大体が。
ー そうですよね。一回作ってみて、結構大変なんだよっていう。
今の時代ではそんなに大変でもないかもしれないですけどね(笑)
ー あとは、プログラマーを目指す人の中には「プログラムができればいいじゃん」という発想の人もいたりするんですけど、人に教えてもらえない限り気づかない可能性もありますよね。
そういうふうに「プログラミングができればいい」という形で生きていけるのは一部だけなんですよね。
あとは結局、実際にサービスを作り上げて運用するまでプログラマーは関わるので、お客さんが思っていること考えていることを汲み取って伝えることをできないと、人に与えるサービスとして、良いものを作りえないですよねという話になっちゃう。
ー なるほど。相手のことを思いやるというか、相手が何をしてもらったら喜ぶか考えられると。
プログラミングというと理系というイメージがありますが、使う人も作る人も人間である以上、いかに相手の考えを汲み取って、こちらの思っていることを伝えるかみたいな、基本的な能力が試されるということですね。
ー ちなみに正直な話、プログラミングやめたいなって思ったことはあります?
上手く作れないときは、そう思ってしまったことがあります。動かないとかならいいんですが、完成形にたどり着かないときや、やりたくないなっていうのは何度かはありましたね。
ただ、作るのが好きだったりするんですね。作っていくことでいつも結果がきちんと出る仕事ではあるので、そこが楽しかったり。原動力にもなりますよね。
特に今の世の中って、システム的なものありきでビジネスが動いていくわけじゃないですか。本当にそれで直結しているので、やりがいはありますよね。
ー 目に見えて出てきますもんね。しかも自分の手一つでもしかしたらできちゃうっていうのもありますよね。
そうですね、これは醍醐味だと思います。
ー 最後に一つ質問お伺いしたいことがあって、Sさんが仕事を進めていくうえで、これが一番大事なんだとか、大切にしていることはありますか?
プログラミングって個人の作業に見えちゃうんですけど、いろいろな人とのやり取りがあって初めて一つのものが出来上がるんですね。
企画する人もいれば、デザインする人もいれば、それを実際にコーディングして、形にする人もいる。色々な人の思いが詰まっていて、もちろん一人で作ることもできるんですけど、結局チームでものをつくるので。
チームとして、いかにそのプロダクトを作るかということ。そこが一番みんなが見ていなければいけないことだと思っていて。
そういう意識があれば、何かしら結果をつかむことができると思ってるんですよね。そうじゃなくて、業界的には「名を挙げたい」みたいな人もいるんですけれども。
それでも仕事はきちんとしてくれればいいんですけれども、必ずしもそうではない人もいたりして、ちょっと調整するのが難しいかなと。
自分が大事にしているところなので、そこはちょっと譲れないところかなと。
ー チームのメンバーが同じ方向を向いているときってすごく楽しいじゃないですか。一種のお祭りみたいな。
最近もあったんですけど、本当に祭りのようですね(笑)。
ー やっぱり全員が同じ方向を向いて突き進んでいるときというのは、「ここに関わっていたい」とか、「このまま突き進んでいきたい」ってなりますよね。
そうですね、それが仕事のやりがいです。引き続き、チームで良いプロダクトを生み続けるかは考えていきます。
ー もしこちらでも協力できることがあればぜひおっしゃってください。
ありがとうございます。引き続きよろしくお願いします。