ニッチプログラマー

V
May 3, 2022

--

Twitter で “The Nitche Programmer” という記事が流れてきたので、自分もおそらくニッチプログラマーのくくりには入ると思うので雑に何か書いておこうと思います。

思ったことを適当に書いていくので読みにくいと思います。適当に流し読みしてください。

まとめ

ニッチかどうかはどうでもいい。

ニッチプログラマー

はじめてのちゃんとしたプログラミングは Python 2.2 あたりから始まり、その後 Erlang/OTP へ切り替えて 10 年以上 Erlang/OTP を書いてご飯を食べています。ここ数年は開発に注力はせず、ビジネス考える人になっています。

最近では WebRTC をメインでやっており、 Erlang/OTP + WebRTC という組み合わせであればおそらく日本では社員を除けば自分だけというくらいニッチです。世界的に見ても Erlang/OTP + WebRTC の製品を作ってパッケージを売っている会社は自社しか知りません。

なぜニッチプログラマーなのか

最初はウェブアプリに興味を持っていて Python + Django をやっていたのですが、そのうち Web サーバに興味が移り、仕事でミドルウェアに関わるように完全にミドルウェアの虜になり、通信系ミドルウェアを開発する言語として Erlang/OTP を知り、そこからずっと通信系ミドルウェア屋をやっています。

つまり、やりたいことやっていたらニッチプログラマーになっていたというだけです。別にお金が欲しいからとか採用が楽になるからとかで、狙ってニッチな言語やニッチな技術をやってるわけではありません。

ニッチプログラマーに求められるもの

ニッチプログラマーに求められるのは実はニッチな言語に強いことでもニッチな技術に強いことでもありません。それらニッチな技術を使ってお金を稼ぐ能力です。

ニッチな技術をお金に換えるのは実はとても難しいです。そのニッチな技術自体をお金に換えることが難しいからです。たとえば今国内で Erlang VM 系の仕事を探したとしても、良い金額で手を上げてくれるのは MIXI くらいでしょう。

ニッチかどうかはどうでもいい

Erlang/OTP で製品を作っていて「Erlang/OTP というニッチ言語で作られているから製品を買わない」と言われた事は一度もありません。つまりニッチかどうかは顧客はどうでもいいのです。

たとえば最近は Zig + Erlang/OTPで動く WebTransport を利用した新製品を開発したりしています。Zig + Erlang/OTP + WebTransport の組み合わせは相当ニッチでしょう。ただニッチだから選んでいるのではなく、Zig はプロトコル処理に向いていることを実感しており、プロトコル処理以外はすべて Erlang/OTP で書いた方が自社が持ってるパッケージ製品ノウハウが生かせるからです。

つまりニッチかどうかじゃなくて効率が良いから使ってるだけです。もちろん長年 Erlang/OTP を使ってきた事による影響はあると思います。ただ、何度も言いますがニッチだからその言語を使ってるわけではありません。作りたいものを作る事にマッチしていたからです。

気付いたらよくわからないが世間から見るとニッチなプログラマーになっていたというだけです。自分からすれば別にそんなのどうでもいいです。

自分がやりたいことがやれていればそれで十分なので。

元々の記事は「ニッチな言語の場合は賃金は素晴らしく、競争は少なく、面接のプロセスはほとんどの場合非常に人道的で、ニッチな言語が主流になったら別のニッチな言語を探す」という結論の話でした。

これは「好条件を得るためにニッチな技術を続けていく」という話なので、お金を稼ぐ戦略としては悪くないと思います。ただこれを続けられる人がどれだけいるのかは少し疑問です。

変更履歴

2023–03–13

  • Rust ではなくZig に振り切ったので修正
  • mixi を MIXI に修正

--

--

V
V

No responses yet