始めに
こんにちは、まんじです。
今回は実際にウェブエンジニアで仕事してみて感じるデメリットをご紹介したいと思います。
- インターン
- 正社員
- フリーランス(海外から)
- 個人開発
こういった経験をウェブエンジニアとしてしてきたので、多少は参考になる部分もあるかと思います。
「フルリモートで仕事できてフリーランスにすぐなれて食いっぱぐれないスキルも身について〜」という良い部分にスポットライトが当たりがちですが、当然ですが現実的に微妙な側面もあってプログラミングスクールのアフィリエイトがしたいわけでもないので包み隠さずに書きます。
デメリット1. 目周辺がつらい
- 視力が落ちそう
- 目の下のクマがめっちゃ黒くなりがち
- 単純に目が一年中疲れてる
以上のように単純に目が疲れます。
この黒い画面を一年中見てれば目が疲れないわけがないんですけど、本当に目が疲れます。
(疲れています…)
一応目薬とかをさしまくってなんとかしようとするんですけど、なんとかなってない気がします。
特にぼくの場合ICLしてるので、目をもうちょっと大切にしたい感があるんですけど、プログラミングしてると100%無理です。
美容とかに気をつかってる人にはわりと深刻な問題であることは否定できません。
デメリット2. 肩・首・(腰も?)が年中痛くなりがち
これは定期的に立ち上がったり定期的に昼寝したり歩いたりすることで解決できるんですが、普通に生きているよりは肩や首が痛くなる確率が高いと思います。
昔、安物のゲーミングチェアを使っていたんですが、その頃は首や肩がめっちゃ痛くなりました。
デメリット3. 労働時間の集中力が高くて疲れる
コンビニバイトとか塾講師とか物販とかSEOアフィリエイトとかトレードとかしてきましたが、それらの労働よりもプログラミングしてる時間のが集中力を要するので、労働時間はかなり疲れます。
8時間労働/日をした後には目がわりと死ぬので、意図的に遠くを見るとか外の空気を吸いにいかないと精神的にも身体的にも死にます。
ただこれはメリット部分に書く予定なんですが、労働してる時間は集中できると体感的に短く感じます。
フルリモートとかだと朝から夕方までわりとすぐ時間が経過するっていう体感です。
デメリット4. 納期とバグがキツい
自社開発のウェブエンジニアでも「いつまでにこの機能をリリース」とかが決まっていたりすることが多いです。
その納期が自分以外の外部要因で遅れたり自分のせいで遅れたり、そもそも与えられたタスクが隠れた要因で時間的に無理ゲーだったりすると、精神的にかなりきつくなります。
休みの日とか労働時間外でも気になっちゃうというか、気になりまくります。
あとバグが地味にきつくて、どんだけ動作確認したつもりでもテスト書いても、もれる時はもれます。
自分の実装したとこでバグってたりして修正PR(修正のコード)が休日にチラッと見えてしまったりすると、「ぬおおおおおおお」って感じで申し訳ない気持ちと「あ〜あ〜やったった」みたいな気持ちがわいてきます。
どちらかというと、「やっちまった」感情が強いです。
ちなみに「やっちまった」が重なっていくことで、自分の評価はちゃんと落ちていきます。シビアな世界です。
デメリット5. 勉強がだるい
プログラミングを始めてから2年未満ぐらいは「よーし、今日も技術力伸びてるぞお」とポジティブに考えられるんですが、プログラミング2年目以上ぐらいになってくると徐々にシンプルにだるってきます。
オーソドックスなところはどれも似てるんですが、とはいえ突き詰めていこうと思えば勉強に終わりがないのと、勉強しまくったところで到達できる場所(地位とかお金とか)は資本主義を全体的に俯瞰してみた時にわりと低いからです。
とはいえ勉強しまくって、いわゆる技術力ってのを伸ばしまくると、食いっぱぐれることがないのと一般的に高収入と思われてる?のか?ぐらいの金額をきることはなくなると思われます。
ただ、それで満足できるのかっていう部分が問題になります。
なのでこの「学習コスト」っていう部分がデメリットに感じています。
ちなみにこの「勉強がだるい」は、プログラミングで労働する前もその後もそうです。
デメリット6. 家に引きこもりがち
特にリモートワークとかだと自分から無理やり外に出る予定とかを作らないと人生経験が増えにくいです。
具体的には人との出会いとかが少ないので、自分の世界が広がらないことが多いなと思います。
インターネットばっか見ていると浅いネット民のような思考になりがちです。
デメリット7. AIが怖い
ChatGPT含めて近年のAI進化がすごいので、プログラミングできる人の需要が落ちるんじゃね?みたいな恐怖はわりとプログラミングできる人はそこそこ感じていると思っていて、ぼくも漠然とした謎の恐怖心を覚えます。
まだかなり限定的なのと、プロンプトからやりたいことを入力して出てきたコードを確認して必要なら修正してってことが必要なのと、出てきたコード自体を全体像から問題ないかとかをチェックする作業や経験に基づくなんかの作業は必要なので、ここらへんはドウナンダロウナーって感じです。
例えば、ぼくはReactでフロントエンドを書いているんですが、仕様を非言語的な部分まで含めて実装することは、AIがどんどん進化したとしてもスピードが早くなる程度かなって感じではあります。
自然言語でやってもらえたとしても、どのみち人間が理解しないといけないんで、そこはさすがに時間的コストが減らない気もします。
ただ、効率化されていって開発効率が上がるみたいなことはもう既に起こっているようですし、それはほぼ確定で起こると思いますしAIに限らず起こり続けています。
雑魚エンジニアはいるだけ邪魔で、強いエンジニアがプロンプト対話で確認していきながら今までの生産性をはるかに超える速度で実装して出力されたコードを確認してって実装していくことは現実的に普通にありえそうな世界線です。
デメリット8. プログラミング系に意識がいきすぎてしまう
例えば、「railsはオワコンでPythonでDjangoのがモダンだからPythonやろう」みたいなそういう感じのエンジニアあるあるのこの技術のほうがモダンでイケている、みたいなやつです。
労働現場ではそう言う感じにならざるおえない側面もあるので、その環境にいると自然とそうなっていきがちなんですけど、プログラミング系に意識がいきすぎると上にも書いたように学習コストがただただ高まっていってそれの無限ループで人生の時間が淡々と減っていってしまいます。
特にある程度稼ぎたいとか人生を自由にしたいとかの欲求がある場合、本当に重要なのはプログラミングとか技術の部分でないことが95%ぐらいなので、そこの意識調整が難しいなと個人的に思います。
雑魚のぼくですら、「このコードの書き方汚いしバグりそうだからこうしたほうがいい気がする」とか思っちゃいますけど、こういうマインドが多分労働者のそれで、そういうマインドを強く持ちすぎてしまうといわゆる老害になっていきそうだなと思ってます。
デメリット9. 異性からモテにくいかもしれません
前Twitterで人気だったすごく日本らしいツイートで、合コンにきた男で外れ職業ランキングのトップぐらいに位置してたのが開発系、開発部門系みたいな感じだったんですけど、これは的を得ていると思います。
学校ですみっこにいたメガネ系が集まってくる確率が非常に高いっていう側面もあるんですけど、ウェブエンジニアとかしてると徐々に価値観がそこにそまっていきます。
「あの人は技術力が高い」
「技術力高いのはすごいことだ」
「休日はコード書いてます(キリッ)(内心では少しドヤる)」
「え〜〜〜、書ける言語は〜〜〜TypeScriptとPythonとGoとJavaとRustを(ドヤる)」
こういうのって一般的に見るとよくわからなくて、「で、それで年収で稼ぐんだ?」とかそういう表面的な部分にでてこないとエンジニア以外からは何が良いのかよく分かりません。
あと、話のネタもプログラミングばっかしてると濃い面白いネタが自分に蓄積されていかないので、そこも全体的に見ればモテにくいであろう要因の1つかと思っていて、それがデメリットだと思います。
でも客観的に見て、普通にかっこいいというかイケてるエンジニアも中には割合的には少ないですが、普通にいます。
全体の傾向としては少なめです。
デメリット10. 富裕層が少ないように思える
例外的には、上場前の株を持ってて上場してウェーイってエンジニアもたまにいます。
今もそれを狙ってる人は多いと思いますし、エンジニアがお金持ちになるためのいわゆるスキームとしてはありだと思いますが、一般的な富裕層系に合うとエンジニアですって人はやっぱり少ないというか、いなくはないけど、ほぼ皆無です。
もしかすると、日本人だけかもしれませんが。。。
そもそも富裕層になるスキームがめちゃくちゃ高給を取るかビジネスか投資(投機)の2パターンしかほぼないので、開発エンジニアだと(外資を除いて)めちゃくちゃ高給にはなれないんだけど労働に意識が全振りされがちだからなのかなって考察しています。
あと余談なんですが、自分がよく見る富豪じゃなくて普通に富裕層な人はハードスキルはあんまり高くない傾向にあって、まあなんとなくそういうことなんだなってのを思ってます。
ハードスキルは人生の最低レベルを上げてくれますが、人生の最高レベルを上げるのにはあんまり役立ちません。
まとめ
エンジニアのデメリットをゴリゴリ書いてしまったんですが、シンプルにまとめるなら「スケールしなくて地味」ってところだと思います。
逆にメリットとしては「底辺レベルが圧倒的に上がる」ってところで、物事のトレードオフを感じざるおえません。
エンジニアというかプログラミングっぽいところを自分のコアな部分にする場合は、そのコアスキルの部分で人生の最低ラインを上げつつ、そこからどうやってスケールさせるかを考えると悪くないかもしれません。