雨です。。。

今日から京都は雨です。

なんか久々にちゃんと降ってるんちゃうかな?

でもあんまり雨って好きじゃないのよね。
蒸し暑くなるし、スーツが濡れるし、洗濯物も乾かんし

まぁ、天気に文句を言ってもしかたないんで、雨の日も楽しみましょ。


そんなこんなで、今日は久々にコーディングしました。
ちゃんと(そんなちゃんとしてないけど)したのは、数ヶ月振りぐらいちゃうかな?

しかも、久々にJavaScriptを触りました。

よくalert()ってして、コードの確認とかするんやけど、それがassert()って書いてて、何で動かないのか数十分真剣に悩んでました。。。

ユニットテストのコードと完全に混がらがってましたね。


でも、これって意外と重要なことですよね。
alert()とassert()を間違えたことではないですよ!!

自分がバグと思っていないところにバグがあるということです。
本人がバグだと思わなかったらそれはバグではないことになります。
(これは完全に動いてなかったけど・・・)

そうした先入観を持って開発したり、テストしてたりしたら、さらにそれが同じ人だったら危ないですよね?

よく「レビューを強化する」とか「チェックシート」を作成するとか言いますけど、それをしたからって根本的な解決にはなってないような気がします。

アジャイルなんかでペアプロとかあるけど、あれって実はメチャメチャ大事なことなんじゃないかなって思います。
実際にコードを複数人で見たり、触ったりするから一人でやるより確実にバグが見つかります。
しかも、レビューやチェックシートに比べて効果的ですし、何より知識の共有化が行われるのがすばらしい!!

こういうのって「リーナスの法則」とか言われたりするけど、オープンソースの品質が高いのは、こういうことがあるからなのかなと感じます。

ただ、絶対的な根拠はないし、ちゃんとしたっていうエビデンスもないから組織としては管理しにくいんだと思います。
それに、複数人でやるから時間の無駄だったり、それぞれのスケジュールが合わなかったりと運用が難しい面があるかもしれません。
現場レベルで嫌われたりもしますよね。

大事だとは思うけど、導入するにはハードルが高いし、反対意見も少なくない。このことだけではないけど、組織のプロセスを変えるのは簡単なことではないです。

自分もこの手のことについては、いろいろと苦労してきました。
そして、何も変えることはできませんでした(爆)

でも、
現場を良くしたいですよね?
イイものをお客さんに提供したいですよね?
そして、みんなが笑顔で仕事ができるようにしたいですよね?
もちろんお客さんも含めて!!

僕はそう思ってます。

人は簡単には分かり合えないし、理解し合えない、変えられることに抵抗してしまう生き物です。
でもそれでも僕は伝えたいです・・・

第2弾!!!

一日空いてしまったけど、第2弾ブログです。

ゴールデンウィークが終わって、仕事が始まりましたね。
昨日と今日は会議やらなんやらで本格的に仕事はしてないんで、気持ち的には来週からちゃんと仕事を始めたいと思ってます(笑)

今日は何を書こうかなと思っていたけど、自分のプログラマ人生についてちょこっと書きたいと思います。

プログラムを真剣に始めたのは今から6年前の大学4回生の研究室に入った時でした。
それより前に大学の授業でプログラミングの講義はあったんですけど、自分でコードを書いたことはほとんどないです。

他人のコードをコピペです。人生18年目にして「Ctr+C」と「Ctr+V」の技術を完璧に身に付けました(笑)

そんな大学生活やったんで、研究室に入りたての時はブラインドタッチもできなくて、メチャメチャ思いっきり、目から血が出るほど(出してなせんが。。)苦労しました。

じゃあ、何でそんな人間がプログラムをする研究室に入ったかというと、就職先がIT業界やったんです。
自分は負けず嫌いな性格なんで、情報系の学部を卒業した人間と同時に入社して負けるのが嫌だったんで、学生のうちにプログラミング技術ぐらいは身に付けておこうと思ってこの研究室に入りました。
それで、一年ぐらいかけてコードが書けるようになって今の会社に入社しました。

それもあり、入社後は特に苦労することなく業務ができてちょっと天狗状態でした(笑)

ちょうど入社して2年半ぐらい経ったときです。
あるソースコードに出会いました。
(今は何のコードだったかは覚えていませんが、ウチの会社で作ってるコードでは間違いなく違いました。)

