プログラマ2年目の記録
この記事は フィヨルドブートキャンプ Part 2 Advent Calendar 2022 の13日目の記事です。
お久しぶりです。sasaboです。 元気に生きていました。 皆さまはお元気でしたでしょうか? 人間、健康第一ですね。
今回はプログラマ2年目に起こった出来事をざーっと振り返ります。 本記事での2年目は 2021年10月~2022年10月を指します。
お仕事編
2年目の大きな変化点として扱う言語がガラッと変わりました。
1年目から担当していた案件では Ruby, JavaScript, TypeScript, React を扱っていましたが、2022年6月よりC#を扱う案件に移動しました。 移動といっても、強制的に移動というわけではなく自ら志望してC#を扱う案件に移動しました。
あ、そうそう昨日 Qiita のC#アドベントカレンダーにC#の記事をアップしたので良ければご覧ください(宣伝)。
【調査】MSBuild でビルドした直後に dotnet test を実行するとリビルドされる
話をもどしましょう。 なぜC#の案件に自ら志望したかというと、ぶっちゃけ上にいくチャンスかな?と思ったからです。 今までは弊社は Ruby, Ruby on Rails の案件がほとんどでしたが様々な理由からC#の案件もやるようになりました。 今まで Ruby をメインとしていたのでC#エンジニアはほとんどいません。 ということは、このタイミングで私がC#エンジニアになればC#エンジニアとしては実質社内で10番以内に入れるわけです。(わーい)
これはチャンスだと思いました。 社内で Ruby エンジニアとしてのし上がるより、はるかに楽じゃんと思いました(笑)。
ということで私はC#エンジニアとして2022年6月より活動を始めました。
C#エンジニアに鞍替えしてどうだった?
さて、問題はC#エンジニアとしてやっていけるのかい?ってところです。 自分判断だと、まぁやれているほうだと思っています。 ただ客観的な意見は聞いたことがありません。 今度会社の人に聞いておきます(笑)。
2年目の変化点
ということで2年目の変化点を箇条書きで!
- C#エンジニアになった
- Mac から Windows マシンになった
- トラックボールユーザーになった
- C#エンジニアの採用に関わるようになった
- クラス設計を意識するようになった
- オブジェクト指向の運用について考えるようになった
オブジェクト指向を運用するという難しさ
とくに最近気になっているのはオブジェクト指向を、どのようにして運用に乗せるか?ということです。 最近レビューで色々と指摘を受けていてクラス設計よく分かってないなぁと思うようになり、「何かおススメの書籍あります?」と尋ねたところ、現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法を先輩に紹介してもらいました。
この本を読んで、「オブジェクト指向の手法に注目するよりも、オブジェクト指向をどう運用に乗せるかのほうが重要(難しい)のでは?」と思うようになりました。
ぶっちゃけエンジニアであればオブジェクト指向の勉強くらいはするでしょう。 そして新規のコードであればオブジェクト指向にしたがったコードを書くことは、そこまで難しいことではないかもしれません。(自分がオブジェクト指向にしたがったコードを書けているかどうかは置いておくとします…) しかし、それを継続するとなると急に難しくなると最近感じています。
オブジェクト指向の良さは常に改善し続けるところにあるのではないかと思っています。(むしろ改善を止めた時点でオブジェクト指向のうま味は半減すると思っています) 例えばクラスの関心事が大きくなってきたらクラスを見直し、新しくクラスを作るといったことが必要になります。 ですがそれが既存コードだった場合、変更の壁が発生します。 受託開発という性質上もありますが既存コードを修正することに対して、プロダクトオーナー様にあまり良い印象を持ってもらえていないと感じます。
既存コードを変えたくないという気持ちは元メーカーの人間からすると、とても良く分かります。 既存を変えるとなると様々な確認作業が必要になります。 万が一、既存の内容変更によって不具合が発生した場合「なんで不具合ないのに変更したの?何を確認したの?」という話になってしまいます。 お客様からすれば「設計都合なんて知らんがな!」です。その気持ちは分かります。
なんだか話が長くなりました… 要は、ユーザーからの挙動が変わらない変更は、会社としてメリットであることが分かりにくいため変更し辛くなっているという現状をどう打破するか?ということだと思っています。 この話は結論が出せずにいます。 そして、この辺の理想とギャップにより社員が止めていくというパターンもあり得るのではないか?と思うようになってきました。(ここは妄想です) 個人的には、この辺がうまくいっている会社にうまく入れる確率は低いと思っていますが…(そんな会社は、一握りではという説) そんな理想の地を求めて転職パターンは結構あるのかなぁ…なんて思ったりなんたり、ラジバンダリ。
プライベート編
プライベートでの大きな変化点は、2022年7月に子どもが生まれました! とても可愛い男の子です。
この可愛さで、「どんなつらいことも耐えられる」状態に…なりません(笑) 可愛さと、しんどさは別ものです! 本当に子育ては大変です。 世の中のお父さん、お母さんへマキシマムリスペクト(by Kダブシャイン)です! そして、ここまで何不自由なく生活させてくれた親に今更ながら本当に感謝しています。
しんどかったエピソードを1つ紹介します。 私は子どもが生まれる前は「泣いたらミルク与えればいいじゃん」と思っていました。 でも知ってました?ミルクってある程度、時間間隔をおかないといけないんですよ。。
ネット検索すると最近のミルクは性能が良いから、泣いたらあげてもOK!という情報もあったりします。 でも私が調べる限り、ミルクの缶やサイトにはそんな情報書いてありませんでした。 子育てに関する医学的な正しい情報がちゃんと参照できないのは、なかなか良くない状態だなと感じます。(病院でもらうパンフレットみたいなのも昔からアップデートされてなかったりする)
話がそれました。話をもどします。 うちの子はミルクをあげて2時間程度でお腹すいたー状態になることがよくありました。 そんなとき、母乳の出ない父親の私はあやすことしかできません。 なんて無力なんでしょう。。。
最近はミルクは夜だけに飲むようになり、あげたくてもあげれないもどかしさはなくなりました。 よく完璧な子育てを目指すなと言われますが、その通りだと思います。 うまくいかなくて当たり前なんですよね。
ここまで書いていると辛いことばかりで、息子が可愛くないような書き方になっていますが、息子は世界一可愛いです。 ひいき目無しにみてもアジアTOP5に入るくらい可愛いです。 もう奇跡です。 天使っているんだなと実感できます。
ということで
プログラマ生活2年目は息子誕生というイベントもあり、激動だった気がします。 3年目もとにかく健康第一、安全第一で頑張りたい所存で御座候。 このブログは1年に1回更新ですが、また来年の12月ころにでも覗きにきてください(笑) では、また来年お会いしましょう!