【QUORA】ソフトウェアエンジニアとして、自分の限界を超えるにはどうすればいいですか?

これも「人生相談」

私は気が多い方なので自動的にやっていること。

限界を超えるためには、「ソフトウェア以外のこと」に手を出すしかありません。

「自分の限界」ってことは、自分がやれるところまでやったつもりなのでしょう? その「つもり」という認識が正しいかどうかは別にして、とりあえず行きづまるところまてやってみたはずです。でも、「その先」が見たい。となると当然のことながら、他のことをしてみるしかありません。

自分の行こうとしていた道が崖か何かで行き止まりになっていた、でもその先に行きたいのであれば、「違う道」を探してその先に行くしかないのです。別に逃げるとか諦めるとか思う必要はありません。そのままだと前に行けないのだから、他の道を探してみるのです。もしかしたら、その道を通れば、もっと簡単にその先まで行けるかも知れません。命懸けで「崖」を登っても、途中で落ちて死ぬかも知れないし、突破するだけでやっとかも知れません。でも、ちょっと横の道を歩いてみたら、そこには「高速道路」が走っているかも知れません。

「ソフトウェア以外のこと」といっても、様々あります。いわゆる「SIerのSE」であるなら、業務の知識を身につけることに本腰入れてみるのはどうでしょうか? 会計システムをやっているのであれば、公認会計士の資格を目指してみるとか。そういった方向です。私は放送局のシステムを開発している頃、システムを納入する新設のFM局の放送設備が頭に入っていたので、開局してしばらく私が手動で放送運行していたことがあります。

ハードウェアに手を出してみるのも良いでしょう。えてしてソフトウェアエンジニアはそれが世界の中心であるような勘違いをしていることがあります。「エンジニアを自称してるのにgithubを知らないなんて」とか言っちゃう奴です。「いや、回路図やCADを一々githubには置かんだろ。家電のエンジニアは」とか言い返されたりする。そーゆー類の勘違いです。手を出すだけで、そういった「井の中の蛙」状態から脱することが出来ますし、物の見え方は大きく変わります。もっと頑張れば、出来ることが大きく拡がります。

あるいは同じ「ソフトウェアエンジニア」でも、違うレイヤーに手を出してみるのも良いでしょう。普段システム設計しかしてない人がインフラに手を出してみるとか。同じソフトウェアの世界でも、視点が変わるたけで見えるものが変わります。今まで当然と思っていた「土台」が実は案外脆いものだということがわかったりします。

あるいは、「ユーザ企業」に転職してみるのも良いかも知れません。これも世界の見え方が大きく変化します。「普通の世界」でのソフトウェアの位置が見えることで、自分の仕事を見直す機会にもなります。結構何でもさせられますから、面白くない思いもするかも知れませんが、人によっては案外ハマります。交友関係も変わります。自分の専門性について見直す機会にもなります。私はソフトウェアエンジニアとしてのキャリアのうち1/3くらいユーザ企業にいましたが、それで身についたものは随分あります。OSSに対する理解も変わります。

あるいは「起業」してみるのも良いかも知れません。見える世界が大きく変化することもありますが、これもまたソフトウェアエンジニアとしての感性が研ぎすます機会でもあります。自分の業務をどこまでどうIT化するか、「最新のソフトウェア技術」がどこまで自分に関係があるか。そういったことを吟味しなければならないからです。もちろん、資金繰りとか事務作業とか、ソフトウェアエンジニアとしては「どうでもいい」ような業務が大量に発生します。でも、それらをどう効率化して行くか考えるだけで、いろんなことが磨かれます。

大事なことは、「限界だな」「でもその限界を超えたいな」と思うなら、多少遠回りに見えても、「進行方向を変えてみる」ことが必要だということです。