ITの技術の大きな流れ
組込み系は小さな規模のプログラムで
C、C++、アセンブラ
OSはLinux、vxworks、Itron
一応、vxworks、itronの経験者ですけど、
全然意識した記憶なくて、
ソースコードの解析のみ、OS絡みの難しい所は
すでに完成されていて、ミドルウェアというのですが、上流工程のプログラム担当がほとんどでした
なので伝送系でtcp/ipの勉強もしましたが、
大体できあがっていて、本であったり、
公開されているプログラムをそのまま流用して
プログラムがすでに組まれてあります。
大体、米軍の戦略兵器運用の一環で開発されて
ますもんね、膨大な予算使って、インターネット
もそうですし
なので、tcp/ipの絡む所はできあがっていて
実際は飛んできデータを解析して、
アラームだしたり、データを格納したり、
ログとったりでしたかね
ここでOSの制限値などのチューニングは
社員さんの中の優秀な人がやってました
それ専門の担当です。
あるいは開発研究部門が調べていて
うちらはお金になるソフトを作らなくては
ならないので、ひたすら業務知識が必要です。
システムに直接関われなかったんですよね
業務知識も独特で別に知りたくもない
巨大設備の知識ですからね
しかし、それが分からないとアプリケーションが
できあがらないので、色々勉強します
初代のプログラムを作った人達は本当に
すごいなと思ったものでした。
よくこんなロジック組めるなと
それが2世、3世とプログラムを機能増強する頃
には、開発した人達はいなくなってますのでね
なるべく原型を触らず、上手く機能追加して
いったものですが・・・
銀行とか生保とかは今はjava、JavaScriptなどが
多いですよね、パソコンのメーカーにが関わらず
どこでも画面が開てしまいます
昔はありえなかったです。
専用の大きな画面がありまして
メーカー独自のフォーマットを用いて、
メーカー独自のプログラムを作らなくては
なんも画面に映らなかったのですが
今やwebの威力、パソコンの威力が
それらを駆逐してしまいました
「おたくの画面てパソコンより使いづらいよね」
とお客様にいわれてしまったメーカーさん
社運をかけてパソコン並みの操作性の良い
システムを作ることに取り組むのですが
大体、パソコンのソフトは巨額の開発費を
かけて作られて、世界的な頭脳や発明で
生まれてますから敵うはずがありません
不具合が3000件もでて、プログラマーが
100人くらい常駐して、徹夜で対応、
会社ごと居なくてなってしまったり、
SEが来なくなったりすごかったそうですが
私はその時に人狩りに会わず
その対応の仕事はせずにすみましたが、
落ち着いた頃、2ヶ月で50件不具合改修の
仕事を夜勤でやったことがあります。
それでメーカー独自の画面処理ができたのですが
java、javascriptに遠くおよばす
webを使ってどこからでも画面でデータがみれて
多くのサービスが提供されているシステムに
敵うはすもなくです
javaはC言語、C++の後を引き継いで
開発された言語で、C++で広げすぎた
機能を良い意味で制限して、
数多くのアプリケーションを提供してくれるので
開発者は楽にプログラムを組めます
C++ですとそれらを自分で作らなくては
ならないですからね
人工知能のディープランニングはC++を
使っているそうですが、プログラムを作る
色んな細かい機能は自前で作っているん
でしょうね
人工知能のSEは月収百万円ですよね
裏山鹿です。
C言語、C++だけでは生き残れないと
javaの仕事をできると言って受けたことが
あったんですが苦労しました
いやはや、本はある程度読んでいて、
Junitで単体テストするだけだから簡単と
思ったのですが、oracle参照関連が上手く作動
せず、junitが動かないんですよね
結合試験なら一瞬で終わる試験が延々と
伸びて担当者がまいってました。
そのヘルプで入るはずたったんですが
サイズの変更でjavaからLinuxのコマンドを
起動できなくて、JNIが使えないので
代替案でjava、C言語側両用修正して
結合試験をしてくれという話になりました。
はじめてのjavaで、テストプログラムを作り
C言語側のプログラムを起動する試験や
過負荷試験もやったのですが
なかなかjavaの世界も奥深くて
よくこんな仕事受けたなと冷や汗もんでした
社員の方に面倒見てもらってなんとか
試験終えたのですが
ある日この方からメール来たのですが、
朝4時なんですよね、送られたのが
すごいですよ、自分の仕事も大変なのに
サクラエディターでソースファイルを30本くらい
同時にあけて、チェックしたりコード直してましたもんね、すごい人でした
この時にecripsの使い方やworkspaceの作り方
gitからソースを取り込んで環境構築して
テストプログラムを作って動かすという
一連の作業を覚えましたが
わたしのjavaスキルはまだまだ幼稚なもんです
しかし、どうしてもjava、C言語が絡むので
javaの仕事をやることが増えそうです。
断りたいんですけど、絡むことが多です
Linuxでoracle使って、javaの画面で操作する
感じですかね
大規模なシステムになるとデータベースは
容量の関係でどうしてもLinuxになりますからね
従いまして、わたしの現在の生きる道は
Linux、oracle、javaは少々で
そういう意味では、前回この三つを経験できたのは
大変貴重でありがたかったです。
ということで、oracleの勉強強化したいと思います。
ちょうどそういう仕事することになってます。
データ参照の性能上げる作業ですけど
本当ならゼロから作った人がやるんじゃない?
とも思うんですが、みな居なくなったみたいで
だいぶ不安なのですが
チャレンジしてみたいと思います。
今はqiitaや他のサイトでも色々質問に答えて
くださるプロフェショナルの方がたくさん
いらっしゃいますもんね
頼りにしております m(_ _)m
oracleのデータ設定など、Linuxの環境で
シェル使って色々作ってましたから
こういう作業は楽しいです。
尻切れトンボになってしまったのですが
ミクロの世界の組込み系
真ん中の世界のデータベース系
サーバLinux、oracleで画面はjava
さらに小さ目のパソコンのみの世界で
Visual C++、visual basic、java
データベースはアクセス
あとはvbaの仕事など
最後に巨大な通信の仕事、
ネット上での大量伝送(画像などを)、課金システム
などは暗号化や既存のシステムの流用多くて
サーバも巨大で、難易度があがります。
私としては、組込み系かLinux、Oracle系を
頑張ることが生き残りをかけた道になるかと
思っております。
最後の巨大通信の仕事は本当にもう二度と
関わりたくないと思ったものです
銀行バックアップシステムの巨大な組込み系
の時も思いましたが
中規模のシステムに関連したことに
精通できればなと思っております。