« 2008年1月 | トップページ | 2008年3月 »

2008.02.27

案件がいっぱい

現在、私が抱えている案件が14件になりました。
とはいっても受注前の引き合い段階のものが2件、納品直前のものが1件、
自社開発で凍結中の案件が1件あるので、
実質的には10件の仕事を同時に行うことになります。

・・・なのにさらに1件受注してしまった。

なぜかというと、アナログ回路の仕事だからです。

いままで大変だった仕事はどんなのだったかと考えてみると、
① FPGAの設計や、ソフト(ファームウェア)や、パソコンの制御ソフトがあるもの
② 大量の文書が必要になるもの
という特徴がありました。

「ソフトが絡んでくると、修正や追加が発生して、いつまでも終わらなく大変になる。ドキュメントを書くとなるとさらに大変になる」という気がしてきたのです。

一方、アナログだけの回路ならば、ソフトもFPGAもないので修正のしようがありません。
カットアンドトライで部品をはりかえつづける、なんていうこともないでしょう。

手離れのよさが大事だと感じてきた今日この頃です。


真のエンジニア募集

| | コメント (0)

2008.02.22

ブレーンストーミング

パンフレットのデザインを練るため、私を除いた4人でブレーンストーミング。
しかし、ブレーンストーミングの結果がうまく伝えられていなかったようで、違うものができあがったようだ。さらに私が口出しし、全く違うものに。

その傍らで私はパソコンの復旧。新規ハードディスクにOSインストール。大事なファイルはサーバーに入れているので助かった。メールフォルダは辛うじて生きていたので復旧できた。
お昼ご飯にヨドバシで食べたひつまぶし、美味しかった。うなぎの皮がぱりっと焼けているなんて・・

真のエンジニア募集


| | コメント (0)

2008.02.21

業務提携の打ち合わせ

私のパソコンを蹴って倒してしまってから、急に動作が重くなった。どうやらスワップファイル領域が壊れたらしい。チェックディスクをかけると何千件も復旧箇所がでているようで、いつまでも終わらない。これがディスククラッシュというやつか!

青年技術士会に「今回の会議も出られません」とメール。お叱りが来た。そろそろやばい。

夕方、某社さんにお越しいただきまして、営業提携の話。うまくいくといいな。

真のエンジニア募集


| | コメント (0)

2008.02.18

基板改版

○ヶ月頑張ってきた基板。今年の夏ごろ出る予定の某マイコン基板。
そろそろ私の手を離れるはずだった某マイコン基板が、この期におよんで改版とは。
他の案件の予定をずらして必死に頑張って先週末にソフトやマニュアルを仕上げたのに、いまさら基板の厚さと形状を変えるって・・そんな・・・

| | コメント (0)

2008.02.07

Cのプログラムで直アドレスを関数呼び出し

Cのプログラムから任意の番地をコールするような場合、普通は関数ポインタを使います。
ですが、関数ポインタを使うと、指すアドレスを示すためにRAM領域を使ってしまいます。

たとえば、
------------------------------
typedef void (*functype)(void);
functype func = (functype)0x12345678;
func();
------------------------------
とすると、
Intel x86アーキテクチャではBorlandのCコンパイラで次のようなアセンブラに変換されました。
------------------------------
mov [ebp-0x94], 0x12345678
call dword ptr [ebp-0x94]
------------------------------
このように、スタックに作った変数にジャンプ先のアドレスを入れてからジャンプしています。

そこで、次のような記述でもできるようです。
------------------------------
((void (*)())0x12345678)();
------------------------------

変な文ですが、次のようなアセンブラに変換されました。
------------------------------
mov edx.0x12345678
call edx
------------------------------
メモリではなくレジスタに入れているので、結局同じだと思うかもしれません。


さて、この文
((void (*)())0x12345678)();
は、0x12345678という数値を(void (*)())という関数ポインタ型にキャストし、それをすぐに呼び出しているわけです。
引数や戻り値を取る場合には、
((bool (*)(int a,char *str))0x12345678)(1,"ABC");
というふうにできるようです。
さらにdefine文でマクロ定義してしまえば、
#define funcx(A,STR) ((bool (*)(int a,char *str))0x12345678)((A),(STR))

