petitviolet_blog

@petitviolet blog

新卒としてエンジニアになって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を弄っていられないんだ俺は。

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

hubotの画像検索とそれにまつわるGoogleのUIについて

hubotの画像検索が死んでたので、以下のページを参考に直した
hubot-google-image で Google Custom Search API を利用する設定 - Qiita

その作業途中でGoogleカスタム検索の設定で画像検索をONにしなければならないとあったので以下のようにトグルボタンを設定していたが、何度リクエスト送っても検索結果が0件で終わってしまう現象になっていた。

f:id:petitviolet:20151227173404p:plain

正しくは以下の状態だった。それだけのことだが、わかりづらすぎる。
f:id:petitviolet:20151227173403p:plain

herokuにhubotをdeployしているので、

heroku config:set HUBOT_GOOGLE_CSE_KEY=<KEY>
heroku config:set HUBOT_GOOGLE_CSE_ID=<ID>

として無事復活

Roppongi.aar#2を開催しました #roppongi_aar

第二回Roppongi.aarを開催しました!!!

roppongi-aar.connpass.com

f:id:petitviolet:20150930075603p:plain

今回は株式会社メルカリ様での開催となりました。
まさか勉強会の飲み物としてクラフトビールが出るという豪勢な会となり、盛り上がって非常に良かったです。ありがとうございました!

f:id:petitviolet:20151117202522j:plain

@tomoaki_imaiさんがすでに素晴らしいまとめと開催にあたっての取り組みについて書いて下さっています。

tomoima525.hatenablog.com

「ならでは」の勉強会を目指して

上の記事にもありますが、今回のRoppongi.aarは英語推奨として告知し、六本木に多くいる(要出典)外国人エンジニアの方を招いて六本木ならでは感を出した会にしようとしました。
こちらに関してはほぼ@tomoaki_imaiさんが動いて下さったので僕は何もしてません。本当にありがとうございました!

英語推奨にしてmeetupからも参加者を募ったことで、外国人エンジニアとの交流の場を少しでも持てたのは良かったですね。
資料もほぼみなさんSlideShareかSpeakerDeckにアップしていますが、英語で書くことで日本人以外にも見てもらえる機会も増えますし、資料の内容も簡潔に伝わるようになったのではないかと。

あと10分の発表ではなく7分発表・3分質疑としたことである程度活性化させることが出来たのではないかと思います。
これについては大規模であるよりもっと小規模な方が活発な議論が出来そうだなという印象です。
勉強会は発表者として参加するのが一番勉強になりますが、質疑に積極的に参加することで少しでもその差を縮められればと思っているので、次回はここも何か工夫できたらと考えています。 特に日本人はどうしても遠慮してしまいがちなので。

反省点

英語推奨にしておきながらも、英語での質問がほぼ聞き取れなかった点はめちゃ辛かったです...。
資料自体は言葉を減らして英語で作ったの最低限伝わったかと思いますが、発表は日本語で行ったので外国人エンジニアには中途半端に優しくなかったのかなと。
振り切りたいが振りきれない英語力の無さが足を引っ張ってしまって申し訳ないという気持ちです。

次回について

乞うご期待!
時期・場所など未定です。

自分の発表について

最近Scalaやってるので、それにちょっと絡めた発表をしました。
Java7とにかく辛いのでJava8来てくれ!という思いです。