(apply-generic op . args)

教育者, 将軍, 栄養士, 心理学者, 親はプログラムする. 軍隊, 学生, 一部の社会はプログラムされる. - 計算機プログラムの構造と解釈 序文

VoyageGroupを退職してフリーランスプログラマになりました

2013年5月24日、VoyageGroupを退職してフリーランスのプログラマになりました。 急な退職で同僚を驚かせてしまいました。

2011年3月14日に入社したので、約2年と2ヶ月お世話になりました。 辛いことも楽しいことも多かったですし、全ての人が自分にとって良い人だったなんていいませんが、とてもいい会社だと思いますし、これからもご活躍を期待しております。 いままでありがとうございました!

退職の挨拶の際に、最後まで僕がデザイナーだと思っていた方(プログラマに見えないらしい)や、それほど接点がなかったのに僕のことを知っていて惜しんでくれてた人が多かったのは嬉しかったです。 変な存在感だしていたらしく(って言われた)、なんか目立っていたらしいです。

辞めた理由は色々とありますが会社の風土はとても好きだけど、現場レベルでのアレコレが自分には合わないなーと思い続けて、自分をそれに合わせようとしたのですがちょっと無理だったからです。 とは言え、尊敬する方が沢山いてその人達が楽しそうに満足して働いているので、それは本当に個々人の問題であり、会社や現場が駄目とかいう話ではないと思います。

まぁ、「●●●●を使ったら●●が●●して●●●●から直せ」とか「●●●とか書いて●●が●●●なら●●●なんて●●な」ってコードレビューの際に言われた瞬間に、辞めるのを決意したというのは有りますが。

ただ、本当に良い会社だなーって思いますし、今後も何らかの形で関わっていけたら嬉しいと思っております。

今後は既にフリーランスとして2社と契約したので、RoR案件を家でシコシコやっていきます。 サーバー構築から全部僕や仲間と決められるので、非常に楽しい毎日です。

6末まで非常に忙しい日々を過ごしますが、その後は浅草.rbや各種勉強会に顔を出したいと思っていますので、これからもよろしくお願いします。

追伸:つばさへ。人狼のカードはあくまで貸してるだけだかんな!w

第一回Python勉強会を開いた

友達3人で第一回Python勉強会を開きました。場所は弊社Zipangです。

今日やった事

  • 基本的な型
  • リスト
  • タプル
  • 集合
  • ファイル入出力
  • 文字列連結
  • 条件分岐
  • 繰り返し
  • メイン関数
  • 範囲
  • 関数宣言
  • クラスの作り方
  • lambda
  • map
  • リスト内包表記
  • 正規表現
  • eash_install
  • DJANGOのインストールと開発サーバーの起動

これらをPythonで扱うところまでやりました。 開発サーバーの起動はPython2.7.2だと無限ループに陥ってしまいハマりましたが、2.7.3に上げると問題なく動きました。

Pythonやってみて好きだった所

Pythonは集合を扱える感じと綺麗に書けるのはいいなーと思いました。結構Python好きかも。

def fib(n):return n if n < 2 else fib(n-2)+fib(n-1)

やったよ!僕でもPythonで1行フィボナッチを書けたよ!(笑) 一行フィボナッチが結構綺麗なので、Python好きだなーって思いました。 Rubyよりは綺麗に書ける気がする。

def fib n; n < 2 ? n : fib(n-2)+fib(n-1); end 

ただ、やはりLISPのほうが(ry

(defun fib (n) (if (< n 2) n (+ (fib (- n 2)) (fib (- n 1)))))

・・・いや、Pythonの方が綺麗かも(笑)

あと、やはりリスト内包表記は格好いいなーと思いました。

>>> [x for x in range(10) if x % 2 == 0]
[0,2,4,6,8]

格好良いですね!

次回

次回は2週間後の4/7を予定しております<( )>

ソフトウェア開発における練習する大切さ

最近しみじみとプログラミングというのは練習が大事だなぁ、と感慨深い想いでございます。

チャド・ファウラーが情熱プログラマーで「ミュージシャンはライブでしか楽器を演奏しないなんてあり得ない、ライブの時間以上に練習している。プログラマーもそうであるべきだ」みたいな事を言っていましたが、あれは本当にそうだなぁと身に染みる事が多々あります。

達人プログラマーだったか、リファクタリング・ウェットウェアだたったか、はたまた別の本なのか忘れましたが、不思議の国のアリス(だったかな?)の絵と共にIT業界(ってなんだっけ?)の変化の速さとを、全力で走ることでやっと「置いていかれない」と説明している文章がありますが、あれも本当にそう思います。

「新しいことは仕事をしながら覚える(から、自発的にプライベートの時間でお勉強なんてしないよ!)」って人が僕の周りには実は結構います。こういう人達は学生時代なのか何年前なのか解りませんが、昔勉強した事を強みに今も仕事をしているのですね。で、その部分についてはやはり凄いなーと思うことが多々あるのですが、「え、流石に今時それはなくない?」ってことがあるので、どんどんとその人にとって不味いことになっていくのではないかなぁ、と。

ちなみに強み以外の部分、得てして実際のソースコードは僕程度の人間からみてもorzestってなることが多いです。

「プログラムを書く」という行為でお金を貰い続けたいのなら、一生勉強し続けないと自分の給料が低くなっていって、その内「プログラムを書く」ということが業務では許されなくなっちゃうんじゃないかなーと思いました。新しくて面白い仕事が出来ない、とか。

ただ、幸運なことにソフトウェア開発に関する技術を磨く(学ぶ)のはとても楽しいのですね。いや、人によりますが僕はそうです。どんどんと仕事のやり方や質は変化していくのでしょうが、生涯エンジニアとして食べて行けたらなぁ、行きたいなぁと思うので生涯学び続けようと改めて思いました。

※偉そうなこと言ってますが、僕も自分自身で全然自分の技術力に納得行ってないです。これはある意味、自分が上述したようなエンジニアにならない為の戒め。または無自覚にそこに陥っているのなら、抜け出す為の決意。

第202回Asakusa.rb (2013-03-19) 行ってきた

行って来ました、Asakusa.rb!

2回目1年ぶりくらい?最初に行ったのはRubyKaigi2011の翌日くらいの振り返りみたいな感じの時でした。笹田先生(まだ先生だった)の研究室でビールこぼして凹んだのを覚えています(本当ごめんなさい)。

永和さんのインターホンの番号が解らなくてメールしたら、皆さん「こうやって覚えるといいよ!」ってすぐに返してくれたり、FBでメッセージ飛ばしてくれたり。暖かくて涙が出そうでした。

角谷さんが「大江戸のブログありがとう!」って言ってくれてとても嬉しかったです。技術的にはまだまだRubyコミュニティに貢献出来てないけど、自分でも出来るところで少しでも貢献(というか恩返し)したいなぁと思いました。

f:id:Iori_Nishizawa:20130320164423j:plain

チョコレート美味しかったです

あの場の空気がとても良かったので、また行ける時は参加したいと思いました。 後、花見は打ち合わせが入りそうなので行けるか微妙だけど、なるべく行きたいなーと考えています。

びっくりした #PHP

λ php -a
Interactive shell

php > function hoge(){
php { print 'hoge';
php { }
php > hoge();
hoge
php > hoge('aaa');
hoge
php > 

関数宣言で引数を指定していないのに引数渡してもErrorとかWarning出ない。 php.iniで出せるのかもしれんけど、これはどんな状態でもやめて欲しい。。。。

Kindle PaperWhiteを買ってからオライリーの積読PDFの消化が進んでいる

f:id:Iori_Nishizawa:20130319130513j:plain

遅ればせながらKindlePaperWhiteを購入して、1週間くらい経ちました。

もうね、初代iPadが重くてデカくてカバンに入れて持ち運ぶのすら辛くて、寝っ転がりながら読むのも仰向けだと辛くて買うかー!と。結果大正解でした。なにこれ超便利。

仕事中、ポモドーロの休憩時間やトイレで大する時に持って行ったり、昼ごはん食べる時にポケットに入れて行ったり、本を読む時間が結構増えたおかげでオライリーなどの積読電子技術書の消化が進んでおります。

体験版ブラウザはかなり使い物にならない(ページの移動が辛い)ですが、本を読むのには凄くいいですね。やはり紙の質感に近いからか、頭に入りやすい気がします。

リーダブルコードをギリギリまで切り抜いたらこんな感じ。最初は辛い感じしたけど慣れたら意外と苦にならずに読める。

f:id:Iori_Nishizawa:20130319131008j:plain

今読み始めたBinaryHackはこう

f:id:Iori_Nishizawa:20130319131040j:plain

読んでる途中のビューティフルコードは大版だからちょっとつらい

f:id:Iori_Nishizawa:20130319131109j:plain

まぁでも、なんとか読める。

・・・あれ、こういう画像上げたら不味い?もしも著作権とかに引っかかるようだったら教えて下さい。すぐに消します。

大江戸Ruby会議03に行ってコミュニティと愛の素晴らしさを再認識した

f:id:Iori_Nishizawa:20130317201210j:plain

 

大江戸Ruby会議03に行って来ました。やはり大江戸はいいですね、01に続き2回目ですが、とても面白くやる気になりました。 

本当にみなさんの話は面白かったですし、勉強になったし精神が浄化されました。プログラマとして「よし、頑張ろう!この人達に認めてもらえるようにもっと色々しよう!」と思えました。

赤黒いどろどろとした精神綺麗な青に浄化されたので本日の休日出勤も全く辛くないですし、作業がとても捗っています(白目

今回の大江戸では、まぁ冗談で「コミュニティや愛とか〜」みたいな「そういうのいいからコード書こうぜ!」って話が何度かあったのですが、僕は(惰性的ではない)コードを書き続けるためにはコミュニティへ属しそこに参加して、刺激やパワーを貰うことは必要な人も多いだろうなと思いました。

「(人生|社会)は厳しい!」ので、たった一人でレガシーコードや立ち向かうべき壁(何とは言わない)に挑戦し続けるのは心が折れるものです。一人ではなく、社内に仲間がいても、段々と疲弊していきます。

心が折れると技術的負債を抱えても返済しなくなってしまいます。また、挑戦心も薄れていき勉強しなくなっていって、自分の書くコードが最早他の人にとっては有毒なコードとなってしまい、いつしかコードを書くことが苦痛になってしまう人もいるのではないでしょうか。

でも力を貰える発表を聞いたり、以前からの仲間や、ビバリーヒルズおっちゃんやスピーカーの方々と話して、ご飯を食べてお酒を飲んで楽しい技術の話しをすると、「よし!明日も頑張ろう!俺もバットマンになるぜ!」って思えます。

明日からまた頑張れるのです。日曜日だけど寒いオフィスでレッドブル飲んで頑張っています!(白目

沢山の素晴らしい刺激と愛をありがとうございました!<(_ _)>