プログラムを書くことに絶望したら、環境構築をやればいいよ

cassetteの延澤です!

 

今回は表題にある通り、「プログラムを書くことに絶望したら、環境構築をやればいいよ」というテーマについて書いていきます。

これは私の初めて就職した際のエピソードが元になります。そのエピソードとは、初めて就職した際に全然プログラム書けなかったことです。どのくらいのレベルかというとPHPで掲示板のフルスクラッチで3カ月かかりました。。(念のためHTMLコーディングは出来たので必ずしも専念していたわけじゃありませんが)

そこで、全く伸びないプログラミング能力に一旦見切りをつけてターミナルでコマンドや環境構築の勉強に切り替えました勝手に。しかし、このやり方が結果的に良かったため、何故良かったのか理由を4つ書きました。

 

1.創造力を使わない

プログラミングは絵を描くことに似ているとよく言われます。もっと、分かりやすく言うと数学の証明問題に近いです。共通項は答えが1つじゃないということです。

違う人が同じ機能を作るのにしても傾向は似ていたとしても、全く同じように組むことはかなり珍しいです。

しかし、コマンドのlsはどこで実行しても同じ結果になります。他にもミドルウェアの導入でもソースコードかパッケージからの違いはあっても人それぞれ個性が出るものではありません。先程の数学で言えば選択式のマークアップ方式に近いです。

これはまだプログラミング脳に染まっていない人にとっては答えがあるため、非常に取り掛かりです。何故なら、ただの暗記であり非常に直感的にだからです。

 

2.会社でプログラムを習った人に一歩差を広げられる

私は独学で勉強して就職し、独学で知識を増やしていきました。そのため、当時から新卒研修で技術を丁寧に教えて貰える人が非常に羨ましかったです。しかし、社会人の経験を重ねてそのような人たちと接する機会が合った時に、プログラミングは出来るけど環境構築が出来ない人が多いことに気付きました。何故なら、研修では即戦力を目指すために環境構築を箇所を飛ばすことが多いからです。実際にその後の現場に配属されても指示通りに環境構築をするため自らやる機会がほとんどないからです。

私の場合は、当時唯一持っていたWindowsのノートPCにUbuntuをインストールして毎日必ず触るようにしました。お陰で、インストールから有線LANでネットに接続出来るまで6時間くらいかかりましたが、いつでもコマンドを実行出来る環境を身近に置けました。ここで言いたいのは老害っぽく私のようにしろ訳ではなく、Linuxの環境が身近にあると環境構築の学習の吸収率はめちゃくちゃ高くなります。

 

3.新しく勉強したいことに迅速に取り掛かれる

勉強し続けることはエンジニアの永遠の宿命です。もし、技術的な面での勉強には環境構築が迅速に出来ることはかなりアドバンテージがあります。例えばこんな経験はありませんか?

「新しい技術を勉強しようと思ったが環境構築が上手く出来ずイライラして、面倒臭くなってやめた」

はい私にもこの経験があります。今は簡単になりましたが、昔Gitlabの環境構築が上手く出来ず結局断念したことがあります。せっかくの休日に勉強しようと思ったのに環境構築が中々上手くいかず、結局勉強出来なかったのは多くの人が経験あることではないでしょうか。

 

4.運用に強くなる

サービスを運用していく上で今では色々なツールがあります。バージョン管理、静的解析、自動テストなどなど。今ではそのようなツールなくして運用することは難しくなりました。ここで環境構築の知識があると、そのようなツール同士を上手く連携し構築していくことも可能になります。開発能力だけではなく、そのような運用ツールを駆使することで運用コストを大きく下げれたら評価はきっと高くなります。

 

まとめ

いかがでしょうか、環境構築を極めることでも新たな世界を拓くことが出来ます。エンジニアとしてプログラミング出来ることは必須ですが、様々な技術の組み合わせでもエンジニア自身の価値を高めることは可能です。私自身、環境構築を出来ることで非常に得した経験は多くあります。例えば、昔はJavascriptで環境構築などは不要でした現在のモダンな開発では必要になってきました。もし、環境構築で何をしたらいいのか分からなければ、ApacheMySQLなどのミドルウェアからの導入と設定から始めてはいかがでしょうか。