まるでbool funcx(int a,char *str)という関数のように使えます。

これが何の役に立つかというと、組み込みシステムにおいて、ユーザアプリとファームウェアを別々に作る場合、ファームウェアの各種APIをC言語の形式で用意したとします。そして、ファームウェアのAPI関数を特定の番地に配置します。たとえば、コンソールに1文字表示するルーチンを0x40000000番地におくとか。

ユーザアプリがそれらのAPI関数を呼び出す場合に、普通ならアドレス解決のために何らかのファイルをリンクしなければなりません。GCCならばリンカスクリプトにアドレス解決のための記述するということもできます。例えば、H8/OSではAPI関数のアドレス解決をリンカスクリプトでやっているようです。


ところが、この方法だとヘッダファイルをインクルードするだけで済むので、そのあたりが楽になります。
コンパイラがうまく最適化してくれてコール先のアドレスをイミディエイトにしてくれれば、スタックに値を積まなくてもよくなるので、メモリの節約になります。

ある組み込みCPU向けに、リンカスクリプトを使わずにAPIを作るにはどうすればよいかと悩んでこうしました。
いろんな言語があるけれども、やっぱりC/C++が一番面白いです。

| | コメント (0)

2008.02.02

真の技術者を募集しています

このブログに、たまに↓のバナーを貼っているのですが、もう気づいた方もおられるでしょうか。

真のエンジニア募集

特電はエンジニアを募集しています。

ところで、エンジニアとはなんでしょうか。
私は、「科学技術に関する高等の専門的応用能力を必要とする事項についての計画、研究、設計、分析、試験、評価又はこれらに関する指導の業務」を行う者と考えています。

意外なことかもしれませんが、理工系の大学・大学院を卒業して大手企業に就職したとしても、大手であればあるほど、若い人は個々人の才能や知識は必要とされません。なぜならば多くの企業が求めているのは、個人の才能や、大学院で学んできた知識ではなく「与えられた業務を期限内に正確にこなす従順さ」であるからです。

最近※1では大手企業は、開発業務を細分化し、一人の人間には細分化された一つの仕事しか与えないというスタイルに変化していきました。なぜならば、そのほうが人材の流動化※2に適応しやすく、人材育成期間が短くて済み、教育コストが少なくてすむからです。。大手企業はほぼ100%、そういう労働スタイルに変化してきたわけです。
※1 おそらくバブル崩壊後の不景気、IT革命、グローバル化への対応などから。
※2 エンジニアとして雇用した人材に急に退職されても、業務範囲が狭ければすぐに代わりの人材を育成できること。
2000年代の大企業型業務スタイル


ISO9000なんていうのも、その流れにとっては非常に都合がよい制度です。ISO9000というのは「会社が決めたマニュアルに従って、従業員が作業することで一定品質を確保する」ための仕組み作りですから、若い人が独創性なんか出して勝手なものを作ったら困るわけです。

つまり、最近は大手企業(あるいは企業グループ)であればあるほど、一つの仕事を「知識・スキル・経験がなくてもできる単位」に切り分け、一人一人のエンジニアに退屈するような単純作業をさせるようなスタイルに変わってきたのです。
新卒や若い人や派遣社員を採用する場合、個々人の持つ技術※3や科学的見識ではなく、技能を提供する人として採用しているわけです。
巷にあふれる求人広告を見るときには注意してみてください。その募集は、技術を欲しがっているのか、それともエンジニア募集と称しながら技能者として欲しがっているのか。
※3 技術と技能の違いについては、また改めて書きます。

そうなると、エンジニアには個人の才能を発揮する機会はほとんど与えられません。独創的な才能を発揮するのではなく、上から与えられた仕事を期限内に忠実にこなすことが求められるようになったのです。プロジェクトXみたいなことは、もうないのです。

例えば、大手企業で回路設計やソフトウェア開発を行うエンジニアは「過去に設計された回路の一部の部品を新規部品に変更する作業」をしていたり、「ある機器がリセット後に起動画面が表示されるまでの徹底的なデバッグ」や、「産業ロボットを特定顧客向けにカスタマイズするためのDSPプログラム修正」だけを日々行っています。
いままでいろんな人に会ってきましたが、事実、そのような業務さえ面白いほうです。

