活字の雲

そうだWEBデザイナーになろう

SEIYU赤羽店でのアルバイトしていた24歳。 
スーパーの品出しバックヤードでの仕事で商品管理システムのPOSを触る機会があった。 
純粋にパソコンやインターネット通信がどのような仕組みなのか不思議に思ったためパソコンの技術を身に着けつつ、WEBデザイナーになるべく「WEBデザイナー初心者歓迎!」という求人をしていたシステム会社の面接を受けてみた。 

私「デザイナー志望です!」 
面接官「いま、デザイン部は人いっぱいだから、システム部ならいいよ」 
私「(む、システムってなんだろ?まぁ、ひとまず入社できたら後からデザイン部に転向すればいいか・・) 何でもやります!」 

パソコンの電源の付け方もままならないプログラマー未学習者(ほぼWindows未経験)として入社。 
これが私のエンジニア人生のスタートです。 

今思うと面接官にこう思われていたかも「こいつの服装だせぇ・・デザイナーむいてないっしょ」と。 
※ エンジニア気質の人の服装は、なんというか、こう、一種のもはや制服なのでは?とも思える世界共通な傾向がありますよね。 チェックのネルシャツとか。

 

企業の費用対効果を考えての放置主義

勤務初日、どんな仕事が待っているのかと意気込み出社。
間もなく、私の意気込みとは真反対のテンションでヌボーっと現れた直属となる部長K。
初日ということで面談をし、聞くとK部長は年下ではないか。さすがIT業界だな夢があるな ハハハ と思いながらも何となく焦りを感じた。これから更に絶望的な焦りを覚えることになるとは、つゆ知らず。

自分の席についてつかの間、年下の部長からポイっと2冊の本を渡される。
本のタイトルはあまり覚えてないが、たしか「1週間で覚えるPHPプログラミング」みたいなPHPの初級学習本と、同レベルの「たのしいMysqlデータベース」みたいなの学習本。
そして、部長から「これやっておいて」と告げられただけで、それ以降は指示が無く放置される。
2冊の本。「これやっておいて」が最初のお仕事です。

勉強することが仕事ということは、ラッキーじゃないか。すぐに覚えて一人前になろう。

パソコンとは?WEBとは?プログラムとは?データベースとは? 
学生が学ぶレベルの知識を会社で働きながら学べるとは、本当に恵まれた環境です。感謝。 

ただ、もちろん実際の業務は危なくて企業としては与えられません。戦力外通告を受けたスポーツ選手の気持ちはこういうものかなぁ。 いや打席にも立ててないか。おこがましい。
上司や周りの同僚(数週間前に入社した先輩など)からもほぼ丸一日放置プレー。それが数日間続く。 
いっこうに進歩が見えない私の横で、たった3ヶ月前に入社した右隣に座っている先輩Hは既に○○決済APIのサイトへの組み込み?とかっていう難しそうな案件をしている。 
「・・これはまずい!」 
プログラムのスキルを早く身につけねば、明日には席があるかはわからない。 

 

独学ってなんだろう?

今となっては、よくお客様から聞かれるのが「プログラムの学校通ったのですか?大学は通信系とかですか?」という質問。
専門学校にも大学にもいってない。プログラマーになる直前までスーパーの品出しをしていた。 
先輩から技術的なことを教わることはほとんど無く、当時オフィスのビルの1Fにあった書店で昼休みに書籍をひそかに購入して勉強をした。 
ただ、誰からも教わったり指導されたりしないことが独学と呼ぶのであれば、私の場合は違う。 
周りの先輩エンジニアから重要なことを教えてもらったので、独学ではない。 
ただし教えてもらったことといえば、ざっくりと1つ。 1つの重要なことを教えてもらった。それはググレカスということ。

私「すみません、ちょっとお時間よろしいでしょうか・・? PHPってサーバーにインストールするのでしょうか?」 
先輩H「・・・ググレカス。」 
私「御意!」 
(Googleで検索 。ふむふむ、なるほど!・・わからん )
私「すみません、ちょっとお時間よろしいでしょうか・・?アパッチからPHPを実行するというのはどういうことでしょうか?」 
先輩S「・・・・ググレカス。」
私「御意!」 
(Googleで検索 。ふむふむ、なるほど!・・わからん )
部長K「・・・・ググレカスw」

この繰り返し。

言われて結構ショックな響きの「ググレカス」とはつまりGoogleで検索しろという意味です。2ch用語、WEBのスラングです。
語源としては「Googleに書いてあるよ、質問する前にググれ、このカスが」の略ではなく、今となっては私は丁寧語として受け取ってる。もしくは古代ローマの王様の名前だと信じています。

まぁ、これは人間関係でも大事かも知れない。調べないで取り留めのない質問をしてくる人に対して、愛とユーモアを持ってググレカス(笑w草)という2ch民の優しさなのだ(いや、しかしながら、「愛だよ」という共通認識は受け取る側にも必要だ)。ちなみに、ウィキペディアにも載ってます。

ググレカスをググり、語源、歴史を知ることで心の安定を取り戻しました。

さておき、「PHP インストール サーバー」等と知りたいことをGoogleで検索すれば、そこに先生がいる、そんな世界に感謝です。 
つまりインターネット上に指導してくれる文献や、もはや直接の答えが落ちているわけで、独学という概念は無い世界なのではないか。 
初心者プログラマーの疑問なんでものは、世界のどこかで誰かがインターネット上に答えを掲載してくれているわけです。 
逆にお手本にすることが沢山ありすぎるため、これは不要な情報だな、と判別する力が必要な程です。(取捨選択のほうが大事) 

 

