Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

退職しました

2008年4月に入社したコンピュータ関係の中小企業を昨日退職しました。
かれこれ4年と9ヶ月くらいお世話になりました。


元々僕は文系だったのですが、(卒論はドイツ文学とかだった)
色々あったというか色々なかったというか
IT関係の職業に就くことになってしまって、
エンジニアリングとかプログラミングとかまったく分かっていない状態だったのですけれども
(入社前に「はじめてのC」とか「初めてのJava」とかそういえば読んだっけ)


それでも、相性が良かったのか仕事を通じてプログラミングに興味をもち、
ここに来て、もう少し成長したいなーと思ったのが退職のきっかけです。

Perl

一番長く携わったプロジェクトで使われていたのが
Perlでした。このブログを書くきっかけにもなりました。


いやー参加したときには、まだ始まったばかりのプロジェクトだったんですけど
すでに書かれていた分のソースコードはいま思い返してみるととんでもないことを平気でしているソースコードでした。

  • 秘技! グローバル変数返し!
    • サブルーチン内で処理した値をreturnせずにグローバル変数に入れて、コール側では返却値を期待しない。しかし次の行でグローバル変数に値が入っているものとして処理を継続するぞ!
  • 必殺! 全ファイル同一スコープ!
    • え、package? なにそれおいしいの?


…すごいですね。
…いま見ると技術的負債で破産してしまいそうです。
最初にそういうのを見たので、「あー仕事で使うプログラムでもこういう処理が追いづらいやつが普通なのかなー」と最初は純粋に感じたものでした。


ありがちな「こういう雰囲気でお願い」という雰囲気設計だったので、
そんな体でPerlの言語仕様もろくに知らずに半年くらいのらりくらり過ごしました。
が、さすがに自分でも「これはまずかろう」と思い、「初めてのPerl」を読み始めて、やっと「あ、myってそんな意味だったんだ!」とか、ひとりで感動してました。


最終的にちょくちょく自分が手を入れてそういうところを少しずつ削り取ってはいましたが、
ほどききれない、がんじがらめのスパゲティも残ってしまって、
一度もつれると直すのにその何倍も手間がかかるんだなーというあるあるを新人〜3年目くらいで経験しました。

Git

まあそんな感じのプロジェクトなので当然バージョン管理なんてしているはずもなく、
しかも開発環境が一つしかなくて、
僕が修正して反映させていたファイルがいつの間にか勝手に変わっていたり、その逆も然りで、
必然「いまから更新しますよ? いいですね? 本当に更新しますよ?」という声かけ必至の現場でした。


それでも不安なときは、一旦「.121229.bak」などにコピーしてからアップロードしてました。


僕の感想はやっぱり「あーみんなで開発ってこんなに手間がかかるんだー」みたいなものでした。


さすがにこれではいかんだろと思っていた矢先に出会ったのがちょうどそのころ台頭していたGitで、
「お、これは!」と思い実際に取り入れて、操作を学んで、こうすればできますと開発メンバに言ってみたけれども
結局やっていたのは自分だけで、あとのみんなはちょっとやってすぐまた元に戻ってしまいました。


これはちょっと苦い思い出。


やり方とかすげえ伝えたのだけれど。

Ruby

ちょっと暇になったときがあったので、社内の案件管理システムが超やばい感じだったのを何とかしようと考えて
許可とって、ひとりで作り直すことにした時がありました。


「まー言っても社内だし?、なんか新しいことやってみようぜ」とひとりで勝手にテンション上げて、
宝石つながりのRubyで作ることにしました。


最終的に、Sinatra + Sequel(とあとbootstrap)で作りました。


が、Sinatraの枠に終始おろおろしながら作ったので、Rubyの仕様自体をあまり掴めませんでした。
(「なんか@つけたらView側で使えるようになる」って覚えてました)


ただこの「新しいことをやってみる」というか、一種の保険というか、実績作りが功を奏して
次の客先常駐案件(Ruby)につなげることができたので
やっておいて良かったなーとちょっと嬉しいです。

うーん

退職手続きをしに行ったときに、後輩にいまどんな感じで開発しているのか聞いたら
相変わらずの「.xxxx.bak」とグローバルスコープとでやってるみたいだったので、「あー」と残念な感じになりました。


特に、テストコードがないというのが、いまの自分から見て、すごく恐ろしく思えました。
「下手くそでも、テストコードはないよりあった方が断然マシ」という言葉が初めて分かった気がしました。
まあなんというかその、頑張ってください。

まとめ的ななにか

自分もいつかは退職エントリ書くのかなーと思ってはいましたが、割とすぐにやってきてしまいました。


というわけで現在就職活動中ですが
年末年始はScalaでも勉強しようかなと思っている今日この頃です。