ある言語で作業できるようになるためにはプラットフォーム周りも知っていないとつらいよね

最近はTracと戯れています。
Trac自体は使い込んだとまでは言えないにせよ数年使ってきたので使い方はわかります。PythonはみんPYを斜め読みしたレベルです。

ちなみに僕は入社以来ずっとJavaをやってきました。Struts, Seasarといったフレームワーク、AntやMavenといったビルドツール、IDEEclipse、APサーバはTomcatといったあたりを使ってきました。
ちょっとしたファイル整形ツールぐらいならこういったフレームワークやツールを使わずともなんとかなりますが、ある程度の規模になってきたときや作業対象によっては、つまり仕事になってくると(OSSでも)上記のものに関して知っておく必要があります。

Pythonに触れてみると、まずループとか条件分岐とかの文法、リスト等のデータ構造に関しては本やチュートリアル見ればなんとかなるような気はします。単純なツールなら1日でもなんとかできる気がします。
でも実際の仕事になってくるとそのレベルではつらい。
Tracプラグインのソースをいじるのでそのへんの作法も知ってないといけない。Componentクラスを継承して拡張ポイントをimplementsメソッドで呼び出して必要なメソッドを実装するってやつです。
コンポーネントアーキテクチャまで知っていれば完璧だと思うけどあそこはメタクラス全開な感じなのでおまじないということでいいでしょうw core.pyなんてステップ数少ないんだけどね。

setuptool、Apachemod_python, mod_wsgiも使うので必要に応じて調べます。まあ最初はよくわからんのでネットからいろいろコピペして動かしてみたりするわけです。
ああこれはPythonのコード書くときも一緒だ。つまりネットが無いと仕事できないw え、helpみりゃいいじゃんって?安直でヘタレですいませんw
でもね思うわけですよ。いろいろ考えたり調べたりするのもいいけどそこでフリーズしちゃうと進まないですよ。とりあえずコピペして動かしてフィードバックを得るのが大事だと思うな。うん。試験以外の場所でのカンニングは美徳ですよ。ってセンスオブプログラミングに書いてあったし。

まあこの辺は他の言語やるときも一緒ですね。
Rubyにしたってgem使うだろうし、Rails使うならpassengerとか使うでしょう。わかんないけど。まあ必要になったときには調べる必要があるよね。

履歴書に使用、経験言語書いたらその言語の文法をちょっと知ってるというだけではなくてこうしたプラットフォーム周りも知っていることが期待されるでしょう。まあ僕なら期待しますね。
だからJava技術者と名乗っている(名乗らされている?)のにAnt知らないとか言われるとちょっとずっこける。

〜言語の技術者です。〜フレームワークを使った開発も経験があります。といった経歴は1開発担当者としてアーキテストが準備してくれたレールにしたがってなら開発できるという意味なのかいざとなれば自分でレールを作れるという意味なのかで全然違います。
前者はいっぱいいますが後者は本当に少数です。後者になるためにはある程度の経験も必要になってくると思います。まあでも僕は日頃の仕事で好奇心をもって作業を進めてれば上達すると楽観的に考えてます。

なんかいつもながらまとまってないですが、まあTrac, Python面白いですよというオチですw つうかメタクラスわかんねー。シングルトンまではなんとなくわかるけどcore.pyはわからん。ComponentMetaがキーっぽいが。