この記事は CARTA TECH BLOG アドベントカレンダー2024 の 12/21 の記事です。
こんにちは、fluctでSREのようなことをやってるishiharaです!
最初はもっと技術的なことを書こうと思ったのですが、ポエムっぽい記事が多いので自分もその方向で書きたいと思います。
年々技術記事を書くのが面倒になってきている
私は新卒の頃からエンジニアを始めて十年近くになりますが、なんだかんだアドベントカレンダーには毎年欠かさず投稿してます。今回のように所属してる会社のアドベントカレンダーとして書くこともあれば、特定の技術トピックで書くこともあります。前職だと自分の入社時点ではアドベントカレンダーはやっていなかったので、自分が主導してアドベントカレンダーに参加したりもしました。
と言うように、記事を書くこと自体はそこそこ好きではあります。ですが、ここ数年はアドベントカレンダー以外で技術記事を書いてはいません。書きたいネタが全然ないって訳ではないのですが、あまり書く気にならないんですよね・・・
昔はもっと書いてた
自分がエンジニアとしてキャリアが浅い頃のことを思い出してみると、今とは比べ物にならないくらいの記事を投稿してました。何も知らない若手だったからこそ毎日が勉強だったので、仕事で扱う技術だけでも書くネタに尽きなかったってのもありますし、プライベートでも自発的に勉強してました。自分はバックエンドエンジニアとしてキャリアをスタートしましたが、プライベートではフロントエンドやインフラ、自然言語処理なども勉強しており、何か作っては成果物の内容を記事として投稿していました。
記事を書かなくなった原因はなんなのか
技術記事を書かなくなった原因は色々ありますが、一つは日々の学びが減ってきたことでしょうか。仕事に慣れてくるに従って未知の体験が減ってきたのもありますし、プライベートで新しい技術を勉強する機会も減ってきました。もちろん小さな学びは日々ありますが、記事を書いて公開しようと思うほどではありません。
もう一つの理由としては、利用していたプラットフォームの問題があります。当時利用していたプラットフォームだと記事を投稿すると比較的多くの反応をもらえたり、コメント欄で活発にディスカッションできたりしていたのですが、ある時大きな仕様変更があり、急に投稿した記事が見られにくくなってしまいました。これによって投稿した記事へのリアクションが減り、投稿するモチベーションが低下してしまったのです。別の良いプラットフォームに移行できなかったのも一因ですね・・・。
記事を投稿すること自体は重要ではない
記事を投稿しなくなったこと自体はそれほど問題だと思っていません。自分が危機感を感じてるのは仕事内外で学習する機会が減ったことです。とはいえ、新しいことを学ぶために意識して取り組んでいることもあります。
学習機会を増やすためにやってること
使ってみたい技術を仕事で使う
何かしら使ってみたい技術がある場合でも、プライベートの時間を使ってまで勉強するとなると抵抗がある人も多いかと思います。学んだ技術を実際に活かす場がないとモチベーションも上がりません。そこで自分がしばしば実践してるのは、学習したい技術を仕事のプロジェクトに導入できないか検討し、導入できそうなら提案するということです。ですが、学びたい技術をプロジェクトに導入することには難しさもあります。業務で使用する技術やツールを選定する際には、チーム全体のスキルセットやプロジェクトの要件、スケジュール、コストなど、さまざまな要因を考慮する必要があります。そのため、必ずしも自分が取り入れたい技術が最適解になるとは限りません。自分とプロジェクトがwinwinになるようなケースじゃないと難しいので、このアプローチが成功するケースは決して多くはないです。
しかし自分の提案が認められて機会を得ることができた際には、非常に高いモチベーションで仕事に取り組むことができます。また、プロジェクトで新しい技術の成功事例を作ることで、チームや会社全体にその技術の有用性を示せるチャンスにもなります。このように、自分が学びたい技術を仕事に活かすことは、個人の成長だけでなく、プロジェクトや組織全体にとっても大きなプラスになる可能性を秘めていると思っています。
副業で学習機会を増やす
副業って元々抵抗があったというか、最初は「自分には難しいのでは?」と思っていました。自分のスキルが本業以外で役に立つか分かりませんし、そもそも本業に支障のない稼働時間の副業をどうやって探していいのかも分かりませんでした。ですが、自分が投稿していた技術記事がきっかけで、とあるスタートアップの企業さんからSNS経由でお声がけいただき副業を始めることになりました。この副業はほぼリモートかつビジネスタイム以外の稼働OKで、尚且つ稼働時間の制限もなかったので、本業や日常生活に支障がないようなペースで仕事できています。
副業では本業で培ったスキルを活かすのがメインではありますが、本業とは別のプロジェクトに関わることで未知の技術に触れる機会が増えるので、新しいことを学ぶモチベーションの向上に繋がりました。また、本業だと比較的大きい組織・プロジェクトの中で働くことが多いのですが、副業だと小規模なプロジェクトへの参加が多いので、プロジェクト規模の違いによる面白さみたいなものを経験できたのも良かったです。副業をきっかけにして、エンジニアとしての視野が広がったと実感しています。副業で参加するような小さめのプロジェクトだと、前述した「使ってみたい技術を仕事で使う」を成功させやすいのも良かったですね。
日常の課題解決として新しい技術を使う
他にも、仕事とは関係ない日常生活を送る上で発生するちょっとした課題を解消するために、使ったことのない技術を使ってみるってこともしてます。
例えば、私は最近住居用のマンション購入を検討しているのですが、人気の新築物件とかだとモデルルーム見学の予約でさえ取るのに苦労します。予約枠開放のメールが来たと思ったら10分もしないうちに埋まったりします。メールで連絡が来るのはマシな方で、サイレントで予約枠が開放されて気付かないうちに埋まってるような物件もあります。
そこで、予約ページが更新されたら自動で見学予約を取るシステムを作ってみました。クローラーのようなもを来るのは初めてではなく、以前作った際にはruby+seleniumで構築したのですが、今回は元々気になっていたPlaywrightで作りました。Playwrightはドキュメントも充実してるしcode generateもあるので、とてもスムーズに予約システムを組むことができました。自分の所属するfluctでも自動テストでPlaywright使ってる箇所がありそうだったので、本業の方でも活かせるかもしれません。
まとめ
やっぱり頑張って記事書いていきたい
今でこそ技術記事を投稿することは少なくなりましたが、今までに書いてきた記事が自分を助けてくれたと感じることは多々あります。自分の書いた記事に感謝のコメントが付くとやっぱり嬉しいですし、はてブ等でバズったりすると学習へのモチベーションにもつながります。 また、記事を見た他社から声をかけていただき仕事の幅を広げるきっかけにもなりますし、転職時に面接官が記事を見てくれていて話が盛り上がることもあります。
この文章を書いていてアウトプットすることの重要性を再認識することができたので、今後はもっと記事を投稿していこうかな〜と思いました!