さて、今でこそ「マウスの握り方~ハード修理、システム開発、設計、導入、運用、保守、提案などなど。。」と、システムとかパソコンとかシステムと名前が付けば何でもしなくちゃならない、(・・)です。しかし、元は、プログラマーです。「プロ」と名前の付く通り、それでご飯を食べていた訳で、プログラマーに特化してた職にいた頃はそれはそれは、涙なしでは語れない日々をすごしておりましたw
今でこそ、若かりし頃(TT)の思いでですが。。
そんな、(・・)のぼやきを交えて、
・プログラマーとかIT業界とかに興味がある人。
・これから就職しようかなーなんて思ってる人。
・転職を考えてる人。
などなど、参考にちょっと読んでもらえればと思います。
まあ、あくまでも(・・)の個人的な意見ですので、鵜呑みにしないでねw
お題目
●懐かしき日々。。
●だれがなれるの? プログラマー
●「仕事?俺?SE!、とか言うやつに限ってSEじゃねー!」
●SEとプログラマーは大違い!
●勘違いするなかれ!
●転職天国?
●転職の実態??
●転職するために仕事するん?
●プログラマーの賞味期限。
●ヤクザなフリー
●やりたい仕事が本当に辛くても楽しいか?
●システム業界とは?
●アプリ系といっても。。
●たとえばね1(携帯電話をつくってるんだーって。。)
●たとえばね2(一昔前の携帯のファイルシステムって)
●業界を支える悪循環w
●身に付くものはなんだ?
●失うものはなんだ?
●懐かしき日々。。
小さな頃からの夢だった、「プログラマー」に晴れてなった年から、廃人と化す数年間。「この会社の定時ってあるの?」と思うくらい毎日、毎日遅くまで働いておりました。時には、会社に泊まって1週間。毎日朝4時くらいまで働いて、仮眠→出社時間に起きて仕事→最後に40度の熱を出してようやく家に帰るという、
「下手したら死ぬぞw」
ってとこまで追い込まないと帰れないこともww
ただ、今思えば、(・・)が若かっただけ。スキル不足や仕事のマネージメント力が足りなかった(だけではないとおもうが。。)と思います。当時、(・・)の下で働いた人達に何とお詫びをしてよいやら。。
「もう少しなんか出来ただろうw」と思うことも多々ありますww
●だれがなれるの? プログラマー
プログラマーはどんな人がなれるのか? よく(・・)なんかは、「理系でしょ?」とか聞かれますが、バリバリの文系です。
微分、積分、サイン、コサイン?
ほぼ意味不明ですwww
まあ、四則演算(足し算、引き算、掛け算、割り算)くらいは、できますがね。。
プログラマーとして、本当に理系の能力を必要とされるのは、その系統の演算などを必要とするプログラムを組む時であって、ほとんどの場合、不要でございますw
そして、世の中のプログラマーの8,9割は文系のお勉強をしてた人が活躍しております。本当に必要とされるの応力は、いかに難解なロジックを組むかではなく
如何に顧客のニーズをくみ取って、仕様に落とし込むか。
なんです。 んなもんですから、物事を整理することが好きな人は、向いてるかもしれませんね。
逆に情熱派、直観型で細かいことは考えないでガンガン行くぜ~!
という性格の人。。何人もプログラマーとしてピカピカ社会人1年生になった人を見ましたが、己を変え切れない人々が、常に情熱だけで動かないコンピュータと格闘し、
自分を見失うくらいのソウルクラッシュを経験し、
どんどん、鬱になる人を多数拝見させていただいております。
素直に、営業職などの情熱で物事を通す職をお勧めしますw
●「仕事?俺?SE!、とか言うやつに限ってSEじゃねー!」
よく、システム関係の仕事をしている人が、
「俺? SEだよ!」
とかいってるヤカラが世の中にはゴロゴロいます。
個人的な意見ですがね。この内、20台のぴかぴか社会人が発する九分九厘は、「ナンチャッテSE」です。というよりはっきりいってしまえば、「プログラマー」ですw せめて、あやふやに、
「俺?IT業界」
とか、死ぬほどカッコ悪い言葉で、お茶を濁して欲しいものです。
●SEとプログラマーは大違い!
SEとプログラマーの間には、確かにあやふやな線がありますが、少なくともシステム構築をするための業界の業務などに精通してて、クライアント(お客)にシステムだけではなく業務の提案と設計ができる程度の実力がなければ、SEなんて言葉は使って欲しくないものです。
大体ちょっとしたモジュールの設計やお客さんに営業紛いな事が出来るようになると、「SE」という言葉を使いたくなります。ただ、ほんとにSEと呼ばれる人たち(すくなくても(・・)の基準ねw)は、本来の業務を現状分析から必ずしもお客さんがお願いする内容を「ハイハイ!」と聞くのではなく、自らが、お客さんの業務を改善しうる形にデザインした上で、システムの提案などができる力が必須なのです。
●勘違いするなかれ!
SEたるもの、ちょっとやそっと、お客さんが「今まで、この方法でやったんだから、いいんだよ!」といっても、毅然と「No」と言い、最適化した業務を提案しなくてはなりません。一言でいえば、簡単ですが、この提案力こそ真のSEに求められる姿です。(これが、一番難儀ですw)
単に、モジュールやシステムの設計をするのは、プログラマーやちょっと毛が生えた程度のエンジニアですし、システムをPRして「是非導入してください!」というのは、営業さんです。
とおもってるので、気軽にSEなんて言葉は、自らを名乗るときに言ってほしくないとおもってますw そして、プログラマーの経験もロクにないのにSEを語る人たちは、(・・)は、「エセコンサル君」と名付けてますw 作ったこともない人間が、机上の空論でものを語るのは、コンサルの代名詞ですからね。。
まあ、世間で「SE?」と聞かれて、いちいち説明するのも面倒で「そうそうw」と答えてしまうほうが大概という話もありますがw
●転職天国?
IT業界は「転職天国」といえなくもありません。業界の風土もあるのでしょうが、転職することにあんまり抵抗がないような気がします。採用する企業にとっても、新人社員を育てるより即戦力が欲しい。さらに新人教育を終えた2、3年目の社員なんかは、やすく雇えて2度おいしい。というわけで、割と若い年代の転職は、どちらかというとウェルカムとなります。一方、転職を決意した人にとっても、受け口が一杯あって、一見選びたい放題!?
「なんで、俺はこんな会社にいるんだ。」
と思えるような好条件が並んでいるように見えます。そして、先人を切って転職した同期の噂が社内ネットワークを通じて広まります。
「あいつ転職して給料1.5倍だって!」
とか
「残業もあんまりないんだって!」
とかとか。。そんな噂を信じて、いっきに流出ラッシュ。。なんて事は、良くあることです。
●転職の実態??
転職した同僚の好条件に思わず、「俺も。。。」
でも、ちょっと待った!
転職したヤカラの言う言葉を100%信じちゃいけませんw 大見栄きって退社した同僚。転職した先が確かに給料がUPしました!やったーと思うけど、周りを見ると定時に会社を出る人は入りたての同僚だけ。周りにはつかれ切った先輩がゴロゴロ。。仕事が慣れてきたら、同じ運命をたどりそうな空気です。
そんな折りに、元の同期からTEL。「どうよ?」って聞かれたら、それはねーw 思わず良いところのダイジェストを話したくなるのが、心情ですわw
もちろん、全部が全部悪い転職とは限りませんし、1つの会社だけでいるよりも、本当に良いな納得できる会社に入るまでは、転々とするのも否定しませんが、あんまり頻繁に転職を続けると、段々採用する側だって、「アルバイト感覚か!」って思われてしまうので、注意です。
●転職するために仕事するん?
転職経験もある(・・)ですが、理解できない最近の就職活動をする若者の言葉
「とりあえず、2,3年働いて転職するんだ!」
ん~。。転職する前提で会社に入るのかw
いや、今は決していい会社(とはなんだ?)に入れなくっていづれは、意図する会社に入る!って人もいるかも、知れませんが漠然と「転職=カッコイイ」みたいなイメージ。。なぞですw
とはいえ、システム屋で一生同じ会社で働く人は、ごく一部。でも、転職するために就職したんでは無く、転職せざる得なくなって、転職しているのです。
●プログラマーの賞味期限。
プログラマーは、どんなに出来る人でもある程度の年齢までが会社にいる限り限界があります。
出来る人ほど、仕事量も増える。
出来る人ほど出来ない人のフォローをしなくちゃならない。
じゃないと自分のモジュールが動かないので、結局手伝ったりして。。
そんな事をしているうちに、過酷な日々に体が付いていかなくなっていきます。 ここで、上流の設計や提案ができるSEや営業に回ったり。とにかく、体力がなくなる前に、同じ業界でも身の振りを決めないといけません。
でも誰でも上位に上れる訳でもないし、そもそもプログラマーが好きだといって残る人もいます。体力が人並み以上にあって、バリバリできる。。 きっとそれは永遠ではないのです。次々に新しい技術や仕様が生まれる業界です。遂には、頭が付いてこなくなって。。
(つT)
終了です。
●ヤクザなフリー
プログラマーにもいろいろな人種がいまして、中でもヤクザな、アウトローな人生を送るのが、
フリープログラマーです。
とある知り合いの方で、フリープログラマーがいました。個人で開発して提供し、莫大な報酬をせしめるという、ヤクザな方がおりました。それはそれは、頭のいい方で某旧国営研究所などで開発したりなど、人工知能の分野ではかなりの方でした。うそかほんとか、数千万単位のオーダーもあるようで、確かにかなりのリッチマンでした。。
そんなヤクザナな方のいつもの口癖。
「俺、頭回らなくなったら、首ツルしかないな・・」
:
そう。。。いづれ自分の仕事スタイルに終焉がくることを予測出来てしまうので、迫りくるプログラマーとしての賞味期限が切れるのを日々脅えながらすごしているのでした。。
●やりたい仕事が本当に辛くても楽しいか?
どんな仕事でも、本当にやりたい仕事はきっと楽ではありません。ゲームが好きでゲーム開発会社に入社したって、それはそれは、高度な技術と死ぬほど短期間の開発を求められるようです。
いくら好きでも死ぬほど辛いらしいです。そんな産みの苦しみがあって、出来た暁には。。。ヒットした暁には。。とっても達成間があるでしょうが、大小含めて世の中の99%は、闇に埋もれていくゲームです。作ったのに大して売れない。。など虚無感に浸ること必須ですw
仮に売れたとしても、ちょっとした、バンドや若手芸人のように一発屋がほとんどです。 地味でも、クライアントが特定されたシステムの方が単純につかってくれる人がいて、時には怒られつつも、「あーつかってくれてる♪」と思うほうがよっぽど達成間があるんですが。。
システム屋だって、派手な分野ほどその光と影は大きいのです。
●システム業界とは?
IT業界というとあまりにも広義であいまいなので、「システム業界」にレンジを絞り、ザックリ割ると、インフラ系とアプリ系に別れます。インフラ系は、ハードウェア(サーバやスイッチなど)とその下位レイヤーのシステムや、ネットワーク構築や通信事業会社などもどちらかというとインフラ周りですね。逆にアプリ系は、俗に言うソフトウエア部分を指して、OSやその上で走るプログラムを差します。
(・・)は主にソフト系に浸っていた人間なので、インフラ周りはあまり詳しくありませんが、それでも両者それぞれを知っていないと仕事にならないので、何気に曖昧な業界なんですねw
もし、これから就職を考えてる人。少なくとも自分がしたい仕事とその会社が得意としている仕事で、この2者の選択を間違えないようにw
もっとも、大きな会社になれば、両方の部門をもってるので、あとは運任せなんでしょうがww
●システム業界とは?
今の世の中、アプリといっても多趣多用。とにかく何でも間でもシステムで動く世の中です。WinやMacなどで動作する様々なアプリもありますが、サーバ上で動くものや、携帯などの上で走るアプリ、カーナビやたまごっち(古い?w)だって、みんなアプリw 自分がやりたいと思ったアプリを仕事で作れる人は、自分で会社でも興さないと、まず巡りあえないと思いますw
●たとえばね1(携帯電話をつくってるんだーって。。)
たとえば、(・・)も写メールの出始めの頃、携帯電話のアプリを開発したことがあります。 一見、
「おおw」
って思う人もいるでしょうが、(・・)が作ったのは当時、写真や音楽ファイルのファイル保管の制御部分。
聞こえはいい(?)ですが、実際は死ぬほど地味でそして辛いw 俗に言う「ファイルシステム」ですが、画面に写るようなGUIな部分のような見た目に派手な部分の更に裏。引き渡されたファイルを携帯のメモリに書き込む地味ーな部分。
ほらw携帯を作ってみたいと思って入社した人なら、「?」と思ってしまうかもですねw
●たとえばね2(一昔前の携帯のファイルシステムって)
ちょっとプログラムをかじった人なら、携帯のファイルをメモリに書き込むなんて、
「2,3行も書けば終わるでしょw」
と笑ってしまいますが、舐めるなかれ! 携帯電話は家電に近い商品。いつ電源が切れてもプログラムは正常に終了して、ファイルシステムが壊れることが許されない訳です。 ファイルをかき込み中のほんの1秒もない時間の瞬間でも電池が切れたり、バッテリーをひっこぬいても壊れないことを保証するという結構難儀な仕様を迫られます。
そのプログラムコードの6~7割は、異常終了のリカバリーに費やされ、いつどのステップで電源が切れても、電源を入れ直したときには、何事も無かったかのように復帰するように設計されます。
そして更にシビアだったのが、今でこそ携帯のファームをネットからダウンロードしてアップデートなどとリリース後の修正なんてできますが、当時は基盤のROMに書き込んでリリースしたら、後は、製品回収(属言うリコール)しか修正手段がないのです。それは、それは、胃が痛かったw 当時は、よく携帯でとある操作などをすると落ちる製品などもありましたが、大概はプログラムのバグや設計が甘いために起こる問題ですw
あと、NTTの電話交換機なども開発しましたが、こっちは、止まると新聞に載れますw
●業界を支える悪循環w
システムを作る側と発注する側。常について回るのが、仕様(こうしたい!って言う要望のルールみたいなもんですかね。)の定義の曖昧加減から発する悪魔のサイクル。。これは、8割がシステム屋の問題で2割が発注側の問題。昔は
「クライアント(発注側)がはっきりしないのが悪い!」
と思っておりましたが、それはクライアントの要求を引き出せない開発側のSEや営業の技量不足が大概です。細かい仕様や要求を聞かないまま、営業は「出来ます!」といってしまうし、SEが曖昧な提案や要求を汲み取れないままに下位工程に仕様を流すので、作りが曖昧になって、つながるモジュールもつながらなくなったり。。
そして、ある程度できあがってプロとタイプをクライアントに持っていくと、クライアントは大概、
「やっぱり、こっちのほうがいいなー」
(↑これが最もいけないのですがw)
なんて軽く仕様変更が重なって、段々最初の要求を大きく膨れた仕様になるのが常です。その度に夜なべして修正していくのですが、修正するたびにツギハギ設計となって、バグがボロボロ。。さらに夜なべ。。最終的にできあがったのは、メンテナンスもする気も起らない、グチャグチャの設計とソース。
リリース後も保守という名の仕様変更やバグ解析が続き、いつまでたっても完成しないシステムがまた世の中に1つできあがったりするんですねw
●身に付くものはなんだ?
さて、そんなプログラマーになってなんかいいことあるのか?と思うかもしれませんが、他の職業よりも、お得なスキルが身につきます。もちろん、プログラムを組めるとか、PCに詳しくなるという点もありますが、本当に身に付くのは、
物事を最適化した形に抽象化できる能力。
です。モジュール単位でも設計したり、開発するということは、本来人が行う作業をシステム化する際に、順序立ててフローを作成し、最適化された形にするのが、プログラマーのお仕事です。 プログラマーとしてのテクニックがあるとは、まさにこの点を優れているということになるのです。
この能力はどんな仕事をする上でも共通することです。プログラマーなどの経験者であれば、仕事をプログラム言語としてコンピュータにつたえる訳ですが、これを人につたえる、自分の仕事を整理する能力が抜群に違ってきます。(世の中にはコンピュータのように理解の良い人ばかりではありませんがねw)
ただ、次に書く「失うもの」を本当に失ってしまいがちなのが、裏腹の欠点ですww
●失うものはなんだ?
逆に失いがちになるもの、それはコミュニケーション能力。特に営業などには向かない人間に出来上がりがちです。常に自分の世界や単位で仕事をすることの多いプログラマーですから、最悪モジュールのつながりのある人間と仕様書単位のコミュニケーションができれば、よくなってしまいますw
本来SEなどになるためには、失いがちなコミュニケーション能力は必須なわけですが、あんまりどっぷりつかると、「社内引きこもり君」になってしまうので、適度な人間との対面コミュニケーションは忘れないようにしましょうww
せっかく身につけた能力を
人に伝えることができなくなってしまう
という。。なんとも悲しい習性が身につきがちなのが、プログラマーなんですw
さあ、みなさん!
ぜひこの世界に飛び込みませんか?www