ほりすのぶろぶろぶろぐ

ほりすのぶろぶろぶろぐ

非情報系から最高のエンジニアを目指す旧帝大学生

2019年を振り返って

f:id:kurutabrog:20191230224002j:plain
2019年

はじめに

2019年は、本格的にエンジニアを目指し始め、人生で1番の転換期でした。そして、人生で1番充実した年でした。

エンジニアとしての道を歩み始めたこの1年を振り返り、文字に起こすことで、自分が将来見返したときに初心に立ち返るきっかけになれば良いなと思います。

また、これからエンジニアを目指す人にとっての参考になれば幸いです。

月ごとに振り返るのですが、その少し前から動き出していたので、2018年もさくっとバックグラウンドも含めて振り返ります!

2018年

  • 4月:大学4回生で研究室配属
  • 5月:やりたいことがなく、C言語を1ヶ月独学
  • 6月~8月:卒論、院試勉強
  • 9月:院試、Y社のインターンに落ちる
  • 10月:卒論、エンジニアに関する情報収集、progateかじる
  • 11月:卒論、ITパスポート勉強開始
  • 12月:卒論ピーク、ITパスポート合格

2018年を要約するとこんな感じです。 人生の転換期になったと感じる出来事は太字で書いてます。

5月

自分は大学4回生のときまで、将来やりたいことが全くありませんでした。

専攻の好きでもない材料系の授業を受けて、サークルに行って、バイトをして1日を終えるようなごく普通の生活を送る大学生でした。
そのため、3回生で就活することもなく、8割が院進するからという理由で大学院に行こうと考えていました。

4回生で研究室配属があった際に同様の話を教授にすると、

「やりたいことがないなら、一回本気で何かに取り組んでみるといいよ」

とお言葉をもらい、 悩んだ結果、C言語を1ヶ月独学で勉強し、簡単なコンソールで動くゲームを作ることにしました。

プログラミング自体は、学部2回生の時に授業でFortranを触ったことがあるのですが、

  • ゴリゴリの数値計算の練習をするだけで、実際にどう使われるかのイメージが沸かなかったこと
  • 教授の授業スピードが早すぎて取り残されたこと

の思い出しかなく、プログラミングに苦手意識を持っていました。

しかしどの道研究で少しプログラムを読む必要があったのと、1ヶ月本気でやるのであれば苦手を克服できるかも、と考えてプログラミングを選びました。

いざ初めて見るとキツいのなんの。 独学でやろうと言っても何から始めたら良いかわからないし、図書館で借りたC言語の分厚い本は読みづらいし、1つのエラーで3日間一生悩んでたり...

ただ、エラーを解決できた時や、コードが一発で動いたときの快感は、これまでに感じ得ないほどでした。

やりたいことが全くなかった自分はここで、エンジニアのことをもっと知りたいと思うようになりました。



ちなみに当時作ったRPGチックなゲームがこれです笑 f:id:kurutabrog:20191230232625p:plain

勇者が歩いて魔王の前でスペースを押すと、ランダムな技で攻撃するという単純なゲームです。たしかDXライブラリ使った気がする。

9月

9月後半までは、卒論のテーマが決まったり、院試があったりでプログラミングに手を付けられていなかったのですが、 7月くらいにY社のインターンを受けて落ちています。

C言語を触ってみてプログラミングの楽しさを感じた」程度のほぼ知識がない自分は、なんとなくインターンを探し、なんとなく名前のカッコ良い

データサイエンティストインターンに申し込みました。


余裕で落ちました。

しかし、参加できなかった人も懇親会(会社説明会)に参加することができたので、夜行バスで東京まで行ってきました。
すると、参加できなかった人の中でも個人でアプリを作っていたり、研究でゴリゴリ開発している人が多く、

無知の知

を感じました。

よーし、もっと調査して頑張るぞと思ったきっかけでした。

2019年

1月:卒論と並行でAndroid開発を始める

前述のようにプログラミングにはまってから、材料系の研究に関しての興味よりもエンジニアへの興味が大きくなっていきました。

そこで、卒論と並行して、Androidアプリ開発を始めた頃です。 本格的にプログラミングを始めたのもこの時期からです。

なぜ、Androidを始めたかというと理由は3つあります。


  • 研究でJavaのプログラムを少し読む必要があったため
  • 当時使用していたのがAndroid端末だったため
  • (学生の)野生のAndroidエンジニアが少なく、市場価値が高いと思ったため

半分偶発的、半分戦略的ですね(笑)


侍エンジニア塾の無料相談とか、他のプログラミングスクールもみてはいたものの、学生の自分に払える金額ではないことや、独学でも学べるサイトが多くあったため、スクールにいくという選択はしませんでした。

2月:ひたすらudemy

