俺の見てきたコンピュータ業界の20年をちょっと振り返ってみる

昭和時代の終身雇用の一般企業イメージだと新入社員がいて先輩がいて課長や部長がいてって、社内ヒエラルキーがありつつも封建時代的だと批判されること無くその在り方を一般的な会社のイメージとして持っている人もいると思う。

会社に入ったことのある人ならともかく、山口六平太とか美味しんぼとかで出てくる会社風景はおそらくは出版業界の一般像だと思ってんだけど、自分で最初に勤めた所はどうなのっていうと、そりゃ色々な所があるわけで。

ソフトウェアの業界でも美味しんぼ的な会社はあるし、そうでない会社もあるんだけど、どちらかというと会社は窓口業務だけでお客さんの会社に技術者を送り込んで仕事をさせるって形態がたくさんある。そんなもんだから仲の良い人の輪の会社の中で技術者ひとりが部外者としていじめられるというような希少なケースがネットに極端に描かれて悪いイメージになってるけど、そうじゃなくて商慣習で仲の良い会社から新人さんを預かって会社の仕事を教えてもらえるというようなケースもある。

自分の周りが上手く行っていると上手く回っているように見える。

そして、何年も続ける人自体が珍しいと言われるソフトの業界に長く居座るとそういうお客さんの会社から放り出された野武士のような野良システムエンジニア、野良プログラマーというのが業界の一角を成していることが分かってきた。

彼らは何とかしてどこかの会社に常駐したい。しかし年を食ってひねくれていて、お客さんの中で新人同様の扱いを受けて可愛がられるという時期を過ぎているし、どこかの会社でそこの仕事を覚えていても会社が変われば仕事も変わるわけで、お客さんの会社で社内SEとかがいると、追い払われる形になっていく。

そういう人を生み出してしまったのも元を正せば窓口業務だけで人を送り込んでいた会社のせいなので、そういう人に居場所を与えるのもまたコンピュータ業界の責任であり、お客さんに買ってもらえなかった技術者を大量に抱えてビルに放り込んでいるのが大手システムインテグレータの実情、

しかし、若いうちからそういうところに放り込まれる人もいる。どんな事情があるのかまでは全て知っているわけではないが、派遣が悪いという印象から大手への正社員入社を望んだらタコ部屋のオッサン連中に若い管理職として付けられたという話なのだろう。

そういう人は本来上司になっているはずの年の人から仕事を教えてもらえない。

それはそれで、俺の20年は何だったんだろうな。買ってもらう身でお客さんの良し悪しを語るわけにもいかないが「よその会社から仕事を手伝いに人が来ている」という建前を無視して「金で奴隷を買ったから何をさせても良い」という風潮のお客さんの下では長いこと働きたいとは思わないよね。色々な会社を見てきた分、居心地のいい所の味を覚えると辛い仕事に対して我慢が出来なくなる。きっと贅沢になったんだろうな。

 

Javaで麻雀作り始めたよ

手始めに牌の画像をウインドウに出しただけ。

f:id:karmen:20170802161317p:plain

今日はJDKの設定から入ったのでここまで。

ユーザ・インタフェイス(画面と入力応答)を練るかロジックを煮詰めるか。ビジュアルベーシックでの前作は3ヶ月くらい籠もり切って作ったけど、ゲーム会社で39歳であれに3ヶ月となると先端開発としては遅いだろうな。

そんな俺でも例えばゲーセンでカプエス2やってた頃に「サガットキャミィのキャノンスパイクガードした後に立ち強パンチ空振ったやろ?あれちょっと前に歩いてから出すんやで」とかいうと「ミヤザワさん、そういうこと教えてくれるのはいいんすけど・・・プログラムの仕事とか教えてもらえないっすか?」「うーん、パソコンは持ってんの?プログラムの本とか読んでみたことあんの?」「いや、もういいっす」というやりとりが若い人との間であったので、なんかそれ思い出すわ。

日本のSIer(システムインテグレータ)の多層的なダメなところはいっぱい知ってるけど、給料そんなに求めないならバイトくらいのプログラム経験でも何か仕事がもらえる可能性があって。毎日仕事がなくてゲーセンで遊んでて大会優勝を夢見るのも良いけど、だんだん年食うと自分で仕事するより下の人がやってくれるケースも出てきて、暇を活かして未経験の人にお節介を焼く余裕が出てきたのかも知れん。自分のことも本当に大丈夫かと思う所あるけどだ。

オープンソースにするから分かる人手伝ってー」みたいのでなく、WindowsコマンドプロンプトとかMacのターミナルとかの使い方を指導してサンプルコードのコンパイルまで持っていくこと、そっからC言語Javaの文法。ゲームでも対戦型で強い人でロジカルに考えれるならプログラム適正あるんちゃうかな。

