ひらめの日常

日常のメモをつらつらと

3ヶ月でやった事を振り返る - 入社1年目4~6月

はじめに

入社してから試用期間の3ヶ月が過ぎて、無事に採用されたので、この3ヶ月でやったことを振り返って書いてみました(一応上司確認済み)。
ベンチャーにサーバーサイドエンジニアとして入社した自分が、まとまりなく社内・社外でやったことを書き連ねるだけの記事です。

研修

ベンチャーながら、新卒入社の自分に対して教育リソースをかけてもらっていることがとても嬉しかったです。

研修では、大きく分けてビジネス研修とエンジニア研修をやりました。それぞれ1ヶ月で終了しました。

ビジネス研修

ビジネス研修では「コンサル一年目が学ぶこと」という本を輪読して行う形式で行いました。この本はコンサルに対して書かれた題名ですが、実際は社会人全てに共通するような大事な事柄が詰まっていて、最初に読むことができて良かったと感じました。

コンサル一年目が学ぶこと

コンサル一年目が学ぶこと

  • 作者:大石 哲之
  • 発売日: 2014/07/30
  • メディア: 単行本(ソフトカバー)

また、輪読の形式として、以下の形式を取りました。記憶は感情が動くと定着しやすいため、「話し合う」というプロセスは記憶の定着に対して非常に良いアプローチだという感想を持ちました。

  • 各々が担当部分を読んできて簡単にスライドにまとめる
  • 週1で開かれる研修中はスライドの内容に対して自分たちの考え方を交えて話し合う
  • 先輩が実際の事例を話してくれる

エンジニア研修

エンジニア研修では、新しく以下のような内容をやりました。実は、自分はWebアプリケーションを作ったことがないので、初めてのWebプログラミングになりましたが、1ヶ月弱で広く浅く学べて勉強になりました。

メンターさんについてもらって、毎日1on1をしながら進めてもらいました。技術的な疑問点が解消できたり、何より会社内に話せる人が身近にいる安心感を感じることができました。

  • Scalaの基本文法
  • Scalaを用いたWebアプリケーション作成の基礎
    • 簡単にAtCoderのレート遷移を返すAPIを実装
    • MySQL, Redisなどの基本知識とアプリケーションへの実装
    • Docker-composeを書いて立ち上げる
    • Github Actionを使ってmasterにプルリクが出るたびにテストを回す
  • Reactのチュートリアル
  • アサインされる予定のプロジェクト周りの知識input
    • GraphDBでクエリを書く方法
    • プロジェクトのlocal開発環境の構築

お仕事

5月からは実際のプロジェクトにアサインされてお仕事をしていました。途中でインターン時代に作っていたものの不具合修正などが入ってきてドタバタする時もありましたが、基本的には腰を据えて一つのプロジェクトに対して集中していました。優秀な方々と一緒にお仕事ができていて日々勉強になり楽しいです。

新機能の機能・設計・実装を任されていたので、まずはそこの機能実装のために教育に関するリサーチをしたり、論文を読んだりしました。そのあとで自分なりのアルゴリズムを考えてプロトタイプ作成して関係者の合意をとり(ここは可視化とかもあってPythonでやりました)、ようやくScalaでの実装を始めました。

実装はTDDでテストベースでレビューをしてもらいながら進めています。TDDは心理的な不安が少なく開発できるのでとても良いなと思っています。

他にも、自由参加のプロジェクトが複数あり、それに参加したりしています。エンジニアにとどまらず、全社的な改善プロジェクトに今から関われるのはとても楽しいです。

お勉強

業務に関係しそうなことをたくさん勉強していました。

Scalaスケーラブルプログラミング」:380ページくらい読みました(これでもまだ半分で道のりが長い...)。Scalaの基本文法に対して、言語設計や設計思想にも言及しながら説明がされており、個人的には読み物として気に入っています。

Scalaスケーラブルプログラミング第3版

Scalaスケーラブルプログラミング第3版

テストは何を測るのかー項目反応理論の考え方:項目反応理論に関係するところまで読みました。そもそもテストの平等性や公平性ってどうやって担保するか?というのは難しい問題です。TOEICなどは同じ点数だったとしても問題の難易度が違えば、スコアが意味をなさなくなってしまいます。これを統計学的アプローチで解決できるのが項目反応理論(IRT)で、統計×教育という分野で興味深く読みました。

ゼロからできるMCMCMCMCはパラメータ推定などでよく使われるアルゴリズムです。個人的にはどこかで使えると良いなと思って、最近出版された本を読んでみました。アルゴリズムを使うだけではなく、中身の原理や実際に使う時の注意点などを知ることができました。

進化する勉強法:ファクトに基づいた勉強法を紹介している本です。論文で効果があると実証されている教育法や勉強表について、図やグラフも用いてわかりやすく説明されており、広く浅く知るのに良い本だと感じました。

原因と結果の経済学:相関と因果は違うんだよーということを様々な事例を用いて説明していました。簡単目ではあったけど、実験における「内的妥当性(同じ集団に対して再現性がある)」と「外的妥当性(異なる集団に対して再現性がある)」という言葉の定義などは初めて知ることができました。

趣味

競技プログラミング

AtCoder競技プログラミングをして、なんとレートを1年以上前まで戻してしまいました(パソコンが落ちまくってて難し目の問題だけ解けたと思って提出したら死んだので1問も正解していないw)。

ここまでくると逆に気楽にコンテストに参加して、ゆるゆると水色に戻れればいいなと思いながらエンジョイ勢をやっています。社会人になってからの方が精進できているのはちょっと面白いですね。引き続き楽しんでやってます。

あとは、友人に勧誘されてLeetCode始めました。こちらの方が個人的には出てくる問題が好きかもしれません。こちらもゆるゆると参加していきたいと思います。

スマブラ

スマブラSPをやっていて、今はクマメイトでいう、「VIP安定層(中)」です。 ここからVIP上位に行くにはもっと操作精度を上げたりトレーニングモードでの練習をする必要があると感じていますが、なかなかトレモに時間を割こうとは思えず...

とにかくキャラクターが多いので、今は配信者の動画を見たり、使用キャラのグループに入ったりして楽しみながら強くなりたいなと思っています。

スマブラ世界戦闘力のVIPボーダー、変動数、段位 - クマメイト