Subscribed unsubscribe Subscribe Subscribe

SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

2016年、振り返り.

あと数日で今年も終わるので振り返りをしようと思う。一言でまとめると、自分の要領の悪さを実感した一年だった。当初持っていた期待値に対して、全く届くことが出来ずに頭を悩ませることが多かった。特に量の面では、もう少し出来ただろ、と自分に突っ込みたくなるくらい。ただ、そんな中でも出来ることはいくつか増やすことが出来たと思う。成長は徐々にしている。たぶん。

はてさて、じゃあ改めてきちんと振り返ってみよう。今年のキーワードとしては「機械学習」「プログラミング」「英語」の3つを掲げた。

機械学習の辛さ

機械学習の勉強の辛さは、数学と統計学が必須なところにある。これらがわからないとお話にならない。機械学習の専門書には数式ばかりが書かれていて、年中泣きながら機械学習のモデルの理解に勤しんでいた。

基本的に僕はMOOC→専門書という動きで学習を進めているが、年始辺りに受講していたUdacityは微妙だった。いくつかの講義はSklearnを動かして、可視化し、ほらこのモデルを使えばこんな具合に分類できるよ!と、ふんわりした説明に留まり、理論の説明がまるっと抜けていて納得感のないまま時間を過ごす事が多かった。案の定、それは自分の身に修めることは出来ていない。

途中からCouseraのML講義を受講するようになり、劇的に学習速度が上がったと思う。数式モデルの説明を噛み砕いてくれるので頭の中で知識がストックされたような気がしている。

ただ、実践という意味では今年はイマイチではあった。仕事では去年の年末辺りに取り組んだアルゴリズムテーマがあったのだが、そいつの教師データの作成や評価、チューニングをずっと取り組んでいたために、新しいテーマにチャレンジしてみる、というのはあまり出来なかった。そこが今年の一番のモヤっとポイントだろう。

プログラミングの習熟

コンピュータサイエンスの基礎勉強に取り組んだ。基本的なアルゴリズムやデータ構造をもう一度学び直し、SICPを読むことで抽象化やストリーム、遅延評価、lambdaの関数プログラミングあたりを学び、インタプリタの実装ぐらいは出来るようになった。個人的にはこれが今年一番の成果だろう。プログラマーとしてのレベルが上がった気がする。

途中でコンパイラ開発に乗り出して、それ以降は言語処理系の技術書やLLVM、ドラゴンブックあたりを週末に読み耽っていた。システムズプログラミングの分野は僕の中の憧れであったので、常にワクワクしながら本を読んでコードを書いていた。ただ、やはりここも機械学習同様に学習難易度が高いところなので、挫折を多く繰り返す結果となった。

やっぱりコンピュータサイエンスは楽しくてしょうがない。知らないことがまだまだたくさんあって、常にワクワクしながらモノを作れる。これから先の人生でずっと遊べるオモチャだと思う。

英語と海外

今年の頭から「エンジニアは英語出来ないと詰む!」ということをいろんな人に言われて勉強を開始した。全く話せない状態から、DMM英会話を始めたり、週末に外国人のバスケットボールチームに乗り込んでみたり、会社の英会話教室に参戦してみたりといろいろトライした結果、ちょっとは話せるようになった。

仕事では、初めての海外出張&研修講師というものを経験し、外国人エンジニアのOJTを担当したりと割と面白い経験をさせてもらった。おかげで下手なりにも物怖じせずに英語が口から出るようになり、こんな自分でも英語喋れるようになるもんなのだな、とちょっと感動した。

海外のエンジニアとGitHub経由でコードRvのやり取りをすることもあったし、外国人エンジニア主催の社外の勉強会に乗り込んで発表したり、Pythonプログラミングを教えたりもした。

こう振り返ると人間やれば出来るようになるもんだ、と驚く。学生の頃の自分が見たら、外国人と英語でやり取りしているなんて想像も出来ないだろう。まぁ未だに下手くそな英語なんだけども。

まとめ

今年ずっと悩んでいたことの一つに、「このまま機械学習の分野で勝負するのか。アカデミック上がりの人と闘えるのか」というものがあり、これから先のエンジニアとしての生存戦略をより具体的に、キチンと考えるようになった。

結果として出た答えが「機械学習」と「プログラミング」であり、この二つの両輪で知識を付けていけば、当分はなんとか生きていけるんじゃないかと思っている。また、これから先の30年以上は続くだろう仕事なので、一番自分が面白いと思える仕事をすべき、という考えが根本にある。面白くないと仕事のための勉強なんてそもそも続かないし、面白くないことに時間を割く人生なんて勿体無い。その点、機械学習もプログラミングも面白さでは底がなく、勉強していても苦しい中に面白さはあるので良い選択だと思う。

機械学習はトレンドにも乗ってるし、プログラミングは割とアカデミックな人と比べて優位性を発揮する気がするので、なんとなく生きていけそうじゃないか。そして英語が話せるようになれば尚良し。

年齢も25歳ということでボチボチ30歳に向けての準備を始めていこうという一年だったと思う。来年は26歳で、次は27歳で、、なんて考えるとゾッとするが、エンジニアとして面白いこととキャリアになることの折り合いをつけながら、これから先もやっていくのだろう。

ってなわけで振り返りおわり。来年計画はまた別で立てる。

Remove all ads