Velocity

方向を定めて

工場勤務時代とソフトウェアエンジニアになってからの、仕事の充実度の比較

はじめに

高校卒業後、工場でメンテナンスを行う物理系エンジニアとして働いていた。
1年半勤めた後に転職、ソフトウェアエンジニアとしてのお仕事をしている。(2017/11~)

エンジニアからエンジニアの転職だが、畑が全く違うので (当然だが) 転職したての時の日々の生活のギャップはすごかった。

工場で働いていた時の事を忘れないうちに、それぞれの職種での業務経験を比較してみる。

仕事の充実度の比較

1日24時間しかない内、仕事が占めるウェイトは非常に大きい。

仕事が充実していると人生はさらに楽しくなるという考え方があるが、自分はそれを全力で肯定するタイプだ。 後50年弱は働かないといけないと考えると、人生を楽しむためには、仕事にやりがいを持つことはマストだと思う。

転職して、ソフトウェアエンジニアになり、コードを書いて。なんとなく以前よりも仕事を楽しむことができているような気がする。 この理由を探るために なんとなく をもう少し抽象化してみる。

まず、仕事においての充実度を比較するために自分の中の判断基準を整理してみる。


1. 明確な課題があり、それについて考え自分からアクションを起こせる機会があるか?

  • 昔から、課題について考え答えを出す という作業が好きだった
  • 課題をクリアした時の喜びと、様々なアプローチがあるというポイントが個人的に重要
  • ゲームが昔から大好きなのもこれが関係していると思う


2. 取り組む課題には様々な結果が存在するか?

  • 例えば 1+1=? おそらくこの式は誰に訊いても同じ答が返ってくる
  • 上は極端な例だが、この問題はアプローチによって結果が変わることはない
  • 業務の成果が物事への取り組み方や考え方によって変動する方が個人的にやりがいを感じる (大体の職種がそうだろ というツッコミがあるかもしれないがメンテナンス職などは、人によって結果が左右されることは比較的少ない)


3. 人とコミュニケーションを取る頻度が多いか?

  • 物事を考えている時間も好きだが、誰かと話したりする事も大好き
  • もしくは問題解決のために相談する機会が多いかどうか


以上3点が、自分の中での仕事の充実度を測る三本柱だと思う。

この3つの視点から、ソフトウェアエンジニアとして働いている今と工場で働いていた時の仕事の充実度を比較していく。

これはあくまで個人的な比較なので、どちらかの職種を否定するようなことは一切ない。


明確な課題があり、それについて考え、アクションを起こせる機会があるか?

ソフトウェアエンジニアとして働いている現在

ソフトウェアエンジニアとして仕事をしていると、どのような開発をしている場合にも、大なり小なり課題・問題にぶち当たると思う。

  • どうすればユーザーの体験をより向上できるか?
  • どのような設計にすると改修がしやすいか?
  • なぜこの変数が undefined なのか?

開発中は課題だらけだ、好き嫌いに関係なくエラーが襲ってくる。
まぁこれは物事を考える機会になるので嬉しい悲鳴といったところか。。。

自発的にアクションを起こせる機会も非常に多く、コーディング中はそのスパンが非常に短い。 Googleで検索して関連記事を漁ったり、ログを出してみたり、設定を変更してみたり、非常に様々だ。 課題の規模によるが、良いアイデアがあれば改善に向けたアプローチも積極的に行うことができ結果に繋がることが多いと感じている。


工場で勤務していた時

明確な課題は存在していたが、大体の作業は手順書がありルーティン化されている。 考える機会はイレギュラーなケースが発生した際など非常に少なく、誰がやっても結果大体は同じ結果になる。

この時は時計の針が17:30を指すのをひたすら待ち続けているような感覚だった。


上記を踏まえた個人的な比較はこんな感じ。

現在 >>> || 超えられない壁 || >>> 工場勤務時代


取り組む課題には様々な結果が存在するか?

ソフトウェアエンジニアとして働いている現在

成果物には様々な結果が存在する。

見た目上同じ結果になったとしても、本質的には差異が出る場合がほとんど。例えば...

  • どのようなシステム構成にしたか システムのパフォーマンス、実装コスト、金銭コストが異なる

  • ダイアログに表示するボタンは何色にしたか、どのくらいの大きさにしたか 細かな差異によってUXは左右される

  • function writeArticle(text) {} と書くか const writeArticle = text => {} と書くか → 同じ動作をする場合が大抵だが、thisbind されたり、巻き上げがあったりなかったり、可読性が異なる

よく プロの仕事は細部に宿る と言われるが、エンジニアの世界でも全く同じだと思う。 変数名の付け方や、エラー処理のハンドリングの方法など、細かい事を詰めていく事に楽しさややりがいを感じるタイプなので、割と向いている気がする。


工場で勤務していた時

定期点検などのメンテナンス業務は、誰がやったとしても同じ結果になることが多く、異なる結果になってとしてもそれを体感できる機会は少ない

試しに、モーターのメンテナンスの作業のクオリティによって結果が異なる例を挙げてみる。

  • 油を挿す量が少なかったため、1年後に軸の部分が焦げ付いてしまっていた。
  • サビ落としが甘かったため、塗ったペンキが半年で剥がれてしまった。

このように時間経過を伴うことが多く、自分でその事象を確認することは少ないため、一個人としての結果としては非常に感じにくい。


個人的比較は下の通り。

現在 >>> 工場勤務時代


人とコミュニケーションを取る頻度が多いか?

ソフトウェアエンジニアとして働いている現在

コーディング中は基本一人。
構成や詰まった所をSlackで相談することもあるが、頻度としては比較的少ないと感じている。

工場で勤務していた時

ほとんどの作業を誰かと一緒に行うため、常にコミュニケーションを取りながら業務をこなしていた。休憩が午前中と午後に一回ずつあるため談笑をする機会も多かった。

余談だが、自分が勤務していた工場では 休憩の事を 一服 と呼んでいた。(タバコを吸う人が多いため)
自分はタバコを吸わないのだが、一服一服〜と言いながら休憩に入るのは中々乙なものだった。


ここの比較はこんな感じ。

現在 <<< 工場勤務時代


仕事の充実度を比較して分かったこと

前文の通り、ソフトウェアエンジニアに転職してから仕事が楽しいとは感じてはいたが、それが何故なのかはあまり理解していなかった。


前職と今を比較してみた結果として、仕事が楽しいと感じていた理由は、

自分のアプローチ次第で結果が変動し、それを一日を通して短スパンで体感することができるから

だと分析することができた。


人とコミュニケーションを取る頻度は以前より少なくなってしまったが、これはトレードオフだと感じている。(チームにもよるのだろうけど)

意外と面白かったので、次は1日の過ごし方でも振り返ってみようかな〜というお気持ち。


Twitterやってます、気軽にフォローしてください☺️ twitter.com