良い花は後から

エンジニアのキャリアや働き方、転職などについてお話するブログ

プログラミングを嫌いになりそうになったときのことを振り返る

僕がプログラミングを嫌いにその嫌いになりそうになったときのことをまとめます。技術の変化は激しく自分自身が使う技術も変わっていくことがあるでしょう。これは多くの方が経験することだと思います。僕も実際にそうでした。その中で今振り返るとプログラミングを嫌いになりかけた時期があり、こういった事は他の方にもあるのではないかと思い記事にまとめてみます。本記事が同じような経験をされている方の参考になれば幸いです。

f:id:masayuki5160:20210222220325j:plain

サーバーエンジニアからUnityを使ってゲームアプリ開発へ

僕はもともとサーバーエンジニアとしてPHPとMySQLを使いウェブアプリケーションを開発する業務を主に行っていました。そんな中、スマートフォン向けのアプリ開発注目が集まっていき、僕もアプリ開発を担当するようになりました。その流れでサーバーサイドを担当する役割からクライアント側、アプリ側を担当する役割えと徐々に担当が変わっていきました。これまで経験したことがない領域と言うこともあり基本的な知識はいくらかサーバーサイドでプログラミングをしていた時と通ずるものはあるのですがUnityの扱い方やXcodeでのiOSアプリ開発、そしてアプリリリースの方法など非常に多くのことを学ぶ必要がありこれは少しストレスがかかりました。ただこれ自体は何とか耐えられるものだったのですが、経験のない領域を担当していることもあり、これまでクライアント側を担当してきたエンジニアの方からは時折、こんなことも知らないんですか、と思われているのではと感じることがありました。実際に言われたことでは無いのですが少しずつこういった引け目を感じることがありました。これは一番のストレスでした。今思えばこれはプログラミングを辞めたいというか少し敬遠し始めたきっかけの1つだったと思います。

ゲームアプリ開発からiOSアプリエンジニアへ

ゲーム開発を行い、その後転職をしてiOSアプリの開発エンジニアへとキャリアを変えることになりました。もともとUnityを使ってゲームアプリを開発してきたこともあり、アプリの開発運用の流れはしっかりと理解をしています。それもあって、iOSアプリ、Objective CやSwiftを使っての開発経験そのものは少なかったのですが、これまでのキャリアを鑑みてアサインをされたことがきっかけでした。新たな職場の環境ということと、経験が不足している技術と言うことが合わさってこの時も少しプログラミングから離れたいなというような感情がありました。ただ、わからないことがどうしても悔しくて、休日もiOSアプリの開発の技術について学ぶ日が増えました。その回もあってか何とか業務をこなせるようにもなり、結果的にはリードエンジニアとして業務を任せてもらえるようにはなりました。この時によく感じていた事は僕よりもすごいエンジニアの方はいくらでもいる、という事は改めて感じるようになりました。それもあってプログラミングから離れる方が良いのではないか、と言うようなことも考えるようになりました。

マネジメント能力を評価される

さて、iOSアプリエンジニアとして認めていただけるようになり、いくつかの案件でもプロジェクトをリードする立場になることが多くなりました。その結果マネージャーを任せていただけるようになりチームをリードする、チームのマネージャーとして業務をするようになりました。僕自身はそれまで深く意識はしてこなかったのですがこれまでの経験もあってマネジメントに関しての能力を評価してもらえることが増えました。これ自体はとても喜ばしいことではあるのですが、、逆にプログラミングに対する苦手意識が芽生えてきたこともあって今後自身のキャリアをどう進んでいくべきか悩み始めるきっかけにもなりました。マネジメント能力を評価してもらえるのであれば今後はプロジェクトマネージャーやプロダクトマネージャーエンジニアリングマネージャーなどそちらの方面に進むこともキャリアとしてより良い方法ではあると思ったからです。ただどうしても踏ん切りがつかずソフトエンジニアとしてコードを書き昨日開発をしたいと言うような思いがありました

それでもコードを読むことが大事

そうした中ちょっとしたきっかけでもう一度転職をすることになりました。そこでははじめからエンジニアリングマネージャーとしての役割を期待され転職をすることになりました。この時も前述のモヤモヤした思いは解決していない状況でした。僕よりもすごいエンジニアは大勢いるし僕よりもマネージメントができる方も大勢いる。そういった中で僕自身はどういったキャリアを歩んでいけばいいのか悩んでいました。そんな中で転職をしたわけですが、転職をしてその職場で働くエンジニアの方々を見ているうちにその悩みは徐々に薄れていきました。その同僚たち、特にマネージャー職のエンジニアのメンバーはマネジメントもするが、自身もしっかりコードを読み案件によってはコーディングもしっかり担当する、そういった行動をしていました。また、こないだまではマネージャーを担当していたが、プレイヤーに戻ったり、そこからまたマネージャーになったりと組織の中においてもマネージャーとプレイヤーを行き来する方がいることも新しい気づきにつながりました。この環境の変化と、そして僕自身がプライベートで行っていた社会人学生としての経験もあいまってかこれまであったプログラミングへの苦手意識というのはなくなっていきました。もちろん、僕自身の技量と言うのはまだまだで僕よりもすごい人の方が大勢いるという事は確かです。ただその事実をしっかりと受け止めることができ、そういった方々とも楽しく仕事をしていけるのならそれが1番いいなということに気づきました。そもそもそこと競うよりは、僕自身ができることや得意なこと、やりたいことなどを考えながらプログラミングと付き合っていくのが良いのかなと思いました。そういったこともあってかほんの数年前嫌いになり始めていたプログラミングに関して現在では特に苦手意識なくまた楽しめるようになりました。

まとめ

読んでいただきありがとうございます。僕のこれまでの経験とプログラミングに対する苦手意識との付き合いについてまとめてきました。自分が扱う技術の移り変わりや技術トレンドの移り変わり、職場環境の変化などがあり新しい知識や技術を常に取得する必要があるのがエンジニアの辛いとところかもしれません。そういったことを楽しむことは簡単ではありません。その中でプログラミングを嫌いになってしまう事はよくあるでしょう。実際に僕もそうでしたから。この問題に対しての対処方法は正直に言ってよくわかりません。僕の場合は今振り返ると環境を変えたこと(転職)が一つのきっかけになりました。良い出会いに支えられた、ということかと思います。他の方も同じ方法でうまく解決するかはわかりませんが僕の経験がどなたかの参考になれば幸いです。