と思うけど、自分が学生だった頃に学校のプログラミングの授業では飽き足らずに本を買いまくって、VC++のHWND hwnd;ってのがHWND(ウインドウハンドラの型宣言)とhwnd(変数名だから命名自由だけど型に合わせて小文字で命名されている)なんかが分かるようになってきたのって結構真面目にやって2年目くらいだから、ちょっと面倒見てやろうとかゲーム好きな人つながりで教えてもらえるとか、そういう甘いことお互いに考えても苦しいかもしれないな。たしかに学校サボって道頓堀でKOF'98あそんだりとか、完全に勉強だけではなかったんだけどねー。

教えてやれるなんて思ってる俺のほうが教員免許あるわけでもないのに甘く見てるだけかもしれん。でも、ゲームやってて仕事のない人に「つプロゲーマー」とか言うよりはみんなでプログラム覚えたら優勝しなくても食えるんじゃねって考えはあるのよ。

30億のデバイスで使われているJavaって

Android端末にVM搭載してケータイでもパソコンでも同じウインドウ出して動くアプリが作れるものだと思ってたんですけどね・・・。現実にはJava言語が共通なだけで仕組みというか思想の上でのJavaはブラウザベースのみでしか実現していないような。それもHTMLと密接に関わっているし古い端末は切り捨てられるわけで。

近頃のスマホは俺のパソコンよりハイスペックだからそれをターゲットにVM(仮想端末)を動かそうとすると起動に数十分かかるわけで。それでも動かしたいのがそんなに大規模なプログラムでなくてDSの麻雀格闘倶楽部くらいのものをJavaで作ったろうかとJDK入れて開発に着手したのよ。プログラム3行くらいでも着手は着手。

麻雀のルールと論理インタフェイスと思考部くらいなら今のマシンでも組めるかなとやりだして、ターミナルのEmacsでプログラムを3行書いた時点で俺はWindows秀丸エディタが無いとやる気が起き無いことが分かった。慣れの問題とは思うけどさ。

いやしかしブログはブラウザベースのはてなエディタで書いてるから、いっそプログラミングもブラウザベースでやろうか。ファイルはクラウド管理してコンパイルだけJava使って、そんでロジック全部出来てからケータイ向けに画面をレンダリングする開発マシンを増設しよう。まず開発マシンを買うっての考えないでさ。

しっかしつまらん仕事やで。資本家でない普通の労働者は心理的に給料が月給制でも翌月払いより安くても日払いのほうが労働に対するテンションが上がるらしいが。少なくとも3ヶ月くらいコンソールでロジックばっかり組むってな。辛抱がいるわ。辛い。

まあ、ゆっくりやろう。やっている間に麻雀ベーシックが1万本行ってくれたらいいな。Javaの勉強も兼ねて。そして開発マシンを買ったら思考部はPython機械学習かぁ。とかく、それらのためには麻雀の基礎部分が必要なわけで。前の開発言語が勉強のためVBだったってのがクソッタレだよな。でもC言語しか出来ないって思われるよりはクソな言語でも勉強しておかないと。

プログラミングって言語が何であるかってよりその文法で何が示されているかのほうが大事だから小説として面白いかどうかってのと日本語で書かれてるか英語で書かれてるかってのはな。和歌を詠むには日本語で推理小説なら英語のほうが良いのかも知れんが。開発に使ってみるとVBも便利だったからな。Javaツイッターを作るのには便利なのかも知れん。麻雀を作るのに便利かどうかは分からんが。基礎作っとけばブラウザベースのネット対戦麻雀とかに発展出来るかもしれんからな。

わけのわからないことを語っているけど、当面の問題はコンパイラJavaであることよりエディタとバージョン管理をな、秀丸とサブバージョン使えないならMacで便利なの自分で手に馴染ませるしか無いって問題なのよ。Linuxのviが便利とか言ってたの昭和何年生まれなんだよって話だよ。

まあ、結局誰しも使い慣れたエディタと文法があるわけで下積みプログラマ時代に経験した言語や環境をそれがプロジェクトに有効であると説得すると部下に教えやすいとか全体を把握しやすくなるという意味でポジショントークをするわけで、どの言語も満遍なく知り尽くした人が適材適所の意味で言語を選定できるほど関西の上流工程に分かっている人がいないという話だから、そこに俺が様々な言語を勉強しておいて後は物を言わせてもらえる、意見が通るポジションを取っていけるかっていう話になるだろうな。

つまりはひとりで出来る仕事で満足できるうちはしっかり働いて、やがて表出するであろう出世欲をちゃんと満たせるか。そのためにはC言語にこだわる職人気質ではいけないと考えてる。


🄫1999-2023 id:karmen