また従来、大手企業が行っていた電子回路やソフトウェアの設計開発業務は、ほとんどが外注に出されるようになりました。一部上場企業はほぼ例外なく子会社を作って設計実務を外注し、親会社はその管理業務と上流工程のみを行うというスタイルに変化しました。もちろん例外もありますが。
上流工程を行う大企業に正社員で雇われた技術者は、もちろん例外もありますが、だいたいは管理業務を行います。実際に手を動かして回路設計したりプログラムを作ったりということはあまりないでしょう。責任の所在の明確化や、仕事の割り振り、子会社への発注、進捗管理などがメインの仕事になります。それはそれで面白いのですが。
ともかく「技術者として楽しい仕事をしたければ子会社に行け。ただし、偉くなれない。」という時代になったのです。



21世紀に入ってから、若者の仕事がつまらなくなったわけです。
だからどんどん辞めていく。

本来は面白いはずの仕事を、細分化しすぎた結果、誰にでもできるような単純な作業しか与えなくなったことにその原因があると思います。科学技術高等の専門的応用能力が求められていないのです。
若い人にとって、大学・大学院卒業の頃描いていた憧れのイメージと、実際の業務がかけ離れているのでしょう。

なんでもできる万能型の人間ではなく、特定の分野(プログラミングだったり、技術監理だったり)に強い人材が求められるようになったからでしょう。

ところが、昔の技術者 -例えば団塊の世代かその少し上の世代- の人に、仕事は楽しかったと聞いてみてください。きっと100%の人が嬉々として話すでしょう。
この違いは一体何なのでしょうか。ISOへの対応やIT化だけではないはずです。

特電が望む業務スタイル
いかにも中小零細企業といわれそうですが。

特殊電子回路㈱はまだ小さな小さな会社ですが、社員一人一人の持つ知識と才能、応用力を大事にします。

・特殊電子回路は、貴方の「ひらめき」を大事にします。
・特殊電子回路は、貴方が大学・大学院で学んできた「高度な専門的知識」を必要としています。
・特殊電子回路は、貴方が「技術者」として活躍できる場を提供します。


特殊電子回路で求めるのは、独創性と応用能力が求められる「真のエンジニア」です。
貴方に真のエンジニアとしての仕事をしていただきます。
「大企業で働く現在の仕事がつまらない。」「就職してみたもののやりたい仕事に就けなかった。」「物理学や数学の知識を活かしたい。」「大学で学んだ知識を活かしたい。」「自分の独創性を発揮する仕事がしたい。」「今よりもっと面白い仕事がしたい。」 と感じた方は是非ご連絡ください。

詳しくはこちら↓

ソルジャーではない、真のエンジニア募集

| | コメント (1)

2008.02.01

技術士標準報酬で見積ってみた

長年お付き合いしているFPGA関係のある大手さんから案件を依頼され、見積もりを出すことになりました。
ですが、こちらが提示した金額に難色を示されたようです。
「昔はもっと安かったじゃないか。見積もりの根拠を示してくれ」ということです。

そこで、その仕事を正確に見積もり●人日だろうということで見積書を書きました。
人日や人月という評価方法はIT業界では悪く言われていますが、仕方ありません。

次に、(社)日本技術士会に電話して、現在の技術士標準報酬はいくらかと問い合わせてみました。「日ぎめ方式」の場合、標準報酬は1日143,000円だそうです。

というわけで●人日×143,000円と書いて、見積書を送りました。
これでダメだといわれたら、もう縁がなかったという覚悟です。
もう技術の安売りはしないことにします。

技術士標準報酬は昔から1日あたり約15万円といわれていましたが、「標準報酬の手引き」を見ると他にもいろいろな計算方法があるようです。定額積算方式といって1日いくらの金額に経験や技術力に応じて2.0~3.0の係数を乗じる方法。文書を作る技術指導は1回いくら、文書を作らない相談料は1時間あたりいくら、鑑定や法廷への出廷はいくらなど、細かくいろいろな標準額が決まっています。
しかしまあ、技術士会が標準報酬をいくらに設定してもそれは自由ですが、その値段で受注してくれるお客さんがいなければ意味がないことです。

| | コメント (0)

« 2008年1月 | トップページ | 2008年3月 »