今回は、自分のことを書きます。
いつも、自分の事じゃん?とか思わないように、自分が思ったことを書いては居ますが、自分のことを書くことは本当に少ないのです。
これまでにちょこちょこと書いてきたあたしの過去話を知っている人なら、
あたしがプログラムを始めたのが、小学生の頃で、その頃色々と訳ありだったことも知っているかと思いますが、
だから、あたしがプログラムの実力において追随を許さない位置にいることは当然で有り、その反面、それ以外の事について、凡人以下で有る事も当然なのです。
でも、その事に気がついたのは実は結構後なのです。
PCを持つ人というのは、あたしが子供の頃はとても限定的で、当然持っている人と、持っていない人に大いなる知識差があるのは当然であって、だからといってそれは頭が良いとか悪いとかそう言うのとは関係の無い話で、
現代のように、スマホだ、ガラケーだ、パソコンだ、ノートだとそういうのがまだまだ珍しかった頃ですから、知らない方が当然なのです。
あたしが始めて携帯を持ったのも、大学に入ってからですしね?
あたしがパソコンについて必用以上に知識に溢れていたのは、中学に入った当たりからとても顕著でした。
それは当然です。
あたしの廻りでパソコンを持っている人が10人くらいしか居なかったからです。
残りの数百人(在校生)はそもそもPCと接点が無かったのです。
だから、自分が特別だとは思いませんでした。
高校は理系に進んだ関係で、中学の頃よりはPCを使っている人も居たので、それなりにパソコンの話とかもすることがありましたが、それでもプログラムをやっている人は少数で、でも、やっている人は、あたしに比べて格段に劣ると言うことはありませんでしたし、高校における授業においても特別レベルが低いとも思わず、それでも既に自分が知っているようなことばかり習っていました。
そんなあるとき、パソコンにそんなに興味が有るのであれば、資格のひとつでも取っておけば、理系の大学に入りやすいんじゃないの?という母の意見もあり、
情報処理の試験を何気なく受けました。
当時はその試験しか無かったんですよw
国家試験となると、さすがに高校生が受かるはずも無いと思っていたので、受けるときは結構気楽でした。
「落ちるつもりで受ける」のは嫌なので、それなりに勉強はしました。
とは言っても、それっぽい本を2,3册読んだだけです。
それらの本に書いてあることは、8,9割方既知だったので、やや残念に思いつつも、こんな安い本に書いてあることを知ったくらいでは、受からないような試験なんだろうと、あきらめても居ました。
何せ、本の最初の方には、合格率が3割に満たないとかそういう風に書いてありましたから。
しかし・・・試験には受かってしまいました。
でも、その原因は分かりました。
なんと、試験会場は半数以上の席が空いており、そもそも全員が受けていたわけでは無かったのです。
半分受けていないのであれば、全員合格しても5割
3割程度の合格率と言えば、ようするに試験を受けた人の半数以上が合格していると言うことです。
国家試験とは名ばかりの、簡単な試験だったのです(と思っていました。)
その後、大学の受験において、そのお札(合格証)は効力を発揮しました。
出願の際は、「こんな簡単な試験のコピーなんて入れても無駄」って事で、入れないでだそうとしていたのですが、母が入れろとうるさいので、仕方なく乱暴に折りたたんで、つっこんでいたのですが、
面接の際は丁寧に引き延ばされてあり、その試験の話ばかり聞かれました。
勉強方法、受験方法やら、学校での合格率など、様々でしたが
勉強と言えば、寝る前にちょこちょこと既存の知識ばかりが欠いてある本を居眠りしながら読んでいただけですし、受験も母に言われて嫌々受けたものですし、
そもそも出願時に同封する気も無かったくらいですし、
受験者の殆どが受かっている(と思っていた)試験の合格証なんかを気にするんだと聞いてしまったのです。
話によると、学校単位で受けている高校もあるらしく、そういう所でも、合格者はほぼ以内とかで、どうも合格者が居る高校がどんなのか知りたくて聞いたらしいのと、
合格率は、申込人数では無く、受験した人数で割っているので、受験した人の殆どは落ちていると言うことを、その時始めて知りました。
へ?あんな簡単な試験を?
暴言も良いところです(笑)
そんなあたしのどんなところが気に入ったのかは知りませんが、3大学に合格しました。
でも、考えてください、情報処理の試験は、PCを扱っている人や、興味がある人が受ける試験です。
一般人が受ける試験ではありません。
あれくらいの知識は持っているのが当然で、だから殆ど全員が当選するのが当然だと思っていても変じゃありませんよね?
今みたいに、誰もカレもがパソコンを使っているような時代じゃ無いんですよ?
でもまぁ、まともにPCを使った事も無い人が、学校の方針で受けていれば、それはそれで合格率は下がるよね?
とか、この時もまだ自分の実力という物が分かっていませんでした。
大学では各レポートを、卒論をアセンブラで提出し、良く分からずも脚光を浴びたりもしましたが。
でも、全員がプログラムをそれなりに作れるようになって卒業したのです。それくらいの実力は当然全員が持っていると思いました。
このときも未だ、一般人に毛が生えた程度だと思っていました。
就職は、活動を行わなかったため、しばらくはしませんでした。
でも、お金も無いし〜って事で1年半くらい経ってから始めたのですが、あたしの見かけってこんなんですから、色々と難癖を付けられて門前払いとかにされたりもしたんですが、試験とか受けて、これくらいの実量があれば良いと言われることもあったんですが、それでも結局役員の一人があんなチンケなのじゃダメだとかいって追い返されたり、まぁ色々と酷かったんですが、
以前のバイトの知り合いが、プログラマの仕事が有るとか行って、紹介してくれた会社があって、やっと仕事にありつけました。
凄腕のプログラマとかって紹介されて・・・・・
いえ、困るんですけどね?
あたし、仕事は未経験者ですよ?
とかなんとか
それに、その会社はVCとVBで仕事をしていたので、あたしのようにアセンブラメインでちょこっとCを囓っている程度では、それはもう、大変でした。
入って直ぐ渡された仕事はVBで、basicはそれなりに使えるけど、VBは全く使い方が分からず大変でしたが、その後のVCはCで作った物もそのまま動くので何とかなりました。
その後はweb系の仕事が多かったので大学でちょこっと触っただけのperlなんかやったり、unixでcのcgi作ったり、そう言った仕事が多かったです。
新しい仕事が来る度に、新しい構造、新しい方法、新しい慣例に触れ
やはりあたしなんて、小生意気なガキンチョに過ぎないと、改めて思いました。
ですが、違ったのです。
本当ならついて行けてはダメだったのです。
新しい場に行くたびに数年の修業をして、次に進むのです。
あたしは、それを一回やる毎に次に回されていたのです。
分からないよ〜、ドラえも〜ん!
となっていなくては逝けなかったのです。
あたしは、とあるプロジェクトの一部を任され・・・・あたしとしては、普通に仕事を分担されたと思っていた事柄だったのですが、プロジェクトの中の一角を丸々請け負わされていたことに気がついたのは仕事が終わってからでした。
数十人で1年近く掛けて行った仕事の1/3を丸投げされていたんです。
なんだそりゃw
それなのに、真っ先に終わったのはあたしだし。
暇だったので管理ツールから何から何まで全部作っていたので、クライアントの評価がうなぎ登りで大変でした。
でも、そういう事を知ったのは、また別の仕事をしていたときです。
人員が足りないからと、とある会社に出向することになったのですが・・・・まず、何をもめているのかが理解出来なかった
仕事というのは、与えられたことを、与えられた通りにやれば問題にはなりません。
それ以上にやれば、褒めて貰えます。
それだけのことです。
仕事があって、役割が決まっていれば、やれば良いだけなのです。
ぐだぐだうるさいので、取りあえず仕事を分担して下さいと言いました。
仕様も特に決まっていないというので、IFは必要最低限の物と、しました。
もちろん、最低限のパラメータの拡張性は入れておきました。
突然仕様が変更されても良いようにです。
同じプログラマとして、同じように仕事をし、あたしが働いている会社より数十倍大きな会社ですから、あたしよりとんでもなく実力が上の人しか居ないと思っていましたから、あたしが、30秒くらいで出来ました(笑)と持っていったときは、とても懐疑的な目で見られた理由が分かりませんでしたし
あたしとしては、さっさと次の仕事をよこせと、数時間かかる仕事をよこせという感じだったのですが、
他の所が終わってないので、出来上がるまで待てという事になり、その日の仕事は無くなりました。
翌日も仕事が無く、無駄に暑いその部屋にいると、出向先にもかかわらずついうつらうつらと・・・・
その次の日、漸く次の仕事が来ました。
プログラムが動かないから見てくれと
そこで漸く合点がいったのです。
ちっちゃい会社から来たあたしみたいなのが役に立つか実力を試しているんだなと?
大した引っかけも無いような問題だったので、さくっと直し、引っかけが無いか、他にも注意しながら修正し、
出来ましたよ?って、だから、いい加減仕事をくれとw
そう、ここで漸く間違いに気がついたのです。
そこの連中は、それが直せないで、納期が大幅に遅れ大変な事になっており、あたしにあてがうべき仕事も仕様が全く決まらず、無いままだったのです。
あたしが1分も掛からず不具合を見つけて5分程度時間を掛け引っかけ問題が無いか調べてから終わりにした修正を1週間近く悩んでいたのです。
それからという物、来る仕事来る仕事を秒殺していくので、もうちょっと纏まった部分をくれと言ったりとか、関数のパラメータを、何故か毎回RAMDISKを中継しているので、何故?と聞いたのですが・・・・
遙か昔に誰かがそうやって作ったらしく、こうしないと動かないと全員が信じていたりとか、何とも可笑しい人達でした。
プログラマは人材不足とは言われていたけど、大企業がこんなにど素人をプログラマとして雇わないといけない程、人材は不足していたんだなと、一般的にプログラマと言われる人は、プログラムを始めて、数ヶ月くらいの人達が普通なんだなとか、思いました。
(注:これでもまだ誤解している部分がありました)
その後、会社に後輩が入社してきたので、あたしより上のプログラマの人達が忙しかったので、その会社ではあたしが一番の新人で下っ端だったので、あたしが教育係をすることになりました。
専門学校でプログラムの勉強をしてきたというので、簡単な関数のお題を出して、どの程度の実力か見ようと思ったのですが・・・
それが大誤算。
10分くらいで終わるだろうと思っていたことが、1時間経っても終わらない。
何を悩んでいるのか聞いてみると、一人は「関数」が分からないとかいう。
他の人は、あたしが、本とか参考にして良いと言ったので、はじめての××とかに書いてある関数を取りあえず打ち込んでみただけとか・・・
何?、この低レベルは・・・?
課題は無かったことにして、問診を開始して・・・
プログラムの経験が無いどころか、知識も皆無なことが分かりました。
そうか・・・普通はこの状態の新人が来て、それを社員教育して、数年経ってやっとあれ↑程度なのかと、漸く分かったのです。
専門学校で何を習ったのかと聞くと、VCの起動の仕方、おまじないの書き方、実行の仕方。
それ、プログラムの勉強じゃ無いよ!!
C言語の勉強において、void main(void);というのをおまじないと言い、そう書けば良いんだと解説している本が結構あります。
あたしに言わせれば、最悪でしか在りません。
C言語の根幹を全否定しているような物です。
書いて実行してみましょう? Hello world? バカじゃ無いの?
プログラム言語において、最も重要なのは構造。
C言語で言えば、関数型という構造、
void main ();って書けば良いんですと言いながら、一方関数の説明では、あーだとか、こうだとかいい、
mainも関数だっての!
この関数とmainの違いが分からず混乱するところからはプログラマとしての能力が身につかないのが始まるんです。
ようするに、彼らは未だ、プログラマにすらなっていないのにプログラマとして就職してきたのです。
問題が解けるはずもありません。
あたしは、プログラマの出来不出来は・・・
プログラムというのは、プログラマによって多種多様です。
全く同じ仕様で発注しても、全く違う方法で解決し作成してくることが殆どです。
一見何をやっているのか分からないような難解なプログラムを書いてくる人も居れば、見たまんま、仕様のまんま作る人も居る。
とても早いプログラムを書く人も居れば、何でこんなにと思うほど遅いプログラムを作る人も居る・・・・
プログラマの出来、不出来は、そういったことの違いであって、プログラムが組めるか組めないかの問題とは思っていませんでした。
皆、なんであれ仕様を満たした物を作れた上で・・・・、そのハードルがいかに高すぎたのかを思い知ったのです。
全ての人が、言われた内容のプログラムを作れるとは限らず、
作れたとしても、不具合が多かったり、遅かったり、作るのに時間が掛かったりというのが普通だったのです。
あたしのように、始めて対面したプログラムの構造を理解し、他の人に交ざってその続きを作成したりというのは、
他人のプログラムは分かりにくいよね?っていうレベル以上の事だったのです。
一般人を1、一般のプログラマを10とするとあたしは50当たりです。
もちろんあたしが日本一だとかはこれっぽっちも思って居ません。
この尺度で行くと、日本一の人は70くらいです。
僅か20?いいえ、絶望的な20です。
レールガン的に言うとLv4とLv5の違いです。
凡人には越えられない壁です。
あたしは、プログラム以外を疎かにすることで、凡人としては秀才レベルのプログラマになっただけです。
でも、鬼才、天才と呼ばれる人達のレベルにはとても到達出来ないのです。
そして、世界一と呼ばれる人が居るとすればそれは80くらいかと思います。
レールガン的に言うと、レールガンとアクセラレータ的な違いです。
ちなみに、レールガンがアクセラレータに対して全く歯が立たない的な意味合いではありません。
能力者としての性能限界についての意味合いです。
全ての物理ベクトルを自在に操れるアクセラレータは、当然電撃も物理現象である以上自由自在に変更出来ます。
ただのビリビリが敵うはずが無いのですが、まぁ、頭に穴空きましたからね>アクセラレータ
ラストオーダーに弄られちゃって可愛いのなんのって☆
で結局自慢じゃ無いのかって?
違いますよ?
一般のプログラマが、どんだけ使えないんだという話ですよw
あたしが前にいた会社では、当然あたしより実力が上の人も居ましたが、その後であった人達は全部あたしよりしたでした。
しかも、あたしの足元にも及ばないほどです。
今の会社でも、たくさん有る仕事を全部自分たちでは出来ませんから、いくらかは外注します。
しかし、遅いし、不具合有るし
まぁ、作って納品出来るだけマシなんだと思うようになりました。
えぇ、あたしが以前知り合った沢山の使えない人達に比べれば全然マシです。
実力的に30くらいの尺度を上げます。
それと、あたしが自分を50に置いたのは、あたしが真ん中辺りであって欲しいからです。
将来のプログラマさん達、
void main(){};はおまじないではありませんよ?C言語を理解する上での最低限の構造です。
これを理解しないまま進んでも、heloworldを表示出来ただけの一般人のままです。
プログラマになると言うことは、プログラムの構造を理解すると言うことです。
あたしのようなポンコツなんかどんどん抜き去って一人前のプログラマになって下さいね☆
えぇ、あたしが楽出来るようになる部下を募集(笑
募集要項
1.大卒程度の一般教養(学歴は高卒以上)
2.1000行以上のプログラム能力がある
(仕事は数万行のプログラムですよ?)
3.C#、C++、オブジェクト指向、SQL、VS2010等に精通
4.CGI(Perl、PHP等)が作れる。
5.wwwの技術知識
6.クライアントサーバーシステムを理解している
7.英語が読める
8.日本語を話せる
9.女の子優遇したい
0.若い人を優遇(あたしの後継者候補ですよ〜?)
実際の面接なんかは社長が行いますので、あたしは紹介するだけです(笑
|