柴ブログ

プログラミング奮闘記

2022年の振り返り

はじめに

あまりブログを書けていなかったので、ソフトウェアエンジニアとして2022年を振り返ろうと思います。

転職

2022年になってすぐにメドピアという会社に転職しました。

エンジニアとしては2社目になります。

エンジニアになる前はMR(製薬会社の営業)をしていたので医療には関心があったのと、Ruby/Railsでの開発をもっとやっていきたい気持ちがあったので転職しました。

早いもので入社してもうすぐ1年が経とうとしてます。

会社での働き

開発言語/フレームワーク

何をしていたか

前半の半年ほどは広く浅くいろんなサービスの細かい改善、機能開発をするチームにジョインし、ドメイン知識の獲得や様々な社内の方とのコミュニケーションを取ることが主でした。

後半の半年は社内で昔から動いているPHPのコードをRailsにリプレイスするチームにジョインし、PHPコードを読んだりサービス運用者から仕様や要望を聞きながらリプレイスを進めたり改善したりしています。

来年も引き続きこのプロジェクトのチームでしばらくは開発に従事しそうです。

本番権限をもらえた

本番リリースや本番サーバでの作業は一部権限を貰えないと実行出来なく、権限を持つメンバーも限られている中で、僕の働きを認めてもらい晴れて本番権限を頂きました。

自分の働きが評価された結果であり、モチベーションにつながる一方で責任も伴うため、より一層インプットと周りへの確認/配慮を意識して行うようになりました。

エンジニアとしての学び・出来るようになったこと

細かいアウトプットが出来ていなかったので、ざっくりと書いていきます。

今年は特にRuby/Rails周りとSQL/DB周りのインプット、業務でのタスク取りを意識してました。

業務ではフロントエンドも触りますが、業務範囲内での学びに留まります。

Ruby/Rails周り

読んだ本

学んだこと

  • Rubyの言語仕様諸々
    • Rubyのしくみに書いてある内容
    • Ruby Kaigiに参加して講演を聞いた内容
  • Railsのバリデーション周り
    • Railsで用意されているバリデーションヘルパーで知らないものもいくつかあり、Railsガイドで一通り学び直した
  • Active Recordのクエリメソッドで用意されていないクエリを書く方法
    • クエリメソッドを用いた上でselect句やjoin句、マイグレーションでのオプションなどの指定方法。単純にSQLの文字列を実行する方法。
  • Railsにパッチをあてる方法と運用/保守
  • Draperを用いたDecoratorの書き方
  • sidekiqを用いた定期実行、非同期処理の書き方・運用
    • sidekiqを使ったクラスのRSpecの書き方。Flakyにならないためのテストヘルパーの使い方。
  • 複数DBを同じリポジトリで扱う際の設定や、スキーママイグレーションファイルの管理方法
  • RSpecで使える便利メソッド・マッチャの数々
  • Capybaraでのタブ操作
    • 別タブを開くetc
  • RubyでのCSVの読み書き全般
  • Rubyでgemを使ってExcelを読み込む方法

出来るようになったこと

  • Ruby Kaigiの講演内容が少し理解できる
  • パフォーマンスを意識したクエリメソッドの組み立て、レビュー
  • パフォーマンスを意識したRSpecやCapybaraの書き方、レビュー
  • 読みやすさを意識したテストコードの書き方、レビュー
  • テストとして質を担保できているかを意識した書き方、レビュー

SQL/DB周り

昨年も力を入れていた分野で、昨年に引き続き今年も色んな本を読み漁りました。

読んだ本

学んだこと

  • 意味のあるインデックス、意味のないインデックス
  • B-treeインデックスの仕組み
  • 全文検索の仕組み
  • RDBMSの実行計画の読み方
  • window関数の基本的な書き方
  • MySQLの運用周り少し
    • 権限管理、付与
    • オンラインDDLの注意点やオプション
  • ヒント句の書き方
  • クエリのチューニング方法
  • Amazon Redshiftの方言
  • pt-online-schema-changeの仕組み

出来るようになったこと

  • 分析のための少し込み入ったクエリの組み立て
  • パフォーマンスを意識したクエリの組み立て、レビュー
  • 可読性を意識したクエリの組み立て
  • 遅いクエリの改善

その他 

その他細々と触っていたり学んだこと。

読んだ本

学んだこと

  • TypeScriptの基本構文
  • VueとTypeScriptの組み合わせ
  • Jestの基本構文
  • Datadogの基本的な使い方

出来るようになったこと

  • TypeScriptの基本的な読み書き
  • Jestの基本的な読み書き
  • Datadogを使ってパフォーマンスのボトルネックを見つける

終わりに

ざっくりと学んだことベースで2022年を振り返りました。

日々のアウトプットが難しいなーと思いつつ、書き出してみると学びが色々あるので、1つずつ深掘りしていけばブログなどのアウトプットに繋げられそうという所感です。

環境も変わり、自分のインプット以外でも社内のメンバーからの学びもとても多く、充実した1年を過ごせたと思います。

社内外でお世話になった方々へ感謝しています。

来年もよろしくお願いします。