活字の雲を漂う

ググレカスという言葉にショックを受けましたが、基本的には自分で調べる、社会人なら当たり前田のクラッカーなこと。
初心者歓迎という言葉に甘えていた。 
Googleで検索すれば先生がいる。とは言え、なかなか理解できる回答が得られない、というか理解できる回答しか頭に入ってこない。 
“PHP 変数” だの “オブジェクト指向” だのという未知の言葉を1つ調べると更に5つ分からない言葉が現れる。 
現れた分からない言葉の一つを調べていくと、また5つ分からない言葉が出てくる・・・といった無限ループ、無限拡散に陥る。
当時は 分からない ではなく 理解不能 というほうが正しいかもしれない。
何が解らないのかが判らないのだ。 
意味の分らない言葉だらけで、まるで活字の雲の中を漂っているように迷子になり、結局答えどころか何を理解したかったのか、何を調べていたのかさえもわからなくなる。
活字の雲の中から意味の分かる言葉の道筋を探す日々。 

調べても調べても言葉が頭に入ってこない。 
「・・・これはまずい!」 
そうえばWEBデザイナー志望だったことを忘れてしまうほど焦りを感じていた。 

結果的に、この活字の雲を漂う日々は、Googleで調べる技術や調べるスピードの向上につながっていることを後々知ります。有り難うググレカス。

無限カレンダーの思い出

先ほども申したようにググレカスというのは、自分でパソコンで調べろよということだが、実際はまじで優しい先輩ばかりで、業務の合間や休憩時間に丁寧に的確に教えてくれました。 
逆に、仕事ができる先輩たちは通常業務で忙しそうだから、こっちが質問するタイミングが無さそうと感じていたわけで。 
必然的に独学するように追い込み、調べる力をつけさせる、嫌な人は辞めればいい、残ったスタッフはスキルが上がっていく、計算された会社の組織だったのかもしれない。(プラス思考) 
プログラマー初心者が、15年前にスパルタ(放置プレーという愛)教育の中、最初の1週間で学習したのが「PHPで無限カレンダーをつくる」だ。 
WEBサイト上で未来どこまでも続くカレンダーを作るにはどうしたらよいのだろうか? HTMLファイルを無限に作るってこと? 違うよなぁ。どうやらPHPで実現できるっぽいんだよなぁ。「PHP カレンダー」ググる。「PHP 日付け」ググる。「PHP 前の画面から次の画面 データ 取得」ググる。 
ネット上に落ちているソースコードのコピペでは納得いきませんでした。そしてうまく動かない。 
落ちているソースコードをつなぎ合わせて 出来たー とぬか喜びするのではだめ。 
SSHでローカルのテストPCに接続し、LINUX RedHat系をインストール、OS上にWEBサーバー構築、PHPをインストールして自分でHTMLもPHPもCSSも一からコーディングして作らないと意味がない。そうじゃないとクビになるのだと思っていた。というかそういうお題だった。 
最初はつたなく汚く読みづらい PHP ソースコードだったはず。でも、自分の力で作ったカレンダーだ。と思うと単純に嬉しかった記憶がある。 
プログラム初心者がPHPで作った自作カレンダーは、エンジニアへの道を後押しするには充分な成果物だった。 

それからというもの「DBを用いてスケジュールを保存」したり、「保存したスケジュール内容を無限カレンダーに表示」したり、自分が欲しいと思う機能や処理(昨今、世に出回っているようなスケジュールアプリ)を実装・開発してくなかで、プログラムやネットワークの理解を深めていった。 
当時のPHP4系の時代にはCakePHPやLarabelなどのフレームワークもあまり出回ってなく、SQLインジェクションやクロスサイトスクリプティング対策等のセキュアなコーディングまでは初心者には頭がまわりませんでしたが、スケジュールアプリ自体は半年はかからず作れた。 
たぶん、切羽詰まればこの程度の事は誰でもできるんだと思う。 
そんな当時を思い出して、いまごろ無限カレンダーをPHPコーディングしてみましたよと。 
2018.4

救いの手

当時は夜まで残って勉強した。やっとの思いでいただいた仕事が期日までに終わらなそう。

なぜならプログラムやデータベースの概念がいまいち分からないからね。

そう苦悶している時に、冷たく思われた上司K、先輩Hが見るに見かねて色々と教えてくれた。

もちろん「え、なんでそんなの わかんないの?」「難しく考えすぎでしょ」「それはググれカスw」「仕事なのでそれくらい自分でやってください」とか言われながらね。もちろんそれは業務に関わる、つまりクライアントが存在するお仕事なわけで、自分の勉強の題材のメインディッシュにしてもらっては困ることだからであって。しかしながら、プログラム初級者にとっては業務を通じて結果的に指導してもらえていることが有り難いことだった。

学生ミュージシャンが人前でライブをすることで気づきや学ぶことがたくさんあるが、実業務で密かに学ぶことは それと似ている。誰かに迷惑をかけながら学ばせてもらってる。プロはそれではダメなのだが、プログラム初級者が仕事を通じて学ばせてもらっているのは事実で、そうなのだからしょうがない。

総じて、この仕事が続けられるのは当時の同世代の上司や同僚達のおかげであることが間違いないです。感謝しています。

今も新しい技術が生まれ続け、活字に飲み込まれ、技術面の学習で必ずと言っていいほどつまずく。いつまでたっても飲み込みがわるいw

そんな時には初学者の時のモノづくりの楽しさ、粛々と世の中のためになる便利なものを生み出す楽しさを思い出し、開発者魂に燃料を補充して雲を突き抜けて飛び続けよう。