「プログラマーという仕事に興味はあるけど、実際のところ楽しいのか、それとも大変なのか知りたい」
この記事では、そういった疑問に対してお答えしてきます。
筆者である僕は、実際にプログラマーとして2年以上仕事をしてきました。
結論から言うと「楽しいことも大変なことも両方ある」というのが正直な答えになるのですが、詳しく解説していきます。
プログラマーって実際のところ楽しいの?それとも大変?
現場にもよりますが、楽しい部分、大変な部分も両方あります。
プログラミングをしてコードを書くのは楽しい
プログラマーになった方、これからなろうとしている方。
プログラマーとしてやりたいことって何ですか?
僕は、「プログラミングをしてシステムを作ること」がやりたかったです。
当たり前すぎますよね(笑)。
そして、その当たり前の「プログラミングをしてシステムを作る」という業務は当然仕事の中にあって、それは大変楽しいものです。
研修、独学、スクールといった勉強の段階では、とにかくコードを書いて覚えますよね。
それって「楽しい」じゃないですか。
業務の中であっても「プログラミングをする」のは楽しいんです。
でも、業務の中でコードを書く時間ってすごく短いんです。
ほとんどの時間はテストしてます。
そして、テストプロセスってすごくしんどいです。
テスト工程は大変です
テストをするのがとても重要なのは事実ですが、とにかく大変です。
理由は主に2つあります。
①テストの準備・実施が大変
テストケースを洗い出す、テストのためのツールの用意や環境整備など、準備が必要です。
特にテストケースは、漏れがないように何パターンもケースを組みます。
準備ができたら実際にテストしていきます。
想定通りの結果になるかなど、しっかり確認しなければなりません。
想定通りにテスト結果が出なければ、やり方が間違っていないか、あるいはバグではないか都度確認が必要です。
②バグが出てしまったら、改修して再テストしなければならない
これに関しては本人、あるいは上司が無能なのでは?という感じに捕らえられてしまうかもしれませんね(笑)。
バグが途中で見つかった場合、該当箇所のソースの修正、そして再テストという流れになります。
大量のテストケースをこなしてから、修正してもう一度テストを繰り返す…心が折れてしまいますよね。
新人は特にテストに回されやすいので、最初はテストばっかりやるということも多いみたいです。
それを勉強だと捕らえて、大変だったり、つまらなくても真剣に取り組むのが大切になってきます。
業務のほとんどはテストをしている
現場、プロジェクトや言語によりますが、僕の現場では実装(プログラミング):テストで1:4くらい(あるいは1:5、1:6とか)の差がありますね。
それもそのはずで、実装するコードなんてほとんど設計の時点で大半が決まりきってしまっているからです。
そして、さらっと実装したらバグが出ないようにテストをきっちりかっちりやる感じですね。
楽しい楽しいプログラミングは簡単に終わってしまって、その後大変なテストに長時間をかけるというサイクルで回っているんです。
楽しいかはワークライフバランスも影響します
どんなに大変なテストをやっていても、定時で帰れたら意外と楽な気持ちでいられます。
テストばかりなのは不本意かもしれませんが、定時に帰って自分の時間が持ててたら、「充実した毎日だな」と思えるものです。
反対にプログラミングの段階でも終電まで残ってたら、大変なんてもんじゃないです。
むしろ楽しいはずのプログラミングも嫌いになってしまうかも?です。
つまり、ワークライフバランスが良好な状態なら業務内容に問わず「楽しい」と感じられるでしょう。
ただし、良好なワークライフバランスというのは自分では決められないのが難しいところです。
フリーランスエンジニアなら自分でコントロールできます(稼ぎは減る)が、会社員の場合は現場を変更することでしか労働環境を改善することは難しいです。
もし劣悪な労働環境なら、迷わず転職ですね。
楽しさを求めるなら自分のレベルアップが不可欠
自分のプログラマーとしての技量を伸ばして、自分の理想を叶える努力をしましょう。
プログラマーなら自分の力で自分のやりたいこと、楽しいと思えることへ近づくことが可能です。
プログラミングでできることは無限大です
WEB、アプリ、ゲームなどプログラミングで創造できるものはなんでもあります。
つまり、自分が作りたいものを作れるということです。
自分が作りたいものを作るなら、絶対楽しいですよね。
たぶん時間を忘れてずっと仕事しちゃうんじゃないでしょうか。
でも、その段階に到達するには技術と知識が不可欠です。
作りたいものがあっても、技術がないと作ることはできません。
あるいは作る技術があっても、ニーズがなければお金にはなりません。
だから、とにかく努力しましょう。
努力して自分のやりたいことでお金を得られるようになりましょう。
レベルアップするには?
レベルアップには、勉強が必須です。
現場業務で自分がやりたくないことがあっても、真剣に取り組む
自分のやりたくない言語、あるいは工程であっても真剣に仕事した方が良いです。
嫌だと思っていても、やらなきゃいけないですし、どうせなら勉強だと捕らえて真剣にやったほうが成長につながります。
真剣にやれば、きっと仕事も早く片付けられますし、得することが多いですよ。
その中で、自分のやりたいことができる方向へシフトしていくには何が必要か考えましょう。
現場を変更する、転職する。
やり方はいくつかありますね。
家に帰ったら少しでも勉強する
現代は、自宅でプログラミングの勉強をする環境というのが整っています。
ドットインストールやProgateといった学習サイトがあるので活用してみましょう。
平日1時間、休日は3時間くらいできるはずです。
それを継続できたら、やりたい方向へ近づけます。
僕も遊ぶのを少し我慢してがんばって毎日勉強してます。
一緒にがんばりませんか?
まとめ
プログラマーの仕事の中には、楽しい部分、大変な部分両方あります。
コードを書いてるときはやっぱり楽しいです。
やりがいを感じられますし、プログラマーになってよかったなと思えます。
テスト工程は、単調だったり量が膨大だったりで大変です。
期日が迫ってくると残業も増えていきます。
そんな中で、真面目に仕事に取り組んだり、勉強して自分の技術を高めれば、楽しいこと・やりたいことを仕事にするチャンスを得られます。
せっかくプログラマーになる(なった)のですから、楽しく仕事ができる方向へ進みたいですよね。
最後まで読んでいただき、ありがとうございました。