なぜLinuxを学ぶ必要があるのか
こんばんわ。
できるなら在宅勤務中に飲酒したいどうもみけぽんです。
Twitterで「Linuxは知っておくべきか?」というようなツイートを見かけたのですが、個人的にLinuxのことは「絶対に知っておくべき」と感じています。
今回はその理由について綴ろうと思います。
始まりはTwitterだった
Linuxのある程度の知識は必須だと思いますけどねえ。
フリーランスやるにしても「コードしか書けません」だと単価上がらんと思うし、Linux分からんと家でも開発環境構築できない。
XAMPPみたいな簡易的なものしか使えないのでは? https://t.co/a2F6noUnd8— みけぽん@クマ (@mikeponjp) July 30, 2020
私がフォローしているなつきさん(@7293Waltz)に対しコメントRTしたのが始まりでした。
Linuxは絶対に会得しておいた方がいいです。
なぜLinuxを知っておく必要があるのか
業務で必須だから
もしかしたら業務で全然触る機会がない方もいるかもしれません。
しかし私の場合は業務でサーバーを構築・運用するのでCentOS(Linuxの種類の一つ)の知識が必須です。
サーバーを構築する際に必要な手順や、負荷を確認・対応するコマンドを覚えてないと全く話になりません。
と言うか画像のアップロード機能やメール配信機能を実装しようとしたら、パスや権限などインフラ周りの知識はある程度必要になるのではないかと思います。
市場価値が上がらないから
コードが書けてもインフラ周りは全然知らないという人は実は結構います。
過去にSESの現場でフリーランス10年選手だけど「インフラ何も分からん」と言う方も実際にいました。
個人的には「非常にもったいないな」と思います。
Twitterで大量増殖している「自称駆け出しエンジニア」を見ていても、視覚的に分かりやすいフロントエンドの技術を学んでいる人はよく見かけます。
しかしインフラを学んでいるという駆け出しエンジニアはほとんど見ない印象です。
個人的な考えではありますがインフラが分からずコードを書けるだけではあまり差別化にはならないと感じています。
差別化できないということは「=市場価値が高くない(給料が上がらない)エンジニア」ということです。
そういう私もフリーランス時代は「コードしか書けないエンジニア」だったので、単価交渉で「インフラ何も分からん」状態なのは結構パンチが弱く苦労しました。
インフラ周りが全く分からないのは圧倒的なハンデだと思ってください。
CentOSの知識を得たおかげか、今の会社では28歳のSES会社員時代の年収よりも二倍以上(しかも残業が殆どない状態で)もらえています。
個人開発で環境構築できないから
個人でWEBサイトもスマホアプリも開発できる世の中ですが、Linuxが分からなければ本番環境はもちろん開発環境でさえ構築できません。
XAMPPはどうなの?
開発環境が割と簡単に構築できるXAMPPというツールもありますが、使い勝手が悪いうえに本番環境の構築・運用には向いていません。
開発環境設定が簡単なレンタルサーバーもあるよね?
レンタルサーバーで簡単に開発環境がインストールできるプランもありますが、root権限が使えないものも多く、やはりこれも実運用は難しいのではないかと思います。
結論
やはり私としてはVPSやクラウドサーバーでLinux環境を構築すべきなのではないかと思います。
※個人で物理的なサーバーの組み立て・構築は手間と時間とお金が非常にかかるのであまりおススメはしないです。
では何から学習するべきか
最初は下記の手順で学習するのがいいと思います。
- root権限が使えるレンタルサーバかバーチャルボックスでLinux(個人的なおススメはCentOS)をインストールする。お金をかけたくないならバーチャルボックスがいいです。
- Apacheをインストールしてブラウザからhttpで閲覧できるようにする。
当ブログでも開発環境の構築記事は投稿しているので是非参考にしてみてください。