不幸な転職活動

http://www.janjan.jp/column/0505/0505096821/1.php
メモ.実は結構耳が痛い.
こういうことを回避するためにも,幅広く色々な会社の面接を受けてみることは意味がある.数多く面接を受けてくると,「こういう業界は技術者の評価が低い」だとか,「こっちの業界は官僚主義的な会社が多い」だとか,「あちらの業界だと技術のことを分かってる人が面接までする」だとかいうことが,漠然とだが分かってくる.苦手な世界の苦手なやり方を続けるよりは,得意なやり方が通用する世界で勝負した方が効率がいいし,入社後も居心地がいいだろう.そのためにも幾つかは「捨ててもいいや」的な応募もしていった方が,結局は効率がいいのではないかと思う.

一時就労者ビザの現実

「クビになったら2ヶ月以内に国外退去」という言葉が頭にちらついて、会社から不当な扱いを受けても我慢することになる。
http://www.janjan.jp/column/0401/04010993/1.php

社宅や独身寮というのも似たような効果がありそうな気がする.社宅というものの制度は詳しくは知らないが,その性質からすると会社を辞めれば出る必要のあるものだろう.ところが会社を辞めて(一時的に)無職になっても住む所は必要なのだ.仕事をやめてから部屋を探し,いい物件があったとしても,はたして無職の人間に貸してくれるだろうか?その時NOといわれても文句は言えない.新しい部屋の契約をした後で辞めるのと,辞めた後に契約するのとでは雲泥の差がある.
もし今現在独身寮や社宅に住んでいて転職を考えている場合は,辞める前に住むところだけは確保しておくべきだろう.*1

*1:住居だけでなくクレジットカードやローンなども同じかな.一度作れば退職しても取り上げられることはないが,無職の時だと審査を通らない可能性がある.

組込みソフト業界でニーズ高まる企業情報システムの開発経験者

http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20050601/161961/
さすがにこれは嘘だろう.

組込み機器用のアプリケーションは日を追うごとに大規模になり,企業情報システムの業務アプリケーションと変わらない複雑なソフト開発プロジェクトが増えてきた。

コードの行数だけなら業務アプリと同等かもしれない.しかし,もし行数が同じであれば,組込みソフトウエアの複雑さや難易度はおそらく業務アプリの比ではない.
組み込みソフトの規模が拡大したは本当だろう.これだけ多機能な機器になれば当然だ.現場の開発体制が追いついていないも本当だろう.それこそ携帯電話などは文句なしに世界最先端を走っている.前人未到の領域を突き進んでいるのだから,それようの開発体制は未だ誰も作ったことがあるわけがない.ハードルが下がったのも必ずしも嘘ではない.アセンブラベースで書いていたものがCやC++になり,OSもRT-Linuxなどが載ったりしているらしい.*1
しかしそのことと,企業情報システム開発者が組み込み開発に向いているということとは,なんら関係はない.企業情報システムのマネジメントにしても,それが組み込み分野のマネジメント手法とはどこまで共通しているだろう?*2作っているものが全く異なるのに,同じマネジメント手法が使えるなどと,一体誰が言えるだろう?

企業情報システム開発のスキルや経験は,組込みソフトの開発においても必ず生かすことができる。

これに至っては何一つ根拠が示されていない.これだけ両極端の世界で,何ゆえ生かすことができると断言できるのか.その理由を聞かせてもらいたいものだ.*3

組込みシステムの開発現場が企業情報システムと同様に厳しいことは確かだ。

いや,おそらくそんなものの比ではないと思う.企業情報システムなら大規模複雑化しても,それを効率よく実装するために豊富なハードウエア資源をふんだんに使える.多少コードサイズが大きかろうと処理速度が若干低下しようと,設計的に綺麗であれば採用できる.論理的に分離されていれば互いの影響は無視でき,独立したモジュールとして扱って問題ない.
これに対し組み込みシステムでは同じように(或いはそれ以上に)大規模複雑化している上に,ハードウエア資源は必要最小限(以下)しか使用できない.コードサイズを減らすために,汚くなることを覚悟の上で設計を変更することもあるだろう.論理的に分離されていることも珍しいし*4,論理的に分離されていても実時間的には相互に影響する.さらにはもっと単純にフットプリント/コードサイズは影響する.このため,十分に独立したモジュールにはなり得ない.
その他諸々の問題を考えると,どう考えても同じはずがない.少なくとも「難しい」ということの理由や性質が全く異なる.技術的にも管理手法的にも全く異なるものとなるだろう.*5

ITエンジニアにとってのキャリア選択肢の1つとして,組込みエンジニアへの道がクローズアップされてくるはずだ。

ここだけは同感.*6

*1:アセンブラからCになって敷居が下がったと言っても,コードの規模も激増しているので作っている人間の苦労が減ったとは限らない.

*2:私はそもそも企業情報システムに満足なマネジメント手法があるかどうかさえ疑問視している.時代錯誤なウォーターフォールモデルと,それを前提にした『上流行程神話』などその最たるものだ.ひょっとして30年前から一歩も進歩していないのではないか?30年まえならそれは正解だったかもしれない.10年前でもなんとかやっていけただろう.しかし今となっては,その仕組み自体が生産性を低下させる元凶になっている.過去の成功体験が失敗原因になるという,失敗パターンの一つでは.

*3:そんなに簡単に対応できるなら,転職にもこんなに苦労しないと思うけどなー.「私は昨日まで組み込みをやってました.ですので,明日から企業情報システムの開発を担当することは可能です」.こう言って,一体どこの企業が喜んで採用してくれるだろう?

*4:同じOSと呼ばれていても汎用OSとRTOSは別物だし,記述言語がアセンブラC++Javaでも異なる.

*5:J2EEJ2MEの両方を見比べても両者が全く異なることは明らかだ.言語としては同じであるにも関わらず,その性質も設計手法もコーディングスタイルも全く異なる.J2MEは比較的敷居は低い方だが,それでもJ2EEしか経験のない人が見ると,面食らうだろう.

*6:ITゼネコンと揶揄されることもあるSIと,世界を舞台にどうどうと戦える組み込みとを同列に扱うこと自体間違ってる.