nantekkotai achieves

過去記事置き場

私は如何にして適当プログラマーになったのか

はてなブックマーク人気エントリーにどうやったらプログラマーに成れましたか、というのがあった。
http://umashika-news.jp/archives/51820589.html
そういえば自分はどうやってなったんだっけ、思い返してみる。


前提:僕はお金のために働いています

1. Web制作会社でバイト→独学でXHTML+CSSレイアウトコーディングを習得

仕事はPhotoShop使ってバナー作ったり、少しHTMLを修正して、アップしたりとかその程度だった。
だけど、それだけじゃつまらないからXHTML+CSSのレイアウトコーディングを独学で学んだ。当時はまだテーブルレイアウトが主流だったので、CSSに精通しました、ということでちょっと職場のお役に立てた気もする。

2.派遣先企業でのWeb運営→独学でPHPを覚える

ここでのお仕事は、前職で覚えたHTML+CSSを活かした運営と新規サイトの制作だった。
このままマークアップエンジニアとして全うしても良かったのだけれど、派遣会社の管理画面から他の仕事の時給が見れて「エンジニア高いなおい!」ということでPHPに手を出しました。
派遣先企業がフレックスで上司の出社時間が僕より一時間近く遅かったため、そのタイムロスを活用して勝手に会社のマシンでPHPの練習を開始。
それだけだと時間が足りないので、毎日ThinkPadを持って行き、帰りにカフェに寄って2時間ほど、参考書を読みながらPHPのコードを書いていました。
さらに「仕事としてプログラマーになるにはどこかで実務経験がないとまずい」とも考えて、派遣先企業での仕事でPHP使いたいという提案したら実装させてもらうことになったり。我ながら昔は行動的だったなあと感心しますね。
ついでにPHPのコードを書いてから、実際にプログラマーになるまで3ヶ月ほどの練習をしました。

3.PHPerの道

その後は主にPHPプログラマーとして派遣先を転々としました。
また仕事だけだと、トータルな技術力が身に付かないので、友人同士のネットワークのために、個人的に完全自作でSNSを作ったりしました(ほとんど使われなかったけどね)。

4.JavaScript書きたい

サーバサイドってどうにも退屈なので、Ajaxやりたい。
なので勝手にAjaxでギャラリーページのプロトタイプを作ったりして、派遣先で披露したりしていたら、じゃあその技術使いましょうってことになり、実際にAjaxを使ったサイトを作らせていただいたり。
ここでも勝手にやってます。JavaScriptも独学でした。

この時期GAEとか出始めたころで、波に乗って一人でサービス作ったりもしていました。言語はPythonだったり、途中で面倒になってPHPにしたり。ほとんどのサービスは既に廃棄されましたが。

5.マピオン

その後もJS中心に仕事したいと思いながらも、どうしても仕事がPHPに引っ張られてしまいます。現在の職場であるマピオンでははじめからクライアントサイドJavaScriptバリバリだよという条件で採用してもらったので、バリバリ書くことになりました。まさかサーバサイドJSの仕事までやらされるとは思ってもいませんでしたが。

結論

独学で頑張れ。
ついでに僕は自動車免許しか資格ありませんが、マピオンまでの計6社、問題なく転職出来ています。
少なくともWeb系においてはあまり基本情報処理とか関係ないような気もする。
どちらかというと、最後までアプリケーションを完成させられるかとか、サービス全体の視野が持てるかとか、総合的な「終わらせる力」というのが重要なんじゃないでしょうか。

まあ正直云うとプログラミングわかりません。

補足

具体的にどういう方法でコードを覚えたかというと、実は丸暗記なんです。
PHPだと1ファイルでBBSとか作れますよね。そのコードを丸暗記して、それを毎日一から書きます。
ある程度書けるようになったら、その覚えたコードをいじって、どう動作が変わるかを見てました。
ある程度、動作のぶれを把握出来るようになってから、データベースを使ったもう少し高度なアプリを作りました。
当時はフレームワークも無かったし、PEARのインストール方法すらわからない素人でしたから、裸のPHPですべて書いてました。それが良かったのかも。
そっから先も、基本はまず型を覚えて、覚えた型が頭に入ってから考える、ということを繰り返して習得しました。
僕の場合、PHPを覚えたら他の言語も結構すんなり覚えられるようになりました。なので、JavaScript覚えるときはとくに苦労も無かったですねぇ。
一番大変だったのが最初のPHP覚えるときだったと思います。当時はデバッグのやり方すら知らなかった訳で。