2021年が終わりますね。
今年は久しぶりに帰省したので、帰省先で記事を書いています。
あっという間に終わった気もしますが、振り返ってみると色々やれたなと思う部分もあります。
出来たこと・出来なかったことを確認して来年に活かしていきたいです。
仕事の振り返り
システムのローンチ
昨年9月からメインで携わっていた受託のプロジェクトをどうにか完了し、今年の夏頃に無事ローンチされました。
顧客のお客様からの評判も上々のようで、自分の作ったアルゴリズム・システムが世に出るというのは本当に嬉しい体験でした。
お仕事の話なので、簡潔に2つだけ振り返りのトピックをだしておきます。(本当は細かく書きたい・・・)
- なにを達成したいのか?そのために何を作るのか?という目的やゴールを外さないことはとても大事(この部分に関しては、ソフトウェア開発も化学研究も同じ)
1つめのトピックは個人的に大切な気づきでした。異業種転職でソフトウェア開発に関してスタートが遅い分、少なからず焦りの気持ちはあります(なるべく気にせずマイペースを心がけてはいますが)。
これまで培ってきた思考・経験がソフトウェア開発にも活かせると気づけたことで、今後もやっていけるかもという小さな自信を持つことができました。
- 課題解決のために高い技術力は必須
2つ目です。ローンチまでたどり着けた達成感がある一方で、技術不足からくる悔しさ、全体通してもっと上手くやれたのではという後悔も達成感以上に感じました。
技術が足りないために妥協したポイントも多数あります。別のプロジェクトでこういった悔しさを感じないためにも、しっかり技術を磨かねばという気持ちになりました。
転職
今の職場には2020年の8月からお世話になっており、現在1年半弱が経過しました。
拾ってもらうからにはやれるとこまでやるという意気込みでの入社ではあったのですが、結論だけ述べるとわずか1年半で転職することになりました。
2022年の2月から新しい職場で引き続きソフトウェアエンジニアとして働きます。現職は医療ITですが、次の職場は医療から離れます。業界の分類方法がよくわかりませんが、純粋な(純粋とは??)IT系かなと思います。
転職に関する諸々はいずれ記事を書くかもしれませんし、書かないかもしれません。
仕事まとめ
- システムローンチした。たくさん学びがあった
- できないことがたくさん見えてきた
- 転職することになった
学習
基本的には広く浅く、なるべく多くのトピックに触れるという方針で手を出してきました。
資格
個人的に、新しいトピックに入門するケースでは、資格はとっつきやすく・ある程度全体像も見えるので有用だと感じています。
今年は以下の資格を取得しました。
- 応用情報技術者
- 情報処理安全確保支援士試験合格(非登録)
来年はどうしようかなと考え中です。今のところDBスペシャリストが一番興味あります。
本
色々読んだと思います。覚えてる範囲で列挙しつつ、簡単に書評を書いておきます。(順不同です)
達人プログラマー(おすすめ)
ざっくりいうと次のステップにすすむためのトピックを見つけるための本だと感じました。
私は現在独学期間含めてプログラミング始めて2年くらいなのですが、今の時期に読んでちょうど良かったと思います。
実装に関する具体的なトピックや、開発ツール周りのトピックなど広範囲に渡って、一歩先に進むための材料が紹介されています。
1度読んだだけでも、次はこのあたりのトピックを重点的に取り組んでみようと思えるものがたくさん見つかりました。
ある程度基礎的なところは小慣れてきて、自分に足りないものはなんだろう?というような悩みを感じ始めているなら、この本を読むことで光明が見えるかもしれません。
レガシーコードからの脱却
ざっくりいうと「開発にテストが必要」という洗脳をするための本だと感じました。
私はこの本を通読する中ですっかり洗脳されて、テストがないといろいろ不安を感じるようになりました。
テストがない環境でずっと開発をしていると、テストの必要性をそもそも自分で感じることができないと思うので、こういった本で無理やり思想を強制するのは一つの選択肢になるのかなと思います。
注意点としては、職場に布教する際は自分が洗脳されていることをしっかり認識した上で、余計な軋轢を生まないように丁寧に立ち回ることでしょうか。
私はこの本に感化されて、頑張って職場にテストを導入しました。(ユニットテストレベルですが)
テストのノウハウがなくてなかなか上手くいかない部分も多いですが、もっと勉強して、上手く開発をサポートできるようなテストを書いていきたいです。
システム設計のセオリー
かなりいまいちでした。オススメしないです。
設計に関する各種仕様書の紹介本でした。
購入目的は、会社で仕様書等のドキュメント整備を進めたく、どういう風にドキュメントを書けば良いのか勉強したくて買ったというものです。
そういう意味では仕様書の紹介というのは良いテーマだったのですが、如何せん具体性に乏しく、読んでも「こういう風に仕様書を書いてみよう!」というような学びや気づきはありませんでした。
世の中にどんな系統の仕様書があるかを知ることができるので、SIer等でいろんな仕様書に触れるひとが全体像を整理する目的としては使えるのかもしれないです。
現場で役立つシステム設計の原則(おすすめ)
「コードを書くだけならスムーズにかけるが、もっと綺麗にコードを書きたい」というような思いを感じている方に超おすすめです。
巷にはオブジェクト指向に関して様々な意見が飛び交っていますが、私個人としては、この本に書いてあるようなオブジェクト指向で実装していると、コードを読んでてわかりやすいなと思います。
またドメイン駆動設計の本とも言えます。
ドメイン駆動については勉強中なので偉そうなことは言えませんが、「なんとか層となんとか層に分けて開発するのがドメイン駆動だ」みたいな本を読むより、まずはこの本を読んで、オブジェクトでドメインロジックを表現する方法を学んだ方がよいのでは?と感じています。
リファクタリング
これ以降の本については、いずれ書きます。
SQLアンチパターン(おすすめ)
実践Python3
チーム開発実践入門
開発チーム組織と人の成長戦略
吉田の日々赤裸々2
プロフェッショナルの条件
その他
本以外でもいくつか勉強がてら触ってみました。
Codin Game
有名なゲームAIのコンテストです。
評価関数をちょこっと作成した程度で、ランクもSilverまでしか行けなかったのですが、雰囲気を楽しむ程度はできたかなと思います。
Envader
Progateのセキュリティ&インフラ特化verのようなサイトがあったので、登録して遊んでみました。
CTFへの入門やLinuxのトレーニングとしてもとても良かったので紹介しておきます。
個人的なおすすめはセキュリティ基礎コースの「SSHに対する攻撃」です。
Hydraというツールを使って、パスワード奪取のハックを体験することができます。
CTF
情報処理安全確保支援士の勉強でセキュリティにハマりまして、興味本位で少しCTFにも挑戦しました。
いくつか問題を解いた程度ですが、セキュリティの分野はかなり面白いなと感じているので、もう少し踏み込んでいきたいなと思っています。
英語
英語弱者なため、英語で書かれた1次情報を解釈するのに時間がかかります。
いちいち英語読むのに疲れるのはこの先長い人生損かもしれないと感じました。またYoutube等で英語音声の情報を取得できるようになれば、色々得な気がしました。
そんなこんなで、情報取得のための英語力はある程度鍛えておきたいと思い、少しだけ英語も勉強しました。
主にリスニングを訓練しまして、結構音が聞こえるようになってきました。TOIECのリスニングも300 -> 390と伸びたので、結構成長しているようです。
個人開発
2年ほど前に作成して公開したサービスがあったのですが、EC2の無料期間が過ぎてしまったので、サービスを閉じてしまいました。
色々テコ入れしたいこともあったのですが、一旦リセットして、作り直すにしろ、新しく別のものをつくるにしろ、次の計画をしっかり立てたいと思います。
学習まとめ
- 本を色々読んでみた
- コンテストにもいくつか出てみた
- 個人開発的なことはあまりできなかった
こうやってみると色々さわれたなと思います。一方でかなり無計画にやってしまったという反省もあります。
まだまだ興味のある分野も多いのですが、そろそろ領域を絞って深掘りしていくことにも挑戦していきたいと思います。
まとめ
仕事でもプライベートでも学びの多い1年になりました。
来年も今年以上に学びの多い1年にできるよう、いろいろと励んでいきたいと思います。
コメント