C言語の組み込みプログラマーが現実に置かれている3つの悲惨な状況

  • このエントリーをはてなブックマークに追加
Pocket

私が、エレベータ会社で組み込みプログラマーとして、勤務していますが、余りにも悲惨な状況なので、それを書いてみようと思います。

C言語の組み込みプログラマーの人数が少なすぎる

私が勤めている会社だけではないと思いますが、あまりにもプログラマーの人数が少なすぎます。

毎年、私の部署に新入社員は配属されません。数年に1人という状況です。しかも苦労して育てたと思ったら、別の部署に異動させられ、また人数が減少します。人数が減るということは、それだけ個人の負担が増えるということなんですね。

それに引き替え、ハードウェアの部署や研究グループなんかは毎年3人も4人も新入社員が配属されますし、パートタイムの補助者もいます。

この待遇の差は何なんでしょうね。補助者もいないし、プログラマーも増えない。プログラマーはいらないとでも思っているんでしょうかね。

プログラマーがいなくなれば、エレベータを動かすソフトを作れなくなるんですけど、会社はわかってるのか疑問に思います。

新入社員が配属されないということは、プログラマーの年齢層も高くなり、数年先には定年で何人もいなくなって、ますます人数が減少するという状況です。

規模が小さければ、対応できるでしょう。しかし、私の会社は一応、グローバル企業を謳っていますから、それだけ人数が必要なわけです。

にもかかわらず、人数を確保しないんですね。そりゃあ、働く意欲は失せますよ。だって、給料もあがりませんし、裁量労働制ですので、手当てだけですから。

まあ、私の場合、残業したくないですから、手当てのほうがありがたいんですけどね。

給料の査定もグローバルの分は考慮されず、日本の分だけでの判断なんて、おかしすぎますよ。それだったら、グローバルの仕事させるなって言いたいです。半分は賃金未払いです。

人数は少ない、給料は増えない、やらされる仕事はグローバルもあるって、あなたはやってられますか?

おそらく、やってられないでしょう。

ですが、人数が少ない分、自分のスキル向上はできると思います。いろんなことをやらされますから、嫌でもいろんなスキルが身に付きます。そこだけがメリットかなと思います。

C言語の組み込みプログラマーへ要求する仕様が無茶すぎる

最近、特に思うのがこれです。何でもかんでもソフトウェアでやってくれというものです。ご存じかどうかはわかりませんが、プログラムの世界は0か1かの世界です。つまり、白か黒かしか判断できないんです。

エレベータにはさまざまな電子機器や機械で構成されています。これは当然、壊れます。重要な機器に関しては、組み込みプログラムで、状態を監視しています。

先ほども言ったように、プログラムは0か1でしか判断できないので、いろんなものを組み合わせて、正常、異常を判断しているわけです。

ところが、その機器がまたま誤動作で起こったとしたら、どうなると思いますか?

当然、誤動作なんて組み込みプログラムはわかりませんから、異常と判断されるわけです。これを最近では、見極めろというのです。どうやって?てなりますよね。判断するのは組み込みプログラムです。人間ではありません。

それだったら、異常検出をしないで、壊れるまで使ったらって思いますよ。その代わり、修理がもっと大変ですけどいいんですか?ってことです。

例を挙げると、地震が発生したとき、エレベータは当然止まります。逆に止まらないエレベータはないです。止まらない場合は、地震時の対応がはいっていないか、建物に地震感知装置がついていないかになります。日本では絶対にあります。

昔は、エレベータを止めていればよかったんですよ。ところが、今は動かせって言ってるんです。しかも国が。自動で診断して動かせっていうんです。

確かに高層マンションが増えて、エレベータの必要性はわかりますよ。わかりますが、建物そのものが歪んでたら、走れませんよ。そんなもの。

自動診断で完全に問題ないかなんてわかりませんよ。ちょっとプログラムばっかりに頼りすぎなんじゃないですか?と思います。

それから、最近多いのはセキュリティエレベータです。簡単に言うと、利用する階しか登録ボタンが押せないものです。これ、滅茶苦茶ややこしいですよ。

通信不良とか起きたら、エレベータ使えませんし、そもそも、エレベータに対してセキュリティって何?と言いたいです。ぴったりくっついたら、エレベータに乗れるし、逆に、警察や救急の人がエレベータに乗れないという問題もあると思うのですが、それは構わないのですかね。

また、このプログラムは数年したら、メンテナンスできないと思います。それぐらい、プログラムが滅茶苦茶になってしまっているのです。それを整理する時間はありません。