卒論は気合で2月中旬までに提出して、この時期はひたすらUdemyをこなしていました。

Fortranや研究でのJavaのように目に見えない数値計算よりも、独学で作成したような視覚的に結果が出る作品を作りたかった当時は、実際にアプリを作りながら学ぶ講座を受講しまくっていました。

f:id:kurutabrog:20191231152705p:plain
udemy

https://www.udemy.com/course/java-android-complete-guide/


ひたすら写経、手を動かし、アプリをつくる。 英語でしたが、テキストベースの教材やサイトよりも圧倒的に情報量が多く、体系的な知識を得ることができたと思います。

3月:Life is tech!に入る

life-is-tech.com

自分の学科ではWeb系のプログラミングに勤しんでいる人は皆無に等しく、1人で細々と開発をしていました。 1人でも開発はできるのですが、開発仲間や環境が欲しいと思っていました。

そんなときに、TwitterでLife is tech!のメンターを募集していると聞きました。 Life is Tech !は、中学生・高校生向け IT・プログラミング教育サービスです。

これがめちゃくちゃ楽しそうで。 この、プログラミングの楽さを、ITの可能性を中高生に知って欲しい。 自分が気づくのが遅かった分、楽しさに触れられる環境を提供する側に周りたいと思い、メンターになるべく申し込みをしました。

小中学生の頃、青少年センターでよくカウンセラーさんにキャンプに連れて行ってもらったり、大学時代にカウンセラー側をやっていた経験から、どうすれば楽しんでもらえるか、リスクヘッジの仕方はある程度分かっていて生かせそうだし。


実際、かなり良い環境でした。 中高生にITを教える側として恥ずかしくないように、メンターも基本的なITスキルを身に付けられる研修がありました。 ITスキルだけでなく、ファシリテーションや、タスクマネジメントの知識も得ることができたのはすごく良い経験だと思っています。


そして何より、高いITスキルを持った先輩、同期にかなり刺激を受けることができました。 個人アプリを何個もリリースしている人、バリバリ企業でインターンをしている人、フリーランスとして仕事を受注している人等...


たまに、環境型人間にはなるなと耳にすることもあるのですが、上振れする環境、コミュニティは本当に良いものだと思います。

最近はあまり貢献できていないけど、2週に1回スクールでAndroidを教えています。 入ってよかったと思えるインターンです。


年に1度メンターの募集があるので、興味のある方は是非。

life-is-tech.com

4月:基本情報技術者試験合格

2018年12月にITパスポートを受けた続きで、基本情報技術者試験も定期的に勉強していました。 特に資格が欲しいとかそういった意味ではなく 情報系学部ではなかったので、基礎知識をつけるための勉強でした。

もちろん、同時並行でAndroidアプリ開発の学習もしっかりしていました。

4月はそれくらいかなー。 大学院に入学して、授業が忙しくなってきたくらい。 ちなみに大学院からは、同じ研究室で授業は"経営・マネジメント"を学習しつつ、専攻は材料系になりました。

5月:初のAndroidアプリリリース

5月は初めての自己作品である「乾かすちゃん」のAndroidアプリをリリースしました!ネーミングセンスは見逃してくださいw

f:id:kurutabrog:20191231162013p:plain
乾かすちゃん

※5月から全くアプデしてなかったらGoogleに消されてた... また改善してリリースし直すかは検討中。

付き合っている子向けに、 "ドライヤーで髪の毛が乾かすのが面倒くさい" という課題を解決すべく、ドライヤーの風(音量)を使った簡易的な育成ゲームを作りました。

色々相談に乗ってくださった先輩メンター、同期には感謝です。

今後の逆求人やインターンで大活躍してくれたアプリなので、感慨深いなあ。


ただFat Activity/Fragmentかつコードもぐちゃぐちゃなのでいつかリファクタしたい。 といいつつ5億年が経過した。

6月:逆求人参加、インターン申し込み

逆求人イベントがあったのは厳密には5月25日なのですが、まあきりが良いのと、逆求人とインターン面接をくくったので6月にしました。

逆求人に関してはさくっとブログにまとめているので、興味のある方は下記リンクから。

kurutabrog.hatenablog.com

逆求人に参加していたベンチャー企業で、Androidエンジニアとしてインターンできるチャンスがありました。
その企業は、インターンといえども 即戦力を求めているため、中途採用向けのAndroid課題を受けることになりました。
社風や人もかなり惹かれるものがあり、必死に2週間食らいつきましたが、落ちました。


当時設計パターンやJetPack、Retrofit等の便利なライブラリ群を何も知らなかった自分は、課題の雛形すら理解できませんでした。
その経験がかなり悔しく、挫折しかけました。


