エンジニアの仕事は少し前まで「きつい」「帰れない」「給与が安い」など、3Kと言われていました。
しかし、最近、エンジニアの需要が高まるにつれて3Kと言われる環境が改善しつつあります。
本来、エンジニアはやりがいのある仕事であるため、環境が改善するに伴って「エンジニアの仕事が楽しい」と感じる人が増えてきたように感じます。
そこで今回は、現役エンジニアの僕がこれまでの経験を元に
- エンジニアの仕事が楽しい理由
- エンジニアに向いている人と初心者の学習方法まとめ
という内容でお話していきます。
エンジニアの仕事はなぜ楽しいのか
エンジニアの仕事が楽しい理由は大きく下記の4つになるかと思います。
- 自分で作ったものが世に出る楽しさ
- スキルアップを実感できる楽しさ
- 困難な課題を解決する楽しさ
- 裁量を持って働ける楽しさ
自分で作ったものが世に出る楽しさ
まずは、エンジニアとして自分が作り出したサービスが世の中に出ていく楽しさがあります。
会社にもよりますが、エンジニアになると誰もが知っている大きなシステムを触る経験を得られることも少なくありません。
例えば、
- 年間200億円もの流通があるECサイトシステム
- 誰もが知っている某大手飲料会社のキャンペーンシステム
- 新規事業で0から自分で作り上げるシステム
といった、様々なシステムに触ることができます。これまで自分が使う側のサービスだったシステムを作る側になることは非常にやりがいを覚えるのではないでしょうか。
スキルアップが実感できる楽しさ
エンジニアは最初のうちは特に自分が書いたコードが仕事の成果物になります。
自分が半年前に書いたコードを見ていると、あまりのコードの汚さに絶句することがあります笑
その他にも、システム用語ばかりで宇宙語をしゃべっているようにしか聞こえなかった上司の会話が、知識がついて徐々に何を話しているかわかるようになるといった経験もあります。
このように仕事を通して自己成長をわかりやすく実感できる職業は、エンジニア以外にはあまりないのではないでしょうか。
困難な課題を解決する楽しさ
また、エンジニアには次から次へと様々な困難が押し寄せてきます。
謎のエラーが解決できない・・・😫
— ケイゴイノウエ/KEIGO INOUE (@mushiki_k) July 5, 2019
エンジニアにとって、よくわからないエラーが発生するのは日常茶飯事で「もう無理だ…」と毎日のように挫折します。
しかし、それでもなんとか粘り続けて解決できたときの達成感は、それまでエラーに悩んだことも相まって非常に快感を覚えます。
コーディング以外にもプロジェクト全体の大きさや難易度、その他にも様々な困難な壁がありますが、それらを乗り越えた快感を通して「エンジニアは楽しい」と感じる人も多い気がします。
裁量を持って働ける楽しさ
一概には言えませんが、縦社会ではなく正しい意見を言う人が評価される文化が根付いている職場が多いです。
例えば、10年近く経験がある人とも対等に意見を言い合って議論をします。
その他にも、効率を意識するため昼寝もしますし、1時間に1回、3〜5分程度の休憩時間も入れます。
このような行動をしても、きちんと仕事を進めておけば何も言われることはありません。
企業によっては、リモートで働いたり出社・退社時間をルール内で自由にずらすこともできますし、成果を出すことが評価につながるという意識を持って働ける楽しさもあるかと思います。
エンジニアに向いている人の特徴
Perlというプログラミング言語の生みの親であるラリー・ウォールはプログラマーの3大美徳として下記の3つを挙げています。
- 怠慢(Laziness)
- 短気(Impatience)
- 傲慢(Hubris)
えっ?と思われるかもしれませんが、書き間違いではありません笑
このままでは、あまりにもプログラマーが最低な人になってしまうので解説していきます。
エンジニアに向く人①:怠惰な人
全体の労力を減らすために手間を惜しまない気質。
この気質の持ち主は、役立つプログラムを書いてみんなの苦労を減らしたり、同じ質問に何度も答えなくてもいいように文書を書いたりする。
よって、プログラマーの第一の美徳である。
引用元:プログラマーの三大美徳その1「怠惰」
怠惰な人というのは、自分主体で行動を決定する人ではなくプロジェクトを通して全体最適の考え方を持っている人と言えそうです。
具体的には、
- ドキュメントの整備
- 単純な業務の自動化
などといったことですね。
常に「この業務はもっと効率的にできないか?」を考えられる人はエンジニアに向いていると言えそうです。
エンジニアに向く人②:短気な人
コンピューターが怠慢な時に感じる怒り。
この怒りの持ち主は、今ある問題に対応するプログラムにとどまらず、今後起こりうる問題を想定したプログラムを書く。少なくともそうしようとする。
よって、プログラマーの第二の美徳である。
引用元:プログラマーの三大美徳その2「短気」
続いて短気な人というのは、コンピュータが怠惰なこと、つまり書いたコードが後で問題を起こすことに耐えられない人と定義できそうです。
こうした人は
- 保守性の高いコード
- 追加の依頼にも耐えうるコード
といった一般的に綺麗なコードを書く人、少なくとも綺麗なコードを書こうと考える人はエンジニアに向いていると言えるでしょう。
エンジニアに向く人③:傲慢な人
神罰が下るほどの過剰な自尊心。または人様に対して恥ずかしくないプログラムを書き、また保守しようとする気質。
よって、プログラマーの第三の美徳である。
引用元:プログラマーの三大美徳その3「傲慢」
傲慢な人は、他人から見たときに綺麗なコードを書くかどうか?を考えられる人と言えます。
プログラミングには様々なコードを綺麗に書くための法則・原則があります。
- YAGNIの法則
- SOLIDの原則
- KISSの法則
といった原則を守っていると、こうしたコードを書くためのヒントに繋がるかもしれません。
エンジニアとして楽しく仕事をしたい人の学習方法まとめ
ここまでを読んで、エンジニアになるための具体的な学習方法がわからないという方も多いでしょう。
エンジニアの学習方法について下記に参考記事をまとめておくので、こちらも合わせてご覧ください。
プログラミングを独学で学ぶ方法
まずは、自分がエンジニアに向いていそうか?を判断したい人にとっては、まずは無料サイトで学習を進めるといいでしょう。
最近は無料でも優れた学習サイトが数多くあるので必見です。
プログラミングスクールなどに通う方法
プログラミングを本格的に学ぶことを考えるならプログラミングスクールを検討するのもいいかと思います。
プログラミングスクールは評判が良くないものも少なくないので、まずは下記記事をチェックしてみてください。
プログラミング学習をどのように進めるべきか
プログラミング学習でプログラミングスクールって行くべき?どうやって学習を進めたらいい?など疑問に感じることも少なくありません。
そうしたプログラミング学習を進めるにあたって悩みそうなポイントを下記記事で解説しています。
まとめ
ここまでの記事のポイントをまとめます。
- エンジニアの仕事にやりがいを感じる人は多い
- エンジニアはスキルや成果も目に見えやすい
- エンジニアに向いている人は怠惰・短気・傲慢な人
だいぶ主観的な意見になってしまいますが、エンジニアの仕事は楽しいと思います。
毎日のようにエラーに悩まされ心が折れそうになりますが、それらを乗り越えて得られた達成感は何事にも代えがたいものがあると感じます。
ぜひエンジニアを目指して頑張っていきましょう!