もっと、ひどい話もあります。それは、まだ、できてもいないものを営業が勝手に受注してくるというものです。しかも、その仕様ができるかどうかわからないのにです。それで、売り上げによく貢献してくれたと社長賞とかもらってますから、ありえない話です。

こちらがやらなかったらどうするの?その仕様は無理ってなったら、客にどう説明するの?と思うんです。完全に無在庫販売です。

日本人だからやってしまうように思いますが、海外のプログラマーならやってくれるかどうかわからないですよ。日本人のように会社に媚びる習慣はないので、辞めていくように思います。まあ、実際に、海外で出来ないから日本でやってと押し付けてきますけど。

それで、人件費がかかって利益圧迫したから、給料上げられないとなれば、ふざけるな!と言いたくなるわけです。

無茶な要求に応えたら、プログラマーとしては成長できることだけが救いでしょう。

C言語の組み込みプログラマーの設計する時間が削られる

ある開発課題があると、開発期間が設けられます。組み込みプログラマーの出番は、開発期間の後半になります。なぜかというと、ハードウェアの仕様が決まらなけば、ソフトウェアを作ることができないからです。

開発スケジュールが作成されますが、これがまた、開発期間そのものが短いのもあって、無茶なスケジュールですよ。ちょっとでも何かあったら、遅れが出るようなスケジュールです。

いつも、ハードウェア担当はスケジュール通り進めてくれません。どうなるかというと、ソフトウェアを設計する時間が無くなるということです。そして、遅れた理由をソフトウェアのせいにされるわけです。

いやいや、違うでしょ。ハードウェアをスケジュール通りに設計していないからでしょ。となるんですが、上層部も結果しか見ないから、ソフトウェアが悪いとなるのです。

超理不尽だと思いませんか?上層部も営業や機械専門出身ばっかりで、組み込みプログラマー出身者がいないわけです。だから、プログラマーの大変さを知らないわけです。こちらもハードウェアの大変さは知りませんが。

組み込みプログラマーの出身者が少ないのは当たり前ですよね。もともと少人数でやっているわけですから、上層部へなる人自体も少ないわけです。

やり方としては、ハードウェアが出来上がるまで待ってたら間に合わないので、暫定状態で作り始めて、確定してから最終的に修正していきます。これしか間に合わす手段はありません。ハードウェアは必ず遅れますので、その穴埋めを組み込みプログラマーがやっているという感じです。

開発期間が短すぎるので、品質は良くないものが出来上がることが多いのも事実です。

スマホとかでもそうじゃないですか?しょっちゅう、ソフトウェアのバージョンアップがありますよね。これは、機能拡張もあるでしょうが、販売開始時に完全にソフトウェアが間に合っていないパターンです。最近では少なくなりましたが、不具合も多かったと思います。これもテストが不完全な状態で出荷された結末です。

結局、開発期間の短さ、ハードウェアの決定の遅れ、スピード競争している社会、勝手にできてもない仕様を受注してくる営業などが、組み込みプログラマーの設計時間を削っている原因だと思うのです。

特に、できてもない仕様、できるかどうかも分からない仕様を勝手に受注してくるやり方は、期限が極端に短いので、他の課題を止める必要が出てきます。

それが一番需要があると言われればそれまでですが、それなら、完成までの時間確保を客と話して、ちゃんとやれよと言いたいわけです。

そんな、状況で組み込みプログラムを作成していくので、作成するまでのスピードはついてきます。このおかげかどうかわかりませんが、私は毎日定時退社です。

まとめ

組み込みプログラマーが現実に置かれている3つの悲惨な状況を3つご紹介しました。

・人数が少なすぎる
・要求する仕様が無茶すぎる
・設計する時間が削られる

どう思いましたか?

やっぱりプログラマーはやめとこうと思いましたか?最先端でやりたいと思いましたか?

人それぞれ捕らえ方が違うと思うので、ご紹介した内容に対していろんな意見があると思います。それはそれでいいと思うんです。

ただ、私の思いとしては、人数を増やし、もう少しゆとりを持ってプログラム設計ができる環境になればいいなと願っています。

C言語をこれから学ぼうと思っていたり、まだ始めたばかりの人に、C言語を最短で身につけてもらって、組み込みプログラマーとして活躍して欲しいと思います。

そのために必要な情報発信をしていきたいと思っています。

  • このエントリーをはてなブックマークに追加

コメントを残す

*