前回までのあらすじ。
2010年12月。プログラマーとしての採用を勝ち取ったが、肝心のプログラミングスキルがゼロだった。
初出社まであと一か月弱。
これはマズイ、とさすがにあせったちょんハリ師匠。
プログラミングの教科書を読み漁るも、まったくわけわかめ。
無情にも時は過ぎ、初出社まであと一週間を切っていた。
どうする?どうなる?やれる?やめる?え?え・・!?
2011年1月。
あっという間に明けたよ、年が。
そして、ついに。
その日はやってきた。
ちょんハリ師匠が、WEBプログラマーとしての第一歩を、踏み出すその日が!
面接以来、久方ぶりにスーツを着る。
ワイシャツのボタンに手をかけながら、
「これから、しばらくワイシャツを着る日が続くんだな。」
とつぶやく。
(会社では私服OKだったが、「未経験」であるということ、新参者であるということから、しばらくはスーツで通そうと、決めていた。)
一か月ぶりのスーツ。ネクタイを結ぶ手がもたついていた。
-ふふ、やけに手際が悪いじゃねぇか。
ガラにもなく、緊張していた。初出社に。
だが、もたついていた理由はそれだけではなかった。
HelloWorld.から少ししかすすんでなかった。
結局、年末からのプログラミングの勉強に失敗していた私。
やっべぇどうしよう、リアルにマズイ、こりゃアカン。
プラスの要素皆無。私の気持ち、真っ黒。
そして初出社の日を迎えるんだもの。
そりゃ、ネクタイ結ぶ手も震えますわな。
しかし、バックれるわけにはいかない。
私には車のローンがあと100万ほど残っていた。
うふふ、逃げ場なし、待ったなし。
なんとか、自分の気持ちを落ち着けるため、手のひらに「人」の字を書いて飲み込む。
「よし、行こう!
いざ参らん!
会社へ!」
・・・・という、気持ちを奮い起こすため、「参」の字を書いて、飲み込んだ。
「人」と「参」を飲み込んだ私。
「行ってきます!」覚悟を決めて、勢いよくドアを開け放ち、脱兎の如く駆け出した!
どこまで勉強すればOK?
漠然と、プログラムを勉強する!と、本を読み漁っていたのは間違いだった。
なにせ未経験。現場でどんな技術が使われているか知らない。
だから、どこまで勉強すればよいのか、当時の自分にはわからなかった。仕方ないといえばそうなんだけれども。
そもそも、プログラミングを学ぶ、といっても、「言語」を学べばおしまい、というわけではない。
自分はPHPというプログラミング言語を仕事で使っているので、PHPを例にして話そう。
「PHPでプログラミング」するにあたって、必要になるのは「PHP単体」の知識だけではない。
ほぼ100%、サーバー(PHPを動かすため)の知識、データベースの知識、ブラウザに表示させるときのHTMLの知識、CSSの知識、javascriptの知識が必要になってくる。
やることはいっぱいなのだ。
実務経験のない我々は、ただ「勉強」しようと思っても、実務で使われている技術がどれほどのものか分からないので、「アレもコレもやらなきゃ!!」という錯覚に陥ってしまう。
やみくもに知識を吸収しようと思っても、ただ摂取しただけでは、消化不良をおこすだけ。
さらに、会社ごとに利用している「フレームワーク」・・・つまり、WEBシステムを作るための「骨組み」のようなものが違うと、もうお手上げだ!
うひー!!どこまでお勉強、やればいいのか!?
やっぱりまずは・・・HTML
最初にやるのは、HTMLと、CSSの知識かな。
タグをちゃんと書けて、style=""の書き方でもいいから、どういう修飾ができるかを学ぶ。
次に、PHPを使って、HTMLを書き出す・・・または、逆でHTMLファイル内に埋め込んでもいいけど。
とりあえず、この部分から入るのがいいんじゃないかなぁ。
ん?そうすると、自分が職業訓練校でHTMLやらCSSを学んだことは、100%無駄ではなかったか。
ちょっとでも、訓練校に行った意味があったのだな。
・・・まぁ、前職でキーボードぽちぽちやっていたから、それなりの下地があったことも、うん、まぁ、あるといえば、あるね。
IPAのセキュリティコーナーを見ておこう。
PHPで少しずつ書けるようになったら、DBの知識を学んでいくのがよいだろうな。
なんてったって、PHPの肝は、DBとの連携にあるのだから。
そして、少しずつでもいいから知っていてほしいのは、情報セキュリティについてだな。
以前より、基本情報技術者などの言葉とセットで、たびたびIPAの名前を紹介している。
今回も、IPAの情報セキュリティのサイトを紹介しておこう。
プログラミングの初歩でセキュリティ?と思うかもしれないが、どういう脅威があるのかは、最初から知っておいたほうがいい。
あぁ、そうそう、ちょっと前にWEBサイトのデザインリニューアルに関わったときのことを話そう。
デザインリニューアル、ってのは、見た目を変えるだけだから、対した作業ではないなぁ、などとタカをくくっていたら、とんでもない目にあった。
リニューアル予定のサイト、ソースコードを見たら度肝を抜かれた。
アンケートフォームに入力されたデータを、そのままデータベースに格納したり、画面に表示していたのだ。
これがどれくらい大変なことかというと、下手をすると、このサイト、改ざんされるだけでなく、そのサイトを訪れた人のPCに対して、有害なプログラムを実行されて・・・あとあと裁判沙汰に・・・ということも考えられる。
セキュリティ対策ゼロのシステムへ、いちいち対応するのは本当に骨が折れた。(赤字です)
プログラムのイロハの前に、どういう脅威があるか、うっすらとだけでも知って、下地づくりをしておいて欲しい。
明日のマウントゴックス*1にならないためにも、このあたりの知識はもはや常識レベルなのだ。
- 作者: GIJOE
- 出版社/メーカー: ソシム
- 発売日: 2005/11
- メディア: 単行本
- 購入: 32人 クリック: 340回
- この商品を含むブログ (82件) を見る
結局のところ。
自分にプログラミングのスキルが身につきはじたのは・・・入社後、研修を始めてからだった。
研修課題として、何を作るか、というのが提示されて、それを作っていった。
最初から全部作るのではなく、「この段階では表示を。」「この段階ではDB接続を。」という小さなゴールを一つずつ達成していくことで、何回読んでもチンプンカンプンだったPHPが次第にわかるようになっていった。
ただ無目的に知識だけ吸収してもどうにもならない。
「自分の中の知識をアウトプットできて、はじめて知識が血肉となる」ことを痛感した。
プログラムの勉強、どう始めればよかったのか。
もし、今の自分が、過去の自分に何かアドバイスするなら・・・
1. 頭にも、体にも覚えさせないとプログラミングスキルは身につかない。
2. サンプルでもいいから、作りたいものをはっきりさせる。
3. 一気にすべてを作ろうとせず、まずは一つ一つの機能の完成を目標に、小さな達成感を得る。
4. とにかく、一歩目を踏みだそう。
ということを伝えたい。
実際に手を動かしてなんぼ。意外とやってることは体育会系なのかもね。脳みそに汗をかかせないと勉強する効果がなかった。
あと、全部やろうとしないのも大切。
「今日はここまで作ればOK」という線引き、しかも無理のない、途中のチェックポイントのような目標をたてて、着実にクリアを目指すのがよかった。
そして、クリアするたびに自分をほめよう。「やればできるじゃん。」
達成感の積み重ねを、次へと進む原動力にしていくんだ。
「早く次のステップに進みたいなぁ・・」とウズウズするくらいがいいのかも。
最後に、一番大事なのは、とにかく一歩目を踏み出すこと。「はじめる」こと。
この職業、勉強には終わりがない。技術の発展は本当に日進月歩だからだ。
見えない頂上を目指してひたすら山を登る行為にも似ている。
実際、今の自分にも頂上は見えていない。どこまでいくのかを考えると、うんざりするかもしれない。
でも、昔の自分より、少しは高いところまで来られた。
上を見ると、果てしないが、自分の歩んできた道は、間違いなく自信につながっている。
番外編:基本情報技術者のお勉強が、実はちょっと役に立つ。
実務ではほとんど役にたたないと言われる、情報処理系の試験。
そう、持っているだけでは、全く役に立たない。
しかし、ちょっとだけ役に立った。って、なにが?
基本情報技術者の試験には、データベースやセキュリティに関する問題も含まれる。
例えば、正規化の考え方、ネットワークについての知識、プログラムの処理の流れ、外部からの攻撃など・・・
この部分を勉強していたお陰で、研修がずいぶん楽になった。
未経験から、プログラマを始めるなら、情報処理系の勉強は、していて損はなかったですよ、ということを付け加えておこう。