👌

ソフトウェアエンジニア2年目の総括

2021/12/31に公開

ソフトウェアエンジニア2年目が終わろうとしているので今年の総括と来年の目標を書き残しておこうと思ういます。

やったこと

  • 自社プロダクトの設計の議論を活発に行い、多少なりともアプリの負債を減らす貢献が出来ました。
    • ファットモデルならぬファットコントローラー、テーブルの非正規化などが往々に見られていたために新規機能開発が行われる際は自分が担当ではなくても設計の議論に担当し、少しでも良い設計になるように尽力しました。
  • タスク管理ツールとチャットワークを繋げられるようにしました。
    • 弊社は元々タスク管理ツールを導入しておらずこれではヤバいとなりbacklogを導入することになりました。しかし、backlogの既存の機能だけでは我々の要望を100%満たす事ができず残りは自分たちでapiを用いて開発することになりました。
    • 苦戦したことなどについてはこちらに書いたので興味ある方はぜひ読んでください。
    • 小さいツールでしたが技術選定、開発全て一人でやる事が出来たので良い経験になりました。
  • htmlとcssのコーディングの自動化を助けるツールを開発(している途中
    • 僕はhtmlとcssが嫌いです。そんな自分を楽にするべくツールを開発しているところです。まだ未完成でですけど、たくさんのことを学び実行する事が出来ました。
      • 要件を実現可能な仕様に落とし込むこと。
      • どこにも情報が転がっていないアルゴリズムを開発したこと。
      • 委譲を使って拡張性のある(と思う)コードを書けたこと。
    • 特に2番目は自分の中で大きい。今まで完全オリジナルのアプリは作った事がなく詰まった事があれば調べたら解決する事がほとんどだった。しかし、今回のアプリのコアとなる部分は完全オリジナルだ。公式ドキュメントと睨めっこして使えそうな情報をいくつも組み合わせて作ることが出来た。
    • 3についてだが現時点でこのアプリは限られたCSSプロパティしか対象になっていないが、今後増える可能性もあるのでCSSプロパティ共通のインターフェースを用意してクライアントはそれを呼び出すようにした。
  • leetcodeで解いた問題数が150問を超えた。
    • 11月からは本格的に問題を解き始めた。
    • 最初は1時間経っても解法が思いつかない時もあったが、1ヶ月もすると使うべきアルゴリズムやデータ構造を推測できるようになった。
    • ただ数学的考察が必要な問題は手が止まる事が多いので数学の知識が自分はまだまだ足りないなと思う。
  • 英語のリスニング能力が向上した。
    • こちらは技術ブログに書いて良いのか分らないが今年の大きな成果なので記述しておく。
    • 今年から英語に触れる時間を大幅に増やしたのが大きな要因だと考えている。
    • 単語個々の発音、単語間のつながり、文章から意味をイメージすることを意識していたがようやく成果が出てきたように思える。
    • (今年もやっていたが)来年は技術についての情報は英語で取得するようにしていきたい。
    • あとはアウトプット。Hello Talkのアカウント復活させようかな。

その他

  • 振り返りを見てみると社内の環境を良くするために色々やったなぁ。。僕がやることなすことを笑いながら聞いてくれるCTOには本当に感謝だ。
  • 上記以外にも今年はspring bootの学習、オンライン大学に入学などもした。これらは結果的には継続されなかったが、やるかやらないかうじうじ悩むよりとりあえず一歩踏み出せたのは大きかった。
  • 今までは基礎技術の学習(アルゴリズムやデータ構造)を中心にやっていたが来年はモダンな技術も少しずつやっていきたい。とりあえずAWSになるのかな?あまり興味が湧かないけど、採用側の心理としてはやはりモダンな技術に対する理解も求めているのが実情だと思うのでやりたいと思う。

来年もたくさん挑戦できたなと思える一年にしたい。
では、良いお年を。

Discussion