ボクココ

個人開発に関するテックブログ

サービス開発における倦怠期を乗り越える

ども、@kimihom です。

f:id:cevid_cpp:20190209180447j:plain

サービス開発をして、ユーザーが増えてきて運用を続けていると必ず訪れるのが倦怠期。最初のイカした刺激のある新機能開発はほとんどなくなって、ありきたりの開発タスクばかり降ってくる時期だ。このフェーズになると「自分の成長が~」といって辞めるエンジニアが後を絶たない。本記事で私がどのようにこの倦怠期を乗り越えようとしているのかについて記すとする。

技術を使うだけを目標にしない

例えば最近流行りの技術を使ったとして、それだけで満足するとすぐにモチベーションの終わりを迎える。技術者としては「その技術がどんな特徴でどう実現するか」ってのを把握できれば、ほぼ技術を身につけたと言える状態になる。自分のスキルやキャリアのプラスにしたいっていう気持ちは満たされることになる。これは、入門書+ちょっと踏み込んだ本を読んで、それが使えそうな小さなシステムを作ったら終わりである。

この状態で倦怠期を迎えると、技術を使うことが満たされたので、後の作業は苦痛でしかない。とっとと他の運用できる人に引き繋いで別のチームへ行くなり転職するなりっていう結末を迎えることになる。もちろん、この考え自体は新しい技術を身につけて持ち幅の広いエンジニアになる!って目的ではある意味正しいと言えるのかもしれない。

だが、私はそれは表面的に技術を身につけたとしか言えないと考える。その技術は今後も進化を続けるから、技術の進化に追従しシステムを最新に保ち続けなければならない。新しく作るプロジェクトなら 最新バージョン を使って当たり前だが、その1年後に次のバージョンアップに追従できるか。これは、一見 地味に見える作業ではあるが、その技術をより詳しく使いこなせるようになるために必要である。それによって、同じ技術でも新しいアップデートは何かっていう最新情報に追従できるようになる。ソフトウェアアップデートを常に行うことが、まずサービス開発の倦怠期を乗り越える上で重要である。「私は A の技術に関しては最新に追従してかなり詳しい」という状態になることができる。

そもそもこうしたアップデートを繰り返すレベルにするには、あなたの作ったサービスを成功させる必要がある。ユーザーがいないサービスをメンテしようなんて誰も思わないからね。だから技術を使うだけって目的で成長しようとするエンジニアはユーザーを抱えられないから永遠にその領域に達することはできないだろう。作ったサービスを必ず成功させるという思い、そしてその思いを現実にして技術に携わり続けることでしか辿り着けない領域である。

コミュニティに貢献する

コミュニティへの貢献によって、例え会社で担当者があなた一人だけだったとしてもモチベーションを保ち続けることが可能だ。コミュニティに出向くと、自分よりよっぽど優秀で詳しいエンジニアと出くわすことができる。一つの技術であっても、使い方などは様々であるから、自分より詳しい分野を持っている人ってのはいるものだ。そういった方々との交流を通じて、技術をより高みへ持っていくことが可能だ。

本当にその技術を極めていきたいってならコミュニティの運営まで携わることをオススメしたい。そこまで貢献すると中の方と日常的に連絡のやり取りもできるし、日頃から技術に対しての意見を運営同士で話し合うことが可能だ。その運営協力によって、次なるイカした技術者が現れて、コミュニティ自体が盛り上がっていく。結果的にその技術がより進歩していく。やがてあなたはその技術の第一人者として世間に認められるようになっていくことだろう。

コミュニティ貢献が、最終的にサービス開発に確実に活きてくる。「あのサービスを開発している人って ~~ さんなんだって!技術コミュニティの運営もしているし、積極的に最新情報を発信している。あの人の運営している技術は最新で間違いないだろう」って印象を持ってもらえるように日頃から技術鍛錬を行い続けよう。

もちろん、これを実現するにはとんでもなく長い時間がかかる。ブログに読者がついて多くの人に読まれるようになる状態になる以上に難しい。それでも、その技術に対しての愛着があり、より良くしていきたいってなら乗り越えられる壁のはずである。

効率化を常に考えよ

サービス開発の倦怠期では、雑用タスクがどんどん舞い込んでくる。これらのタスクをいかにして減らしていくかってのも技術の腕の見せ所である。それを単に「はい」っていって作業するだけのエンジニアは二流である。

自分が関わらなくても、誰か or 勝手に作業が終えられる ようなシステム構成を作り上げよう。こうした運用改善に全力を注ぐことも、倦怠期を乗り越えるモチベーションになり得る。それらの開発は基本的にゼロからまた作り上げるようなケースが多いので、モチベーションの一つになりうるだろう。

それは確かに、求めていた最新技術ではないかもしれない。でもその分野での技術ってのも確実にあるわけで、そっちでまた次なる努力ができるのではないだろうか。

終わりに

今回はサービス開発における倦怠期をどうエンジニアが乗り越えるかについて記した。

実を言うと、私もこの倦怠期によってモチベーションを失っていた時期が一時期あった。でも、上記のような行動によって次第にまたモチベーションが戻り、今では以前と同じように積極的に開発に戻れるようにまでなった。 サービス開発の倦怠期を超えた先にしか見えない世界がある。その新しい世界をあなたにも見に来て欲しい。私はここで待っている。

「もえつき」の処方箋―本当は助けてほしいあなたへ

「もえつき」の処方箋―本当は助けてほしいあなたへ