IT業界は残業が多くて労働環境が悪いとよく言われます。エンジニア達の悲痛な叫びがインターネットを通して伝わってくることもしばしばあります。現状のIT業界では、エンジニア達がおかれている境遇は決して良いものばかりではなく、苦しい思いをしているエンジニアも数多く存在することは事実です。
こうしたIT業界やエンジニアの負の環境については改善していかなければなりませんし、少しでも良くなるように私も日々情報発信には力を入れています。
ただそういう負の情報だけを見て「なんかエンジニア辛そうだからやめとこう」と思った方。ちょっと待ってください。
本来はエンジニアの仕事はとてもやりがいがあって楽しいと私は思います。この業界に問題がないと言ったら嘘になりますが、やりがいを感じて毎日のエンジニアライフを楽しく過ごしている人も世の中にはたくさんいます。
少なくともアクシアのエンジニアは仕事を楽しめている人は多いように私は感じています。アクシアに入って「ITエンジニアになって初めて、楽しんでプログラミング出来ている」と言っているエンジニアがいるくらいです。
エンジニアという仕事の楽しさが何であるかは人によってそれぞれだと思いますが、私自身はどんなことに対してエンジニアの仕事を楽しいと感じていたのかを、自分の経験を振り返ってまとめてみました。
自分が作ったものが動く感動
長くエンジニアをしていて「自分が作ったものが動く感動」を忘れてしまった人も多いかもしれません。しかし誰もがプログラミング初心者の時には、自分が作ったプログラムが実際に動作した時の感動は味わったことがあるはずです。自分の手で作ったものが動作するというものづくりの楽しさを味わえることは、エンジニアの特権と言っても良いでしょう。
さらに自分の作ったシステムが、リリースされて世の中で使われているところを見ることができるのは格別の体験です。ニュースに出てきたり、電車広告に載ったり、あるいはユーザーとして実際に自分で作ったシステムを利用してみたり。
こうした世の中の反響を肌で感じ取れる瞬間は、この仕事をやってきて良かったと思える瞬間です。別にニュースやネット上の反響でなくとも、納品したお客さんから「ありがとう」の一言をもらえるだけでも、エンジニアとしては非常に大きな喜びを感じられるものです。
システム開発を発注された企業の方は、ぜひ発注先のエンジニアにそのシステムについてのフィードバックをしてあげてください。どんなに小さなことでも構いません。「この機能のこんなところが使いやすかったよ」と一言伝えてもらえるだけで、エンジニアのモチベーションは大きく向上して報われた気分になれます。
エンジニアとして成長の実感がある時
エンジニアとしての成長の実感を強く感じられる時は、エンジニアという仕事に対してより一層楽しいと感じることができます。
私は新卒で入った会社で最初こそ客先に放り込まれてテストばかりの毎日を送っていましたが、その後社内のフレームワーク開発チームに配属してもらうことができました。そのチームは間違いなく社内でトップクラスと言って良い先輩エンジニア達で構成され(私だけ除くw)、社内の上澄み液を集めてきたようなチームでした。
そこで色々なことを教えていただき、毎日コードレビューで貴重なアドバイスをいただき、エンジニアとしての哲学も叩き込まれました。
このチームに配属してもらえたことは幸運としか言いようがなかったのですが、すごい先輩たちに毎日指導していただき、付いていくのに大変でしたがこの頃の私は毎日成長の実感がありました。大変でしたが楽しさを強く感じていた毎日でした。
またプライベートで初めて自分で作ったシステムを自分でサーバー構築してインターネット上に公開して運用していた時も、覚えなければならないことやわからないことが多すぎて大変でしたが、一方でエンジニアとしての成長の実感を強く感じられていたため、毎日楽しくてしょうがなかったです。
以前エンジニアは業務時間外で勉強するかどうかについてブログに書いて、賛否両論大きな反響をいただきました。
何にでも賛否両論はあって良いですし、エンジニアという仕事に求めるものも個人によって違いますし、自由な考えで良いのですが、私から言わせればエンジニアが勉強しないというのは「もったいない」としか言いようがありません。本当に楽しいのにもったいない・・・という思いですね。
困難な課題に立ち向かっている時
これはすでに述べた「自分が作ったものが動く感動」「エンジニアとしての成長の実感がある時」とも関連します。技術で解決しようと思う内容が困難なものであればあるほど、それが動いた時の感動は大きなものになりますし、それを成し遂げたことによるエンジニアとしての成長の実感をより強く感じられる時でもあります。
私がフリーランス(と言っても客先常駐ですが)で仕事をしていた時ですが、次のような仕様がありました。
ウェブ上からデータが登録されたタイミングで、社内のプリンターから帳票を自動で印刷する
詳細は機密保持の関係もあるので開示できませんが、ウェブ上からそのシステムを使ってあるデータが登録されると、それに関連する帳票がオフィス内のプリンターから勝手に印刷されて出力されてくるというものです。
誰かがウェブ上からデータの変更を行った際に、社内のプリンターで自動的に印刷するということがどれだけ難しいことであるかはウェブ系のエンジニアであれば理解していただけるかと思います。
この内容が「ウェブ上からデータが登録されたタイミングで、社内のプリンターから帳票を自動で印刷する」とだけサラッと1行だけ書いてある仕様書だけで実装してくれと言われたわけです。ひどいですよね。
動かなくて鬱になりそうな気持ちと、何とかしてやろうという気持ちの間で闘いながら、やっとプリンターが動いた時の感動はとても言葉では表現できないものでした。エンジニアたるもの、技術を駆使して困難な課題に立ち向かっている時は、仕事が楽しいと思える時でもあります。
技術を駆使して顧客の課題解決に取り組む時
個人的には「技術を駆使して顧客の課題解決に取り組む時」というのは、エンジニアとしての醍醐味を一番に感じられる時なのではないかと考えています。
これは単に言われたことを言われたとおりにやるだけでは実現できません。エンジニアが能動的に顧客の課題解決に関わっていかなければ、この楽しさや喜びを感じることは難しいでしょう。
エンジニアが能動的に顧客の課題解決に取り組むためには、エンジニアにある程度の「裁量」がある必要があります。エンジニアが自分で課題を見つけたり考えたりする裁量がなければ自発的な取り組みはできません。
エンジニアに裁量が与えられるだけではなく、それを顧客に「提案」できる機会も必要です。そのためには顧客とエンジニアの双方向のコミュニケーションが重要となります。一方通行のコミュニケーションでは、言われた通りのことを実現する以外のことができなくなってしまいます。
エンジニアに「裁量」を与え、「提案」の機会を作るためには、「アジャイル開発」は一つの有効な手段となると考えています。アクシアでは社内に業務改善チームというものがあって社内のシステムの開発をはじめとした業務改善を毎日行っているのですが、社内では基本的にアジャイル開発で仕事を進めています。社内なので社長である私が顧客という位置づけになります。
そしてアジャイル開発のような進め方をする場合には、顧客とエンジニアの間に絶対的な「信頼関係」が必要です。顧客側もやるべき仕事をしっかりとこなさないといけませんし、過剰な要求をしてエンジニアが残業まみれになってしまうようでは、信頼関係も何もなくなってしまいます。
そういう意味で多分アジャイル開発のようなやり方は、少しでもエンジニアをこき使ってやろうみたいな考え方をする乞客が相手だと成り立たないですね。多分奴隷になっちゃいます。まあ乞客相手の場合はどんな手法とっても結局ダメなんですけど・・・。
それに対して顧客との強い信頼関係があるのであれば、エンジニアに裁量を与え、提案の機会を作り、エンジニアが能動的に働ける環境というのは、おそらくエンジニアにとっては天国ですね。本当に楽しく毎日仕事に取り組めると思います。
まとめ
エンジニアにとっての仕事の楽しさというものは、人によって様々であって一概に定義できるものでもなく、エンジニアに押し付けるものでもないので非常に難しいテーマですが、最近はエンジニアにとっての仕事の楽しさを考えることが私自身は多くなりました。
経営者がエンジニア(従業員)の仕事の楽しさややりがいについて考えることは、一歩間違えれば単なるやりがい搾取にもなってしまいかねない危険性もあります。
アクシアでエンジニアにとっての仕事のやりがい、楽しさについて考えられるようになってきたのは、労働環境の改善が進んできて「働きやすさ」がある程度実現できてきたからだと考えています。働きやすさが全く実現されていないのに従業員の仕事のやりがいばかり考えていると、やりがい搾取になってしまうのだと思います。
これからも「働きやすさ」をさらに追求していく所存ですが、これからはエンジニアにとっての「仕事の楽しさ」についても考える時間を増やしていきたいと考えています。
エンジニアの「働きやすさ」「仕事の楽しさ」を実現することは非常に難しいテーマであって簡単ではありませんが、ここは経営者としての腕の見せどころでもありますね。それが経営者としては「仕事の楽しさ」でもあります。