僕が自宅でプログラミングする理由 | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

昔に比べて時間は減ったものの、自宅でプログラミングすることはよくあります。

職場でプログラミングの仕事が減った分、相対的にみたら自宅でコードを書く時間の方が多くはなっているかもしれません。


何で家でまでプログラム書いたりするの?ってことは周りのエンジニアからも言われたりするのですが、単に趣味の世界から離れて職場に比べたら家でするほうが環境としてはそろっているような気もします。



安価で手に入る環境


何よりも大きいのは個人で楽しめるレベルの自由な環境が全然負担にならないレベルの金額で手に入れられるという点です。

少し前でも最低でも数千円、専用サーバーなら数万円出さないといけないというところから、仮想化などの技術の進展により千円を切るレンタルサーバーのサービスも出ています。

昔は、そういった金額さえも手を出すのが億劫になって、自宅で余剰となった使わなくなったPCに付録でついているLinuxインストールして遊んでたりもしましたが、今はそんなことする方が場所をとったり電気代とか壊れた場合の保守などを考えると高くつくかもしれません。


会社でサーバー導入するなら数十万するような高価なサーバーを導入しなくてはならず、個人で使いたいからという理由だけではなかなか承認が降りることもありません。

仮想化やりたいと言った場合も真面目な構成を考え出すと、ブレード入れたりストレージや高価なスイッチ用意したりすると個人だと目玉が飛び出るレベルの金額になってしまいます。


そもそも会社でサーバー買うとなると、プロジェクトや案件で必要になるものであり、個人の開発環境としてという理由では導入しにくかったりもします。

そして、そういった環境はOSが決まっていたり(そして、一度決めると変更できなかったり)言語やフレームワークが決まってたりと利用目的の制限の中で個人の好みややりたいこととマッチしないケースもあります


個人でも安価で手に入れられるVPSプランなどを提供するサービスを利用すれば、手軽に仮想化環境を使えますし、気に入らなければ別のOSに乗り換えることもできますし、他のサービスにも手軽に移行できます。

要は、ちょっとプログラミングしたいな、って時に昔ほどお金をかけずに環境を手に入れられますし、始めるまでのスピードも早いわけです(もちろん手離れもいいわけです)。



縛られない環境


もう1つは、仕事の環境に縛られない点があります。

失敗してもよい環境、壊しても壊れてもよい環境、関連がなく制約が無い環境、仕事で使う環境よりずっと自由なことができる環境があるわけです。

仕事の環境は失敗が許されず、壊れたら自分を苦しめ、関連システムがあるために作業できない制約があったりと窮屈であったりもします。


何よりも利用目的が決まっているがために、作るものにも制限が出ます。

今流行のこの言語で作りたい、このライブラリを試してみたい、既成のパッケージなど使いたくないといってもそのチームを取り仕切る権威ある人の鶴の一声や、リスクをとりたくないがためにレガシー化した技術に固執するということもしばしばあります


責任を負うのは自分一人で済むのは随分と気が楽なことです。

そもそも自宅でのプログラミングは自分磨きなどとあまり堅苦しいことは考えていなくて、どちらかというと趣味の延長線上にあったりします。

これを勉強しようなんて気概で取り組んでもあまり長続きもしなかったりしますし、とりあえず動くものを作りたいとか、これが無いから自分で作ってしまおうというほうが吸収しやすかったりします。


会社の仕事は色々な制約があります。

納期に縛られるがための時間であったり、就業時間にも縛られますし、作る目的も求められます

目的なんかは自分の意見も含まれるかもしれませんが、あくまでチームや組織の総意であることが求められたりもするので、その中に押し殺した自分の意見も含まれるでしょう。

そもそもオーナーあって作るものなので、その中には「この機能誰が使うんだよ」とか「その変更本当に必要なの?」とか「この期間で作れって氏ねって事ですか」とかry、あるわけですが自宅でのプログラミングはそういったことがありません。


何よりも時間に縛られない点で言えば、会社では打ち合わせや様々な依頼事項によって細切れになる時間で集中する時間をもてない点が大きいのではないでしょうか。

プログラミングが好きであれば、なお更自宅でコードを書ける環境を持つことのメリットは大きくなるはずです。

繰り返しにはなりますが、個人の環境を持つコストはどんどん低くなっていますし、様々なコードやライブラリが公開され、技術に選択の余地が多くなっている今であれば、それを自由に手軽に誰にも縛られなく使えるという点においてもメリットが大きくなっていると感じます。