今の会社に入ってとりあえず1年になる。
「今の会社に」って言ったけど、プログラマとしての
キャリアはここが最初だ。
この1年で何を学んだかをここに記してみよう。
- バージョン管理(Git)
- チケット管理(Redmine)
独学プログラミングの盲点として、「複数の人間で開発すること」が想定外になると思うんだよ。
で、「期日通りに開発をすすめる」というのも盲点になりがち。
「期日を守りながら」「他の人と共同で」開発を進めるために必要なことを学んだ。
まあバージョン管理もチケット管理もやっていない会社があるらしいんだけど。
- Webを支える技術について
前述のようにゲームプログラマになりたいなとなんとなく思っていたので、
Webの概念やサーバーやDBなどWebサービスの基本的な概念と構造なんかは
全く手つかずだったので、結構まっさらからの勉強だった。
プログラミングとは直接関係ないけど、知ってて便利だと思うことは多い。
HTTPとか。
Ruby on Railsも勉強していたので、構造が割と似ているCakePHPはすんなり自分の中で導入できた。
Webに特化したスクリプト言語というのは初めてだけど、Controllerまわりの実装は
RubyだかC++だかでやったのとあまり変わらないので、そこまで難しくはなかった。
MVCモデルのないフレームワークってどういうことだろう。
- フロントエンド開発(HTML、CSS、JavaScript、jQuery)
XMLをちょこっと勉強していたので、マークアップ言語を全く知らないというわけではないが、
HTML自体は初めてなので、CSSの書き方とか結構苦労した。
あとHTMLって間違ったコードを書いてもエラーとか吐かないので、
これが正しいのか間違っているのかよく分からないからそこらへんも苦労した。
あとJavaとJavaScriptの違いが分からないレベルだったけど、jQueryのレファレンスが短くて
すごく充実してるから、書くのは楽しい。
窓使いだったのでCygwinでLinuxコマンドを動かしていたけど、
窓でLinuxのコマンドを使うのはすごくしんどい。GUI任せにしないことは割と重要だと思った。
何がどう動いているのかをより詳しく知ることが出来たから。
入社後すぐにWindowsを消してUbuntuに移行したクチなので、
コマンドの使いかたもガリガリ覚えた。
でもとらドラ見ながらCygwinを動かしていた日々が妙に懐かしい。
- 良いコードの書き方
これも独学プログラミングの弱点だと思うけど、
可読性とか保守性とかって、一人でやってたら分からない概念だと思うんだ。
このあたりは、他の人に見て貰わないと流石に分からない。
- テスト
書いたコードが正しく動くかどうかっていうのも、たぶん
独学だと分からない概念だと思う。ユーザー任せのデバッグとか以ての外ですよ。
雑感じみてきたけど、独学では得られないものを多く学んだと感じる。
たぶん重要なのは、
- Webサービスとは何か
- PCでプログラミングを行うというのはどういうことか
- 期日までに開発を行うというのはどういうことか
- 複数の人間と共同で開発を行うために必要なこと
- 数千数万人に提供するサービスを開発するために必要なこと
- 以上を踏まえたプログラミングのイロハ
を、1年くらい今の会社にいて学んだんじゃなかろうか。
でもまあ学んだのはイロハのイロハなので、まだまだやっていくつもりだ。
という感じのエントリーを、氷菓見ながらガリガリ書いていた。
千反田さんかわいいなー