新卒としてエンジニアになって1年が経った

krrrr.hatenablog.com

このエントリ読んだ感化されたので自分も雑に振り返って書いてみる。
仕事は大きく分けて前半Android、後半Scalaという感じだった。

Android

多少はエンジニアリングの知識があったこともあり、エンジニアとしての研修はだいたいスキップしてすぐに業務に入ることが出来たのは幸運だった。
そもそも人数が少なくてじっくり教育されてる暇も無かったし、こちらも出来るだけ早く何かしら貢献したかったので良かった。
入社して半年間は学生時代にとった杵柄でAndroid書いてた。 ちなみにちょっとiOS(Objective-C)もやってた。

東京に来てテンション上がってたこともあって、頻繁に勉強会に参加してた。
あとは自分自身で勉強会も開催してみたり。

petitviolet.hatenablog.com petitviolet.hatenablog.com

当時、業務ではSDKと呼ばれる類のものをpure javaで開発してて、 RxJavaとかRealmみたいな流行りの技術を使うことがなかったため、プライベートで触ってほくほくしてた。
ライブラリは使わないけど、アーキテクチャはそれっぽくしてやろうと思って、MVP + Clean Architectureを取り入れて開発していた。
この時に学んだことや試行錯誤した体験のおかげで、アーキテクチャとかに興味を持つようになった。
昔から思いついたらとりあえず手を動かして書きながら直していく、みたいなスタイルだったけど少しずつちゃんと考えながら書くようになってきている。

Scala

後半の半年間はチーム異動し、Scalaでサーバーサイドエンジニアとしてアプリケーション開発をしている。
AndroidJavaじゃないな、と強く感じている。
Scala自体は学生の頃からほんのり触っていたのと、Scalaチームになる前にすごいH本を読んで関数型プログラミング勉強してたのが活きて、最初からぼちぼち書けて良かった。

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

今は特にパフォーマンスが要求されるタイプのアプリケーションを作っているが、だからこそより綺麗に実装しようという気持ちが強くなった。 そのためにもDDD勉強していて、これが最新のアーキテクチャか!と感動したけど、エリック・エヴァンスが最初に本出したのは10年以上前だと知ってエンジニアリングの進歩は意外と遅いのかもしれない。

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

関数型プログラミングとDDDを深めて自分の武器としたいと思っているが難しすぎる。

アプリケーションの運用を多少は自分もやっていて、環境構築とか障害対応とかで経験値だいぶ積めた。
とはいえ知識は不足してるし未だにDockerたいして分かってないし自動化もまだまだやれてないしまだまだ。

ScalaMatsuriには2日間フルで参加して世の中には強者がたくさんいると再確認したので、上を見て頑張っていこうという気持ちが強くなった。
最近はあんまり勉強会出てなくて、何となくぽけーっと話を聞くくらいなら自分で勉強したほうがよっぽど効率がいいので、 聴きたいトピックがピンポイントでないと参加しないようになってきた。
何かしらいい感じのネタがまとまったらどこかで発表したいなぁ。

雑感

社会人1年目だけど意外とやれている感覚はある、といっても26歳で全く若くないし危機感の方が強い。
いつまでものんびり.vimrcを弄っていられないんだ俺は。

あと「何を作るか」より「どうやって作るか」に意識が寄ってきている感覚があり、これはまずい。
どれだけ最高のアーキテクチャで高パフォーマンスで美しいコードでもユーザーがいなければ無価値なので、「何を作るか」が根本にはあるべきだと思っている。
普段の開発における姿勢を見直していかねば。