この半年で人生が大きく変わりました
そう話すのは、ナナメウエでiOSエンジニアになるために修行をしている小森武史氏。半年前にプログラミングと出会い、それまでは想像もしていなかったエンジニアを目指して日々ストイックに勉強を続けています。前回に引き続き、小森氏がどのようにプログラミングを学んでいるのか、その様子を紹介していきます。
これからエンジニアを目指すという方は是非前回の記事と合わせて読んでみてください。
プログラミングの勉強の日々、めっちゃ楽しいです
-- 今は起きてから寝るまで、プログラミングの勉強と会社のタスクというストイックな毎日を過ごされていると思うのですが、楽しいですか?
はい。最高に楽しいです。もちろん、進めていく中でもっと効率いい方法があった時には、失敗したなと悩むこともあります。
ただ、スタートアップという環境もそうですし、プログラミングもそうですけど「自分はもしかしたら、今何かおもしろいことをしてるんじゃないか?」みたいな、そういう感覚があります。
半年前までの自分では全く知らない、想像もできなかった世界にいるわけで、実際小さなスタートアップから面白いサービスがどんどん生み出されてきているのを肌で感じています。
もし失敗したら失敗したで、自分が本当にやりたいと思ったことなので別にいいとは思っていて、今はとにかく楽しいので、とにかく全力でやりきろうと思っています。
-- 楽しいというのは、何が楽しいのでしょうか?
文字(コード)を書いただけで、実際に動く。もう本当にシンプルですし自己満足かもしれないんですけど、それがすごい楽しいです。
画面に英語の文字みたいなのものがたくさん書かれていて、最初はただかっこいいなあっていうそれぐらいだったんですけど、自分で書いたコードが反映されて、画面上に文字が表示されたり、何かが動いたりするのが嬉しいです。
--ジョインされたのって12月半ばですよね。 そこから4か月程過ぎて、何か自分の中で変化はありましたか?
プログラミングの話ではないんですが、英語に対してもっと真剣にやんなきゃなっていうのをすごく感じるようになりました。
というのもナナメウエには、外国人の社員さんが何人もいて、そこでやっぱり英語の重要性を痛感したというか、英語をもっとしゃべれたらいろいろできることが増えるなと思っています。外国人の人と一緒に仕事ができるというのもそうですし、英語で書かれた資料を読む機会も多いです。
英語といえばTOEICくらいで、そんなに必要性を感じていなかったんですけど、実際にスタートアップで英語を日常的に使う環境になって、自分の英語に対しての認識がものすごく変わってきたというのがあります。
-- なるほど。確かに外国人の社員さんの比率が高いですもんね。エンジニアとしてはどうですか?
そうですね。そもそも文系でしたし、エンジニアという職業は遠いというか、11月までは選択肢の中に入っていませんでした。 だから自分がエンジニアになろうとしているのが本当に不思議です。人って半年で大きく変われるんだなと思っています。
-- これからはエンジニアとしてチャレンジしていきたいと思われているんですよね?
もちろんです。エンジニアとして会社に貢献していきたいです。そのために入社したわけななので。
今はそこでまだ貢献ができないから、自分ができることをやってナナメウエの環境を良くしていこうと思ってやっています。でも、やっぱりコードを書くのが好きですし、エンジニアとして会社に貢献できたり、支えになれたらいいなぁとは思っていて、そこが最初の目標です。
プログラミング学習は最初はわからないのが当たり前。それを前提に進めることがポイント
-- さっき後輩のインターン生のサポートをされているというお話があったじゃないですか。どんなことをされているんですか?
この4月に3人くらい後輩が増えて、トータルでだいたい4人ぐらいにプログラミングの勉強法を教えています。
もともと僕が教わっていた社員さんが業務が忙しくなってしまって、十分に時間が確保できなくなったこともあって、力不足が否めない状況ではありますが、僕が教えています。
基本的には個人で課題をやってもらう形になりますが、いろいろと教えているうちに自分の勉強にもなりますし、自分なりに工夫して伝えた時にわかったと言ってもらえると、「こんな自分でもプログラミングを教えることできるのか」と、それがまたおもしろかったりします。
-- じゃあ、インターン生のサポートというのは、プログラミングをやったことのない後輩の方に、プログラミングを教えているんですか。
そうです。そもそも会社としてエンジニアを育てていきたいと思っているので。
僕も3ヶ月程度なので、人に教えられるレベルでないことはわかっているんですが、自分自身が文系で試行錯誤しながらプログラミングを勉強してきたので、その経験を伝えることはできるのかなと思って、自分なりに工夫しながらやってはいます。
-- 教える時にどんなことを意識しているんですか?
これは僕が先輩に言われた言葉でもあるんですけど、「最初から完全に理解することはできないから、そのわからない状態をコントロールしながらも、いかになんとなくでもわかったというニュアンスに近づけて行くかが重要」ということは大切だなと。
初心者で全てを理解するのはやっぱり難しくて、そこにこだわりすぎちゃうと挫折しちゃうんですよね。だから最初から全部が理解できなくても心配することはないというか、実際にやってみてわかる部分もあるということは伝えています。
例えば「ここがわからない」と質問された時に、その意味を全て説明しようとすると、多分その意味を説明するために使う言葉の意味さえも分からないっていう状態があったりするので、取りあえずはわかる範囲で教えてあげて、わかんないであろう言葉は伏せておくようにしています。
いずれわかるであろうというスタンスは意識しています。
-- ご自身が今まで学んできたときの考え方もそれに近いですか?
先輩に同じことを言われて、「今わかんなくてもいいんだ」って思いながらやってました。そうすると最近になってきて「あ、ここってこういう意味なんだなあ」と腹落ちしたりして。そういう機会が増えました。
-- じゃあその、わからない状態を良しとするというか、最初からそういう前提で勉強するのが挫折しないための1つのコツだったりするんですかね。
はい。僕の場合もそもそも情報系の学部ではなかったので、そもそも前提として必要な知識みたいなものが全くなかったところから始めました。
そうすると進めていく上でわからないことがあるのは当然なので、それが悪いことではないというか、当たり前だと思ってやるだけでもハードルは下がるかなと思います。
プログラミングは根気よくやり続けるしかない
-- プログラミング学んでてしんどいと思ったこととか、大変だったことってないんですか?
大変というか、単純にわからないことが多いと頭がパンクしそうになります。
--そのわからない時っていうのはどうするんですか。とにかく調べるしかないんですかね。
基本的にはわかるまで調べる。それが長い時間も続けば、大変かなという感じです。
-- そういう時でも基本的には根気よくやるしかないわけですよね。
はい。後輩が長時間悩んでいたりするとやり方を教えてあげたりはしていて、あまり悩む時間を多くしないようには気をつけています。
新しい技術が出てきた時とか、周りの誰もわからないようなことも今後はでてくる可能性もあって、その時には自分の力で調べるしかないです。そのためにも、基本的には自分で根気よく調べることと、効率の良い調べ方みたいなことは工夫しながらやるようにしています。
-- その話では、やっぱり勉強始めの時は特に、どうしてもわからない部分を質問できるような人がいるといいかもしれませんね。
それは間違いないと思います。一人では結構きついところもありますし、何時間も悩んでいるのは時間がもったいないので、もし勉強するんだとしたら何か周りに知ってる人が1人くらいはいるのが理想です。
メンターじゃないけど、そんな存在の人がいると勉強の効率も格段にあがると思います。
目指しているのは体育会系エンジニア
-- 「こういうエンジニアになりたい」とか目標があれば最後に教えてください。
体育会系のエンジニアにはなりたいです。
バンバン開発できたり、多少の無理が効くというか、ピンチの時に頼りにされるというか、そんな存在になりたいです。
唯一体力はあってそれが自分の長所だと思うので、それをエンジニアの方に活かして、チームに貢献できるエンジニアになりたいと思っています。
-- 今後の目標を伺いたいんですけど、直近はやっぱり自分でアプリの開発をしてリリースというところですか?
そうですね。まずはそこを目標に、毎日もらったサンプルコードを見て、ひたすら調べてというのを繰り返すしかないです。
どれぐらいかかるのかは自分の中でもよくわかっていない部分があって、2週間でアプリを作ってみようっていう話をしています。
まあそういう形でまずはアプリのリリースをしたいです。1回やってみてわかることもたくさんあると思いますので。
今は細かいことを考える前にとにかくやるしかないのですが、頑張って行きます。
ナナメメウエで働くことに関心がある人はこちら
オフィスはこんな雰囲気です。