本サイトは広告・プロモーションが含まれています
雑記

【体験談】メーカーにプログラマーが就職して5年経ってわかったメリット・デメリット


ご無沙汰してます。
このブログの管理人のコンです。

今年の10月1日に、今勤めている製造業の会社の在籍期間がちょうど5年になりました。
入社当初の私のスキルは、機械学習を使った最適化の知識PythonでTensorFlow・Matplotlibが使えるだけで「本当にやっていけるのか?」と思いながらビクビクしてました。

でも今となっては、製造装置との通信やらWebアプリの技術スタックやらも覚えて、プログラマーからソフトウェアエンジニアへと成長した、と言っても過言ではなかろうか。

本ブログを見つけて読んでくださる方の中に、就職・転職活動中の人がいるか定かではないのですが、5年メーカーでプログラマーとして働いてきて感じるメリット・デメリットを書いていこうと思います。

共感できる所・できない所あると思いますが、気楽に読んでいただければ嬉しいです。

メリット

①ユーザーのフィードバックを得やすい

自分が実装したソフトウェアの提供先が社内の人であるため、ソフトウェアを使ってみた感想や業務改善の結果のフィードバックが早いです。
また実装したソフトウェアが仕事で使われている様子も、自分の目で確かめやすいです。

現場の人が使ってくれて、『コンさんのツールのおかげで、作業時間が楽になったよ!ありがとう!』と直接お礼を言われることもあり、非常にやりがいを感じます。

ありがとうって仕事で言われると嬉しいですよね。

②伝統的な思考の型が身につきやすい

メーカーと関わりが少ないと馴染みが薄い話かもしれないのですが、メーカーの強みは単にモノを作る設備を有しているだけではありません。長年日本のものづくりを支えてきた「問題解決のノウハウ」が、文化として根付いています。

製造業では、製造過程で発生する品質不具合や新製品の製造に備えた設備更新など、解決が必要な課題が山のようにあります。そんな時に長年使ってきた問題解決の思考フレームワークを使って解決策を立ててます。

メーカーでは「TBP(Toyota Business Practices)」のというフレームワークが使われています。これはまず、本当に解くべき問題は何か?」という『問題の明確化』から始まり、現状把握、目標設定、真因分析…と、決まった手順で思考を進めていく方法です。

「本当に価値のあるソフトウェアとは何か?」をこの思考の型に沿って仕事を進めていくことで、コードを書く前の課題定義・要件定義の思考力が圧倒的に鍛えられます。これはソフトウェアエンジニアとしてだけでなく、どんな問題に対しても使えるスキルだと思ってます。

しかし、私自信が5年の勤務でスキル習得できたか疑問で、まだまだ勉強中ですわ。

③ソフトウェア以外の知識も身につけることができる

メーカーのプログラマーは、PCの前だけで仕事は完結しません。ソフトウェア開発を通して、以下のような専門知識も身につけることができます。

  • 組織マネジメント: 数千人規模の工場がどう動いているのか、その組織論を肌で感じられます。
  • 品質管理の知識: 製造現場で起きる品質問題をソフトウェアでどう解析・予防するかを考えます。
  • 保全業務の知識: 巨大な工場を止めないための設備メンテナンス(保全)の仕組みを学びます。

大変ではありますが、日々色々と学ばせてもらっています。

デメリット

①主役はあくまで「モノづくり」。ソフトウェアは後回し。

これは最も覚悟しておくべき点かもしれません。メーカーの主役は、あくまで製品開発や製造部門であり、プログラマーやソフトウェア部門は「縁の下の力持ち」という立ち位置になりがちです。

会社を支えているのは現場でのモノづくりだ、という意識が非常に強いため(売上とか実際そう)、ソフトウェア開発にかけられる予算や人員は、製造部門の設備投資などに比べて優先度が低くなるケースが少なくありません。

少し寂しい気持ちになることもあります。

②製造とソフトウェアの2つの専門を伸ばすのは大変

メリットとして「専門知識が身につく」ことを挙げましたが、これは裏を返せば「常に二つの分野を勉強し続けなければならない」という大変さを良い感じに書いただけでもあります。

ソフトウェアの最新技術やトレンドを追いかけるのは当然として、それと同時に、自社製品に関する深い知識、製造工程、品質管理といった分野まで勉強しないといけません。

周りの製造専門の同僚が自部署の知識をとことん深めていく中で、自分だけがソフトウェアと製造の両方を追いかけているような感覚に陥り、「時間が足りない!」と焦りを感じることは日常茶飯事です。この「二刀流」を高いレベルで両立させるには、人一倍の学習意欲と時間管理が求められます。



私の場合はこのデメリットに対して、完璧を諦めるスタンスをとる事で、なんとか5年やれました笑
分からないことがあれば、素直に年下だろうが部長だろうが周りの人を頼って、なんとか仕事としてやっています。

昨日の自分よりちょっと良くなれ、の精神です。

③開発だけに集中できず、IT人材としてキャリアが不安になる

メーカーのプログラマーとして働く上で、多くの人がぶつかるかもしれない壁。それは、「ソフトウェア開発だけに100%時間を使えるわけではない」という現実です。

あぁあコードが書きて〜〜!!

みたいに思う日もよくあります。

メリットとして「幅広い知識が身につく」とお話ししましたが、これは裏を返せば、開発以外の業務に多くの時間を費やすということです。ぶっちゃけ疲れます。

  • 製造ラインの品質改善のために、一日中ヘルメットを被って現場を観察する。
  • 設備の安定稼働(保全業務)のため、担当者にヒアリングを重ねる。
  • 新しいシステム導入のため、部署間の調整に奔走する。

こういった仕事は非常に大切ではあります。でも

「もし将来、Web業界のようなIT専門の会社に転職したくなった時、自分のスキルは通用するんだろうか?」
のような不安もありました。

例えば、求人票に「Pythonでの開発経験5年」とあったとします。自分も5年間Pythonを使ってきたけれど、その中身は現場でのヒアリングや調整業務も含まれています。IT企業で5年間みっちり開発だけをやってきた人と、同じ土俵で戦えるの?と疑問でした。

いちおう自分の中では、そうした不安は解消していて(悩み中の方がいたら申し訳ない)

実は私も以前、転職を考えた時期がありました。その時、自分の経歴を正直に話すと、企業によって評価が真っ二つに分かれてました。

  • あるSES企業では、「コードを書く速さと工夫した経験」が重視され、現場での経験はあまり評価されませんでした。
  • 一方で、あるフリーランス派遣企業からは、「現場の人と調整できる能力は、ただコードが書ける人よりずっと貴重ですよ!」と、むしろ高く評価されました。

この経験から学んだのは、経験が活きるかどうかは、会社が何を求めているか次第だということです。
もしメーカーで頑張ってたとしても「自分は開発経験が少ない…」と落ち込む必要なくて、「経験の幅広さ」を求めてくれる会社を探せば、それは最強の武器になるんじゃないかな〜と思います。

おわりに


自分がメーカーに就職した理由は、正直しょぼいです。
採用してくれた企業がそこしか無かったから!笑

メーカーじゃなくて、IT企業に就職した方がソフトウェアエンジニアとして成長できたかもしれないって思う日もたまにあります。

でもとりあえず5年はやれたので、意外と続けて働ける環境なのかもしれません。

ブログもなかなか書けていなかったですが、また久々に書いていこうと思います。
ではでは。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA