仕事

【現役エンジニアが語る】プログラマーのやりがい・魅力とは

当ページのリンクには広告が含まれています。

まつ
まつ

こんにちは、システムエンジニアやプログラマーとして約20年間仕事をしている「まつ」です。

IT業界で長いこと仕事をしていると、いろいろな案件に携わります。

  • 人間関係が良好で楽しい案件
  • 人間関係が悪くてしんどい案件
  • 長時間残業の炎上案件
  • 残業がほとんどない安定している案件
  • 業務内容が面白くない案件
  • 業務内容が面白い案件
  • 大変だがやりがいを感じる案件
  • 簡単だがやりがいを感じない案件

などなど、携わっている案件や職場の雰囲気によって、たいぶ変わります。

そして、プログラマーとして仕事をしているとやりがいを感じる瞬間、達成感を感じる瞬間があります。

本記事では、現役エンジニアが感じるプログラマーのやりがい・魅力について紹介しています。

プログラマーのやりがい・達成感を感じる瞬間

身近な施設などで使われているのを見たとき

プログラマの仕事をしていると、公共施設など身近なところで使われるシステムの開発や、スマートフォンのアプリ開発など、普段の生活で利用するものを開発することがあります。

苦労して作ったプログラムがリリースされ、身近な施設などで見たときは達成感を感じます。

僕は昔、デジタルサイネージの案件に携わっていました。いまでは駅や電車の中、ショッピングモールなど、さまざまな場所で見かけるデジタルサイネージですが、当時はそこまで普及していませんでした。

デジタルサイネージ

僕が携わっていたデジタルサイネージのシステムは、リリース後に大手ショッピングモールなどに次々と導入され、ある日、ふらっと買い物にいったとき「あ!これ自分が作ったやつだ」と気づき、達成感を感じました

何台も並ぶモニタに同じ映像が綺麗に放映されているのを見て「動画がズレないように同時放映するの苦労したんだよなぁ~」「動画の切り替えをスムーズにするの大変だったんだよなぁ~」など、開発しているときのことを思い出しながら、達成感に浸っていました。

満足できるコードが書けたとき

良いソースコード

プログラマとしての知識が増えてくると、コードを書くとき複数の選択肢(自分の知識量)から最適解を選ぶことができます

コードの書き方は人それぞれです。プログラミング言語の理解が浅いと単純なコードしか書けませんが、理解が深くなってくると同じ処理でも、いろいろな書き方ができることに気づきます。

例えば、少ない件数では問題なく動作するが、膨大な件数になると一気に処理が遅くなる、なんてことはよくあります。そして、処理が遅くなる理由は、たいていコードの作りが悪いからです。

正常系を作るのは当たり前のことです。

重要なのは異常系を意識した作りになっているかどうかです。

良いコードを書くプログラマーは、異常系を意識しているため、想定外の操作をしたり、処理件数が膨大になったとしても、問題なく動作することが多いです。それに比べ異常系を意識していないプログラマは、バグが多く発生します。

このように同じ処理でも、書く人によってコードは違います。

そのため、自分自身が満足できるコードが書け、バグがほとんど発生しないときは、ちょっとした達成感を感じます。

難易度の高い仕事ができたとき

難しい仕事

プログラマとしての知識が増え、上長やお客様に評価されてくると、難しい技術の仕事を任されることがあります。

難易度の高い仕事を任せてもらえるのは嬉しいことですが、難易度が高いだけあり大変な仕事です。同じ現場にその技術を知っている人がいればよいですが、そうではない場合、自分で調べる必要があります。

難しい言葉を並べ、長い文章でだらだら書いているサイトや書籍を読んでいると、頭がパンクしそうです。

「もうわからない!!」と投げ出したくなりますが、グっと堪えて何度も読み返していくうちに、何を書いているのか理解できるようになっていきます。

難易度が高いほど、その技術が理解できたとき、大きな喜びを感じます。

この難易度の高い仕事を最後までやりとげることで、大きな達成感、そして大きな自信につながります。

人の役に立つシステムを作っているとき

役立つ仕事

人の役に立つシステムを作っているときは、やりがいを感じます。

特に身近なものだったり、誰かの役に立つシステム開発は、作っていて楽しいです。

僕は過去、農業IoTの案件に携わっていました。

AIカメラで撮影した画像データを解析し、害虫や生育状況などを分析、そして農薬を必要最小限にとどめる(ドローンで必要な個所だけに散布する)ことで安心・安全の野菜を提供するというプロジェクトです。

クラウドを使ったWeb画面もあり、さまざまな情報が確認できるようになっています。

その他には、スマートフォンのアプリ開発で、筋トレ器具と連携し、筋トレの成果をアプリで確認できる案件に携わったときも、身近で使うものの開発だったため、作っていて楽しかったです。

このように身近なものであったり、誰かの役に立つシステムの開発はやりがいを感じます

最新技術を使っている案件は大変ですが、新しい技術を学ぶことで成長につながり達成感を感じます。

自分の成長を感じたとき

成長が感じられたとき

IT業界は新しい技術が次々と登場します。

プログラミング言語は一昔前「COBOL」が使われていましたが、「C言語」の登場により、C言語からの派生言語である「C++」「Java」「C#」などが人気を集め、さらにiPhoneの登場により「Objective-C」や「Swift」、AI(人工知能)が注目されたことで「Python」が人気を集めています。

その他にも「PHP」や「JavaScript」といった人気の言語、「Go」や「Rust」のような新しい言語も存在します。

プログラミング言語だけでなく、「IoT」「ビッグデータ」「クラウド」「AI(人工知能)」「ブロックチェーン」「Web3」「メタバース」などなど、新しい技術が次々と登場しています。

そして現在(※2023年4月時点)では、DX化(デジタル・トランスフォーメーション)が進み、IT技術をさまざまなことに活用するのが当たり前の時代になっています。

IT業界で仕事をしているとさまざまな案件に携わります。案件が変われば使う言語やフレームワークが変わることもあります。そのため、いろいろな技術を学ぶことができます。

次々と新しい技術が登場するIT業界は「学ぶことが必須です」、学ぶことをやめ古い技術しか持っていないエンジニアは、働ける場所が限られてきます。

いろいろな現場で経験値を積むことで、若手のときは全然理解できなかったことが理解できるようになっているのに気づき「自分は成長している」と感じます。そして、自分の成長に気づいたとき「達成感」を感じます。

終わりに

本記記事では、現役エンジニアが感じる「プログラマーのやりがい・プログラマーの魅力」について紹介しました。

これからプログラマーを目指す人、プログラマーに興味がある人が見て、少しでも参考になれば嬉しいです。

ポケモンカード公式サイトより画像を引用しております。

-仕事