ですが、逆に良い経験でもあり、今後のAndroidエンジニアとしてのロードマップをその課題から見出すことができましたし、
2週間ひたすら勉強して試して失敗してを繰り返した結果、
成長するために必要なのは"時間”ではなくて"濃さ"だと気付きました。

失敗から学ぶことって大きいなあ。


7月:大阪大学を休学

6月の挫折しかけた経験から、自分の未熟さに気付き、まだまだ色々なことを身を以て体験したい、Android開発したい、インターンしたい!と思うようになります。

しかし、それをするには時間が全くたりません。

  • 水素自動車の強度解析
  • 経営マネジメントの授業
  • グロービス学び放題の自宅受講
  • Android開発
  • コールセンター(バイト)


特に前者2つがかなり重くて、とてもじゃないけどこの5つを両立させつつ、Androidエンジニアを目指すのは無理だと悟りました。


自分はそんなに器用じゃないので、1つのことに全力で力を注ぐ道を、つまり大学院を一度休学する道を選びました。

アルバイトも辞め、逃げ道を塞ぎました。


夏のインターンを経て成長し、並行して東京での長期インターン を探そうと、決意しました。

不安要素も山ほどありましたが、楽しみのほうが勝ってましたね。

正式な休学は秋学期の10月から。 フライングで8月から東京でインターンをしだしたので、実質8月からの休学です。


親はやっとやりたいことを見つけられたことから、快諾してくれましたが、 教授の説得が厄介でした。

結局、修論のテーマをインターン先で探してくるという体で休学を許してもらいました。 正直この段階で、もう研究室に帰る気はほぼなくなりました。

7月でした。

8月:CA Tech Dojoで最優秀賞

8月はひたすらインターンをしていました。めちゃくちゃ楽しかった笑

**

それぞれの詳細はここでは書きませんが、一部下記記事にまとめているので、興味のある方は是非。

kurutabrog.hatenablog.com

kurutabrog.hatenablog.com

1番印象に残っているのが、CA Tech Dojoです。 初めての企業インターン(Life is techはメンターのため別枠)で、結果を残せたのはものすごく嬉しかったし、そこで得た学びと人脈は今でも自分のエンジニア人生の糧になっています。

9月:リブセンス/Team Lab

リブセンス 上記の記事にも書いていますが、リブセンスではプロダクトエンジニアとしての働き方を体験しました。


自分は、「乾かすちゃん」が全くスケールしなかったこと等から、プロダクトを成長させることができて、尚且つ自身でもコードを書けるエンジニアになりたいと思うようになっていました。

0→1での事業企画や、既存のサービスでより良いユーザー体験を届けるための施策を考えたり...

Team Lab ここで、初めてAndroidの実務インターンに参加しました。 書く時間がなく、インターン参加記は書いていませんが、すごくためになりました。


大きな規模の受託開発企業は初めてで、立ち上がってから2週間目の案件に参画しました。 2週間という短い期間の中で、独学でと実務の差を体感することができました。


メンターさんが気さくで話しやすく、毎日インターンに行くのが楽しみでした。

10月:CA Tech JOB参加

こちらも、インターン参加記を書いているので、興味のある方は読んでみてください。


kurutabrog.hatenablog.com

5倍成長しました。

11月:eurekaでインターン

Nowなインターンのeureka。

Pairs JapanのAndroidアプリの開発に参画させていただいています。

また、インターン期間が終わった際に参加記を書こうと思うのでここでは簡単に...。


eurekaはビジョナリーな人が比較的多いイメージで、コアプロダクトに関わる人数が多い分、全社的に一体感があるなと感じました。

そんなプロダクトへの熱量を持ち合わせつつ、エキスパートとして高い技術力を持ち合わせるエンジニアの方も多くいて、インターンしながらすごく刺激をもらえています。


12月:Webにも手を広げる

これまでずっとAndroid開発のみを行ってきて、

「なんかしらんけど動いた、やったね」

のフェーズでした。

RetrofitでGETをしてみたけど、これがどいういう機構で通信しているのか、そもそもRESTAPIってなに、とか。

Web開発に関しての基礎知識が圧倒的に足りない状態でした。

Android開発も続けつつ、Web開発にも手を広げて点と点を線で繋ぐフェーズに入ろうと思い、

巷で流行っている"N予備校"をはじめました。

恥ずかしい話、ここで始めてJavaScript触りました(笑)

今までよくわからず使っていたLinuxコマンドやWebの仕組みを知れたり、言語そのものの学習にすごく良い教材だと思います。

おわりに

さくっと振り返ってまとめよう〜〜と思ったのに結局10000字近く行ってしまった...笑

本当に色々な経験ができた1年でした。

来年も充実した1年になると良いなあ。

それではみなさん、良いお年を!