そのコードを見たんですけど、その時の自分にはまったく理解できませんでした。
その時はちょうど天狗状態だったんで、このコードを書いた人がきっと変な人でこれは特殊なコードなんだなと思いました。

ですけど、それから出会うコードのほとんどが同じような作りでできていたのです。
ですから、これは自分のコードが特殊でこのコードが一般的な記述なんだなと思い始めて、天狗状態の自分を改める気持ちが生まれだしました。

「このコーディング技術を身に付けなくては!!」
「この技術を身に付けないと自分のプログラマ人生が終わるのではないか?」

と思いました。

なんで、この技術を何とか身に付けようと勉強を始めました。
ですけど、見たこともないコードで使っている技術がなんていうのかわからないんで、ググろうにも単語が思いつきません。本を買おうにも何を買っていいのか分かりません。
この技術を身に付けるのは簡単ではないんだなと痛感しました。

そういう風に思う日が何日も何ヶ月も経った時に、「デザインパターン」とか「DI(Dependency Injection)」とか「メタプログラミング」っていう単語が見つかってきて、それについて勉強するようになりました。

たぶんその技術を身に付けるのに2年ぐらいかかったかと思います。今でも完璧に身に付けているかと言われると不安なところはありますけど、それぐらいハードルの高い技術なんです!!自分がそんなに頭が良くないっていうところもあるかと思います。

今年で6年目となるサラリーマンプログラマですけど、コードについての勉強は常に行ってます。自分がプログラマになって一番力を入れてきた分野なんで、これだけは誰にも負けたくありません。
技術は負けても気持ちは負けたくりません!!
なんで、ビューティフルコードとかコードの素晴しさをアピールする人は大好きです。
「尊敬するプログラマは?」って聞かれると間違いなく
まつもとゆきひろさんです!!」って答えます。

少し脱線しましたね。。。

話を元に戻すと、自分は負けず嫌いな性格とコードの面白さと素晴しさに見せられたプログラマってことです。

ホントにプログラミングは面白い!!

IT業界においてプログラマって唯一「ものづくり」をしてる職種じゃないですか?
そのプログラマである自分をホントに誇りに思います。


ですけど、4月から部署移動して、コーディングをする「開発」というよりは、未来に向けて調査や企画をする「技術」系な仕事に変わりました。
ものすごく残念なことに、一ヶ月ぐらい真剣にコーディングしてません・・・
プログラマって言うのに少し抵抗があります。

でも思うんです!!

今までとこれからの長いプログラマ人生で今はほんの少し違う仕事をお手伝いしているだけなんだと!!
自分はいつでもプログラマですし、目指しているのはビューティフルコードです。

もっと勉強して
もっと、もっと、コードを書いて
もっと、もっと、もっとプログラムを作って

そして、自分の作ったプログラムで人を笑顔にしたい!!!

って。


ってのが、自分のプログラマ人生です。

長くなってすいません。。。

今日からオレは

とういうことで、今日からブログを書きはじめたいと思います。

前々から、書こうとは思っていたんですけど、何かと思い切りがつかず書けずにいました。
でも、ゴールデンウィーク最終日というきりのイイ(?)この日からはじめたいと思います。

プログラマたるもの自分の知識と無知をさらけ出すべきだ!!」
といういろいろな尊敬すべき先輩プログラマからの教え(書籍とかインターネットですけど。。)もありブログをはじめさせていただきます。

はじめるに当たってどのサービスがイイかなと思っていろいろと考えたんですけど、Hatenaさんに決めさせていただきました。

理由は、

①同じ京都であること(オフィスから一駅、徒歩10分程度)
②大規模サービス技術入門(WEB+DB PRESS plusシリーズ)を読んで一方的な親近感を覚えたこと
スマートフォンで閲覧可能

とかいろいろです。

あと、ブログの題名は尊敬するプログラマ まつもとゆきひろさんが何かの記事の最後に「Happy Hacking!!」と書いていて、それをちょこっと拝借して使いました。

これから、プログラムのこととか学んだ技術とか日ごろの声に出せないけど言いたいことを書いていきます。

読んでいただけて、さらにコメントとかいただければ幸いです。

どうぞ宜しくお願いいたします。