始めに
こんにちは〜まんじです。
今回は「プログラミングが手段で良い理由」を書きたいと思います。
サービスを作るっていう点でも手段だし、人生においてもプログラミングはただの手段だと自分は思ってます。
あとは人それぞれ…って感じなので、手段派の人は手段派、技術追求派の人は追求してりゃいいってのも思うところです。
ってことであーこだーだと書いていきます。
プログラミング自体を目的にする(?)
たまにあるネット論争に「コードを書くこと自体が楽しい」「プログラミング自体が楽しい」「エンジニアはこうあるべきだ!」みたいなプログラミングをするためにプログラミングをすることこそ技術者として至高みたいな意見もあります。
そう思いたい人はそう思って黙って一生コード書いてればいいんじゃね?と個人的には思ってるところなんですけど、ほとんどの人にとってプログラミングは手段でしかないと思います。
- プログラミングやればフルリモートで働ける
- エンジニアならフリーランスになりやすい
- プログラミングなら海外ノマドできる
- フリーランスエンジニアなら年収1000万を目指しやすい
- プログラミングスキルをつければ食いっぱぐれない
などなど。
自分もプログラミングを始めた動機が「まあなんかスキルつくし、普通にサラリーマンするよりはどう見ても悪くなさそうじゃね?(てか、普通にサラリーマンとかやりたくねえよ!)」でした。
プログラミング自体を目的にすることはほぼほぼなかったです。
- ポートフォリオ作るために調べてコードを書く
- 実務でタスクをやるために調べてコードを書く
- 個人開発で稼ぐために調べてコードを書く
目的があって手段のためにコードを書いていたら、勝手に技術力やら年収やらも上がっていった、、、という感じ。(自分の技術力は平均ぐらいのレベル感だと思うけど)
別に技術的なことには興味ないというか、そもそも普通にウェブエンジニアするぐらいだと技術というよりかは、プログラミング言語とフレームワークとかを使いこなすかゲーな側面が強くて別に技術ではないと思ってるってのはあります。
プログラミングは頭を使いながらやるただの作業ゲーです。
プログラミングは手段でいい
プログラミングを手段にして、年収をこれぐらいにしたい、こういう働き方を実現したい、スキルをつけてから起業したい、などなど、自分はプログラミングは手段で良いと思ってます。
厳密には、手段としてプログラミングをしていてもそれなりの量を投下していれば、それなりの技術力になってそれなりの待遇にはたどり着きます。
もちろん、本当に超難関で優秀なシリコンバレーにいるエンジニアとかGAFAM系とか強めの一流企業のマネージャークラスみたいなのは無理ですけど、ほとんどの人にとって(自分もそう)そこを目指してすらいないと思います。
「シンプルに年収1000万円ぐらいを家に引きこもって稼ぎたいんだよなあ〜」
ぐらいの目的があって、そのためにプログラミングをする、でプログラミングをやる動機としては十分な気がします。
大学受験で東大に入る人みんなが高校の範囲の勉強が好きで学問を追求したいわけじゃないと同じで、プログラミングも何かを得るための手段で良い。
真のエンジニアになる(キリッ)必要とか全領域を幅広くカバーしてる自称つよつよエンジニアとか、勝手にやっとけよってスタンスです。
プログラミングは手段でいいけど、強くなる必要はある
「プログラミングは手段だ!技術力を追求し続ける人生なんてつまらねえ!くそくらえだ!」ってスタンスは完全に自分のスタンスなんですけど、エンジニア市場や職場においては、仮にそのスタンスがあっても自分のポジションは作る必要があります。
例えば、ピヨピヨ駆け出しエンジニアが技術は手段とか言ってても「黙れ雑魚がああ、なんだこのクソコード!REJECT!!!」と唾を飛ばしながら100件GitHubにコメント(レビュー)してくるきしょいメガネにdisられても何も言い返せませんし、そのきしょいメガネがそこでは正義であり立場として上です。
なので、技術自体に興味はないしプログラミングは手段という根底的なマインドが仮にあったとしても、そこで戦えるぐらいの実力(技術力や仕事遂行力)というのは必要になります。
そんでそのために必要なのは、駆け出しぴよぴよシーズンの1日10~12時間とかのプログラミング作業です。
エンジニア市場で自分の優位性(というほどでもないけど、普通にメンバークラスで実装できるレベル感)を作れて、ようやくそこで「ワッハッハ、プログラミングは手段!引きこもって稼ぐの最高!社会不適合者最高!」ってのが実現されるわけです。
自分のスタンスを実現するために重要なのはどう思っているかというよりかは、バリューを相手に出せるか、という部分になります。
サラリーマンだろうがフリーランスだろうが取引です。
自分「こういうバリューを出します、その対価として〜円のこういう待遇で働きたいです。」
会社「いいお、じゃあおまえにはこれぐらいの成果を期待するからな!ちゃんとやれよ!?」
ぼくたちは強くなる必要があります。
強くなることで他人からリスペクトされるし、強くなることでしか自分の欲しい待遇やライフスタイルは得られません。
まとめ
プログラミングは手段だ!(サービス開発や人生において)というスタンスでいいのだけど、そう思っててそれを実現するためには実力が必要だから最初はゴリゴリ作業ゲーやろうぜ!って内容でした。
個人的にはそこまでこういう「エンジニアはこうあるべき」的な内容に興味がないので周りの意見は気にせずに思うようにゆけばいいのではないかと思うところではあります。
そもそもエンジニアなんてプログラミングとかが多少できるそこらへんにいるただのサラリーマンおじさんが大半なので、こうあるべきとかの次元の前にいるのでは?とかは思っちゃいます。
そんでついでに、、、プログラミングってのはそこそこ高収入ぐらいのレベルまでなら普通に誰でもできる経験が必要なただの作業ゲーです。
一定の領域を超えてくるとエンジニアにはプログラミング以外とかのスキルが求められるというよりかは、、、プログラミングやるとかフレームワークを使う以外の能力を持った超優秀(例えば、超高学歴、3ヶ国語できる、経歴が異様に優秀、歴がクソが長い、海外勢)な人も出てきますけど、そこを超える必要はないとも思ってます。ていうかそこらへんを超えるのは無理。
ということで終わりなので下の記事もよければぜひ!