2009年02月26日

エンジニア的、歳をとったと思う瞬間

私の「心」はまだ25歳くらいです。見た目もまだ20代中盤で通ってます。実年齢は……まぁ、なんだ、あれだ、忘れた。

そういう年代の人間的に、ジェネレーションギャップを感じてしまったことを挙げてみた。


1. Windows95系の話題が通じなかった時。
昔のパソコンは1日中使ってたら2〜3回は平気で固まってたよねと言っても通じなかった時に思いました。昔はExplorerが落ちたら死亡確定だったんだぜ。IE固まってExplorer巻き添えで即死亡とかあったんだぜ、と。

2. MIDIを知らない人に会った時
WEBで音楽配布と言えばMIDIだと思っていたのだけど、MP3しか知らない後輩がいた。昔は市販のゲーム音楽とかだってMIDIだったのに。

3. ロータス123を知らない人に会った時
まだソースネクストで現役でしたっけ。自分がパソコン始めた頃は、一太郎とロータスが入ったヤツ使ってました。

4. 漢字Talkと言ったら「なにそれ」と言われた時
Mac使ってる人だったのだけど。子供の頃はMacとかMSXとかが家に居た気がするけど、あまり使いこなせなかった。文章はもっぱら書院で打っていた。

5. MSブラスターを知らない人に会った時
あれが出回っていた頃に、まだパソコンを持っていなかった人に会いました。もう何年も前なのか。再インストール→Windowsアップデートしてる間に感染して涙目とかありました。

6. ダイヤルアップを知らない人に会った時
インターネットはLANを差せば接続できるものなんだそうです。ジジジジ……ジジジジ……ウィーンウィウィーン……ティーーポロロロロローみたいな音出すとか言っても全然通じなかった。頑張ってモノマネしたのに。

7. テレホーダイを知らない人に会った時
23時からが俺の時間だったとかいう青春時代(灰色)の話をしても、通じなかったことがあった。間違った電話番号登録してて月4万円の請求が来て泣いたのも若き日(灰色)の良い思い出。

8. CRTディスプレイを昔のテレビみたいと言ってる人を見た時
ほんの数年前まではまだCRTの方が多かった気がするのだけど最近では珍しい部類に入るものになったのかもしれない。昔、21インチのCRTを買って、重くて1人で机に載せられなかった記憶があります。

9. ポケベルを知らない世代に会った時
割と短命の子だったから仕方ないかと思いました。そういえば学生時代(灰色)にポケベルで会話している人たちとか見かけたな。あれはある種の暗号化通信?

10. ボールマウスの掃除をしたことがない人に会った時
この前、マウスの掃除の仕方を知らない人がいたので説明をした。最近は光学式が主流だからかなと思いました。ボールと接して回るところにいっぱい溜まった埃を取るのがマウスの醍醐味だと思っていた時期もありました。
posted by MW at 01:04| Comment(11) | TrackBack(2) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2009年02月22日

2兆円でやりたいこと

通勤中に書いたヤツその2.ふと、2兆円使って好きに予算配分して良いと言われたら何をするかと考えてみた。


1. スパム業者対策
世界のビジネスに著しい被害を与えてるという噂もあるスパムメールへの対策モデルの立案と実践をして各国からモデルケースとして参照されるようになる。有名スパム業者やボットを、王手ISPがこまめにフィルタリングするとか、後は国内業者摘発に懸賞金かけるとか。

2. ギガビットの通信網の整備
インフラはあればあったに越したことはないので。

3. IPv6化
日本の省庁が率先してIPv6化を行い、フィードバックを公開する。省庁主導でやると無駄に金使いそうなき気もするけど我慢。

4. 特定資格に対する給付金
TOEIC、情報処理、簿記等の社会や経済に対する貢献が期待できる資格を年度内に取得した者に給付金を出す。1万2千円くらい。学生やフリーター層に資格ブームが発生し、関連書籍やスクールの売上増加による経済効果と、同時に若年層の学力向上に繋げる。

5. 次世代記憶媒体の研究
この前、雑誌読んでたらナノギャップスイッチとか見かけて面白かった。あれが使いものになるかどうかは別として、次世代記憶媒体の先進国になれたら一時的に経済は潤いそう。

6. オープンソースへの支援
日本でやっているそれなりに良いオープンソースソフトウェアに対して、サーバ等の運営費を一部サポートする。また、芽が出そうなソフトウェアに対しても運営費を支給し、中心人物がそれだけにかかりきりになれる状態を作れるようサポートする。

7. 公衆インターネット網の整備
無線でのインターネット接続網を整備し、日本全国どこでも屋外で接続できるように。インフラはあるに越(以下略

8. アトムを作る
CPUじゃなくて、10万馬力の方。2兆円の予算があってホンダとかソニーの人を連れてきてやらせれば、できるんじゃないだろうか、と勝手に想像した。ロボット技術に予算を使う分には日本人は怒らない、と勝手に思っている。

9. キメラを作る
日本人はクローンとかバイオテクノロジーに対して、比較的寛容なイメージがあるので、宗教的倫理感のせいで手を出せない国に先駆けてやってみて、国際的に批判されてみる。

10. 官製お見合い機関作成
結婚率の上昇を目指して、お見合いを斡旋し、ジャストフィットなマッチングシステムで理想の結婚相手を紹介する官製機関を作る。あー、自分もそろそろ考えないといけない歳になってきたので……
posted by MW at 23:54| Comment(0) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2009年01月21日

JAVAの良いとこと悪いとこを挙げてみた

なんとなくJavaの良いとこ悪いとこを書いてみた。交互に5個ずつで10個。割と普通のことしか書けなかった。

Javaさんは嫌いではないです。むしろけっこう好きです。そこそこに気の合う同僚くらいの間柄です。でも、萌えたり愛したり夜明けのコーヒーを一緒に飲んだりするところまでは至ってません。ちょっと堅いところがあるから、そこまで踏み込めないのかもしれません。


長所1. 絶対に被らない名前空間
パッケージ名にドメイン名を使う風習が根付いているので、その辺から落としてきたライブラリと自前のライブラリの名前が被ってげんなりすることがありません。Javascriptとかだと被りまくるよね。PHPもけっこう被った記憶がある。Pythonはこの2つに比べると被らない方か。

短所1. コードが長くなる
例えば別クラスの関数を使う時に、クラス名.関数名みたいに書かないといけないとか(static importはJavaっぽくないから使わない)、2〜3行の軽い処理をさせたいだけの時でも、クラス作ってその中にmain関数を書かないといけないとか、2で挙げる型の問題とかで、他の言語よりもコード量が増えやすい。

長所2. 信頼できるboolean
例えば空文字を評価した場合、結果はtrueでしょうか、falseでしょうかと言われると、言語によってマチマチだったりしますが、Javaさんはこの点が非常に明快。falseはboolean型であり、0も-1もnullも空文字も、falseとして扱われることはない。この点は、PHPとかのソースでよくバグの原因になってるのを見かけるので、良いことかなと。

短所2. 型キャストが面倒
暗黙のキャストを利用して、数値型を文字列に変換する時に「String.valueOf(num)」とか堅苦しいこと書かないといけない。数値変換する時は、こまめにException吐いてくれたりもする。Commons使えばそれなりに楽になるけど、暗黙変換が欲しくなる人には向かない。

長所3. Run Anywhere
ローカルのWindowsのTomcat上で開発したソースが、Linuxのサーバでもほぼそのまま動くって偉い。ファイル操作とか文字コードに依存するとこは動かないこともあるけど、それでも同じソースがそれなりに動くのはありがたい。

短所3. VMの起動が重い
簡単なアプリケーションでも動かす為にはVM立ち上げないといけないので、無駄に重い感じを醸し出したりする。メモリの設定をちゃんとしておかないと、ほんの僅かなコードで平気で128MBくらい占有しようとすることも。

長所4. 信頼性のあがってきたガベージコレクション
Javaさんも良い歳になってきたので、ガベージコレクション周りもそれなりに信頼して良くなってきたような気がする。効率良くヒープメモリを使うので、メモリ周りの処理性能はけっこう良いという噂を聞いたことも。

短所4. フルガベージコレクションの頻発は勘弁
メモリの使用量が膨らんでいくと、フルガベージコレクションを頻発してあたかもフリーズしたかのような状況を作り出してくれる。あれ、もう少しさっぱりした動きになってくれないかなぁ。

長所5. 豊富なライブラリ
ライブラリの作りやすさと使いやすさには、定評があるような気がする。JavaDocという共通の自動生成ドキュメントの存在と、1で上げた名前空間の厳密さのお陰だろうか。あと、jarファイルでもJadがあればそのままソースが云々。

短所5. 豊富じゃない使い道
現状、サーバサイドではそれなりに勝ち組だけど、デスクトップのプログラムでは明らかに勝ててない。業務用以外で使われてるのを見かけるシーンがもう少し多くなれば良いなぁと思う。
posted by MW at 00:29| Comment(2) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2009年01月16日

よく使うjakarta commonsの機能を10個

普段使っているCommonsの機能を思いつきで挙げてみた。CommonsはJavaのコードを短くしてくれるから好きです。


1. StringUtils.isBlank, isNotBlank
知名度は一番高そう。「str =! null && str.trim() != ""」みたいな表現をあっさり系に書ける。お友達のisEmptyもけっこう使う。メソッド名としてそれぞれNotが存在するのが「!StringUtils.isBlank(str)」より読みやすくて良いと思う。

2. CollectionUtils.isEmpty
引数で渡されたCollectionがnullかサイズが0ならtrueを返す。list != null && list.size() == 0 とかしなくて良い。StringUtils.isBlankと同じくらい使われても良さそうなんだけど、微妙に使われていない気がする。

3. IOUtils.closeQuietry
closeすること林の如しと一部のプログラマからささやかれているかもしれない一品。わざわざfinallyの中で「close」と「try,catch」を書くあの微妙な記述を無くせる。finally{ IOUtils.closeQuietly(stream); }みたいな感じ。

4. StringUtils.right
指定した文字列の右から指定文字数分だけ返す。nullチェックも、lengthチェックも勝手にやってくれる、ありがたい子。友達の「mid」と「left」も便利。

5. NumberUtils.toInt
文字列をintに変換してくれる。中でperseIntして、例外が起きたらデフォルト値を返してくれる気の利いた子。toLongやtoFloat、toDoubleもいる。

6. ReflectionToStringBuilder.toString
langの中にひっそりと入ってる、ありがたい子。Beanの中身をSystem.out.printlnとかで出力したい時に、一行であっさりとそれっぽい文字列に変換することができる。主にdebugログの出力の時に使う。デバッグ以外の用途で使われている姿はあまり見かけない気がするけど、ドンマイ。

7. BeanUtils.copyProperties
同じ変数名のパラメータを、別のBeanにコピーする。設計を間違うと何かとバグやボトルネックの元になりやすいけど、使いどころさえ間違えなければ便利。DBとHTMLのパラメータ名を対応させるような処理とかなら、綺麗に利用できた気がする。

8. IOUtils.copy
Java.io.Fileにはコピーがなかった気がする。この子を使えば、数行でコピーできる。

9. FilenameUtils
どのメソッドが一番とも言いづらいので、クラスごとエントリー。ファイルのパスとか、拡張子とか、拡張子を除いたファイル名とか、ディレクトリ名とか、ファイルパスの一部をさらっと取りたいなぁと思った時に、あっさり願いを叶えてくれます。

10. StopWatch
langのJavaDocに目を通していて、ふと名前に釣られて手を出してしまったのは私だけではないはずだ。suspendしたのをresumeできるとか、それなりに心地よい使い勝手。実行時間計測にたまに使う。
posted by MW at 00:48| Comment(0) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2009年01月08日

WEBプログラマ向け、10個の禁止事項

WEBプログラマ向け、10個の禁止事項

今年はこれをやらないように注意しようと思ったことを10個書いてみた。1, 5は気をつけたい。10は……私には無理だ。


1. 車輪の再発明禁止
commonsやCPANに同様の機能があることに気づかずに、自前で実装したりしない。後で全く同じ機能が存在することに気づいてショックを受けたりしない。必ず一度同じような機能が落ちてないか確認する。

2. 言語的冒険禁止
PHPで組んでと言われた時に「Pythonにしましょうよ」とかわがまま言わない。「それがダメならRalsで」とも言わない。Perlでやるべきことを「シェルで挑戦してみた」とかも言わない。

3. 死ぬほど働くの禁止
栄養ドリンクがないと乗り切れないような生活を1年中続けたりしない。適度に息を抜いたりサボったりする。2ヶ月以上連続して張り詰めるとヤバイらしいから気をつける。

4. 新人に優しくないソース禁止
WEB系の職場は、ビット演算や排他的論理和を使うと一部の人から「読めない」とクレームが出る世界らしい。遺憾ながら控える。Windowsプログラミングでよく使う、数値の32ビットそれぞれに意味を与えてAND演算で判定するのも通じないから駄目らしい。恐ろしい世界だけど、それに慣れる。

5. 英語苦手意識禁止
調べごとをする時に日本語のページばかり読まない。時間に余裕がある時は英語のサイトを優先的に読む。英語力はしばらくサボるとすぐ落ちるから気をつける。英語に触れやすいように、Googleの検索パラメータのjaなところをenにしておく。

6. リファクタリングのやり過ぎ禁止
ちょっと実装が早めに終わって時間が余った時に、リファクタリングを始めたらつい楽しくなってしまって、気が付いたらスケジュールに遅れが出ていたとか厳禁。適度なところで我慢する。

7. 寝不足禁止
睡眠不足の時に、ポメラと戯れたり、ブログを更新したり、いらんプログラムを組んだりして無為に時間を使わない。さっさと寝る。

8. Firefoxベースで考えるの禁止
Firefoxだけで表示確認をして終わった気にならない。どれだけ嫌いでも、どれだけ憎くても、ちゃんとIEで見る。Chromeで見てSafariを確認した気になるのは……まぁ、JavaScriptをゴリゴリしてなければ、いいか。

9. 調べごとに没頭し過ぎるの禁止
それほど優先順位が高くない調査事項と相対した時に、調べ始めたらハマってしまって必要以上に時間をかけすぎるのは禁止。どうせハマるなら優先度の高いことにハマること。でも、調べもせずにすぐに諦めるのはもっと禁止。

10. 仕事中のネットサーフ禁止
仕事中に仕事と関係ないニュースサイトを見るの禁止。朝、仕事をする気が起きなくてネットサーフしていたらいつの間にか昼休みになっていたとか厳禁。この項目を見て「これを禁止するのは私には無理だ」とか思うの禁止。
posted by MW at 01:44| Comment(0) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2009年01月04日

2009年妄想ITニュース予想

さーて、明日から2009年度の業務が始まりやがります。自宅作業の日々も終わり、ニンゲンとメール以外でコミュニケーションしないという薔薇色の期間も終わりました。いや、人と話すのはけっこう好きなんですけどね。誰にも邪魔されずにプログラムと語らう時間も捨てがたい。

今日は割とのんびり過ごしていたので、暇に任せて2009年度のニュース予想とかを10個ひねり出してみました。予想というか、半ば願望ですが、こんな感じになりました。


1. IE8のシェアが40%超
IE8 40%、IE7 10%、IE6 10% → 60%
Firefox 30%、Safari 7%、Opera 2%、Chrome 1% → 40%
というシェアになってれば、開発が少しは楽になりそうだなぁ、と。ええ、ただの願望ですよ。そう簡単に入れ替わるとは思っちゃいませんよ。

2. ポメラVersion2.0発売
これはきっと来るでしょう。どんな風になって来るかは分かりませんが、1個目がそれなりに売れているみたいだし。個人的には、漢字変換機能の向上、電源のON時間の体感速度短縮。この2つくらいでいいかなと。もしくは新機軸として、ブラウジングのみに特化したものを作るとか。これはキングジム以外のメーカーから出そうですが。WEBメールがあればメーラーはいらないので、ブラウザ(たぶんOperaのモバイル用)とテキストエディタだけが入った感じの子。これがエネループで15時間動作してくれれば買います。無理?

3. UMPC(Netbook)でも軽快動作、Windows7発売
Windows7はシンプルモードなUIの選択すれば、最底辺のノートPC(メモリ512MB)でも軽快動作する。一部のユーザーはヘビーなパソコンでシンプルなUIを使用して、高速動作を実感。みたいなことが話題になると妄想してみる。あくまでも妄想である。どこかのWindows7関連のニュースで、UMPC対応するみたいな話を見た気がするけど、イエス、あまり信じてないぜっ。

4. Microsoft Office製品を大幅値下げ
ExcelとCalcを比べたらExcelの方が使いやすいです。が、そこに横たわる価格の差を乗り越えてまで手を伸ばすかと言われると、それは無いです。起業も一部でOpenOfficeに移行しつつあるようだし、危機感を持ったMSが大幅値下げしてくれたら良いなぁと。

5. 2009年のIT投資は横ばい
世界的な不況を受けて大幅に減退するかと思われたITへの企業の投資だが、2009年5月頃から持ち直し最終的には2008年度比でほぼ横ばいとなった……くらいで勘弁してはもらえないでしょうか。お願いします、お願いします。

6. 256GBのSSD(推定寿命30年)が9980円
これくらいまで来てくれればいいなぁと、マウスPCの\39,800くらいのモデルに64GBモデルが搭載される感じになったらとりあえず買います。寿命の詳細情報はまだイマイチ掴めてないけど、意外と長いという噂もちらほら。どうなんだろう。

7. 企業にUbuntu使用の波
もちろん、本当にそんな波が来るなんてこれっぱかしも思っちゃいません。いや、途上国ではけっこうあると思うけど。でも、仕事で事務作業をするだけなら、Ubuntu + Open Office + Firefox + ThunderBirdの4つがあれば、8割方こと足りるのではないかとは思っています。たまに不都合なことはあるだろうけど、まぁ、その辺は使ってるうちになんとかなるさ。え、教育コスト?うーん……

8. 首都圏で進む携帯離れ
ブラウザとメーラー(+自動バイブレーション通知)機能を備え、ボイスチャット機能での通話も可能なモバイル端末が流行する。それによって、一部の若者の間に携帯離れが進むと思ってる。モバイル端末の未来は明るいけど、携帯電話自体の未来は下り坂なんじゃないだろうか。

9. クマのアスキーアートが眩しいKuma搭載PCがプチヒット
AMDがKumaという名前のCPUを出したので、それに便乗した商売をしたら意外と当たったみたいな話が一部で起きるんじゃないかと予想。一部のデイトレーダーが縁起物として購入するのが流行れば、ありえなくはないかな、と。トレーダーにとってクマは親しみ深い相手です。

10. MW、2冊目の本を発刊
する予定は一切ありません。まったく残念な限りです。文学系で、今、2個目の短編を書いてるところです。1個目はあっさり没になり闇に埋もれました。知り合いの文学好きの人たちからは、「文章はうまい」という評価と同時に「綺麗に書こうとする態度が鼻につく」とか「だから何、という内容」といった高い評価を頂いています。未来は明るいです。
posted by MW at 23:11| Comment(2) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2008年12月23日

プログラム愛情度を測定する10の質問

また10個ネタ。これで愛情がホントに測れるかと聞かれたら、男らしく測れませんと答えよう。

あー、通勤中に暇だったので……


1. ソースを書いている時に、ふと笑みがこぼれる(もしくは声を出して笑いだしてしまう)ことがある
コーディングしてると、こう、脳内物質が湧いてるのか知らないけど、ちょっと嬉しくなったり楽しくなったりして、笑顔になるみたいな。

2. ソースを読んでいる時に心打たれる(もしくは涙溢れる)ことがある
あるセンテンスを見て、こういう書き方があったかとか思った時とか、ある言語を学んでる時に、こんなこと出来るんだと思った時に、胸にズーンと来る感じ。

3. 好きな言語(もしくは素直に好きと言えない言語)が2つ以上ある
自分の場合はPythonとJAVAっすかね。C++も捨てがたい。ENDって書かなくて良くて、変数に$付けなくて良くて、名前空間がはっきりした言語が好きかも。Javascriptは嫌いです。

4. 家に帰ってから睡眠時間を削ってプログラムを組むことがある
仕事で十二分にプログラムを書き殴り尽くしてきたのに、なぜか家に帰るとパソコンに電源を入れ、開発環境を立ち上げてしまう感じ。ある意味、病気だよね。

5. プログラムを作っていると時間(もしくは食事)を忘れてしまうことある
日曜の朝、軽い気持ちでパソコンに向かってプログラミングを始めたら気分がのってきて、気がついたら夜だったみたいな。

6. 乱れたソースを見ると心が乱れる
その場しのぎの条件分岐がバラ巻かれてたり、インデントが酷かったり、意味のない記述が散見されたりするソースと向き合うと、精神的に不安定になったり、無性に腹が立ってきたりする感じ。

7. 言語の作り手(もしくは言語の精)と語り合っているような気持ちになったことがある
ある処理を記述しようとした時に、この言語の作り手は、この手の処理はきっとこう実装することを想定して設計したんだろうなぁとか考えているうちに、作り主と使い手の間に意志疎通が生まれたような錯覚が起きる感じ。その意識が成長すると言語の精になる。トリッキーな書き方をすると言語の精に「ひでー書き方だな。親父さん(たぶんゴスリンあたり)が泣いてるぜ」とか言って怒られたりする。ところで、言語の精って口悪くないっすか?

8. 未経験の言語を使うのが好き
使ったことのない言語を家で試してみたくなったり、仕事場に未経験言語の仕事が転がっていると、思わずその仕事くれと挙手してしまう感じ。この時、他の人が使ってないマイナーな言語の方が燃えたり萌えたりしやすい。

9. ハックしやすい言語が好き
奥の方まで手が出しやすい言語(C++とかPythonとか)を使っていると楽しいけど、何かと裏側に手が出しづらい言語(PHPは出しづらい気がする)を使っていると、ちょっと不自由に感じたりするような。でも、その不器用さがまたかわいいと思ってしまうことも。

10. 世界の中心でプログラムが好きだと叫べる
なんかの都合でエアーズロックとかに行った時に、「プログラムが好きだー」みたいな言葉を叫びたい気持ちが湧くかと聞かれたら、「うーん、その時のテンションによっては湧くかも」と思えるかどうかみたいな。自分は……うーん、さすがに無理かな。
posted by MW at 23:50| Comment(1) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2008年12月14日

プログラムが遅い人の10の特徴

反面教師も良い教師ということで、これまで仕事してきて、これやったら仕事遅くなるよなぁと思うような行動を取ってしまった実体験とか、あと見ていてこれはイカンよなぁと思ったことを10個ほど。


1. フリーズする
難題が持ち上がった時に、特に何かを調べるでもなく、首を捻りながら長時間沈思黙考するタイプ。頭だけで考えていてもたいてい前には進まないので、長考する仕草を取るのは「眠いのを誤魔化したい時」だけに限定した方が良いかなぁと思ってます。

2. 質問をためらう
技術的な内容なら自分で調べた方が為になることはあるけど、仕様などの聞かないと分からないことについてまで、なぜかためらってなかなか質問に行かないタイプ。相手が多忙だと質問しづらいけど、行かないと作業が止まるような時は遠慮なく相手に犠牲になってもらうが吉です。

3. Googleから答えにたどり着けない
同じことを調べているのに2倍以上時間がかかったり、たどり着けなかったりするタイプ。検索力ってどうやって養うものなんだろう。経験かな。

4. 分かってないのに分かったと言う
作業内容の説明を受けた時や、質問の回答をもらった時に、それを受けて自分が何をすればいいか分かっていない段階で「分かった」と答えてしまうタイプ。そして席に戻った後に、自分が何をすればいいか悩んだりする。

5. インデントがバラバラ
インデントしないでプログラムを組むのは、理稗しないで麻雀をするのと同じくらい難易度が高いと思うのだけど、なぜかインデントを整える手間を惜しんで崩れたまま突き進むタイプ。13稗だけ見れば良い麻雀よりさらに見るべき内容が多いソースに対して挑む姿は、チャレンジャーと呼ぶべきものなのかもしれない。

6. 長時間残業した翌日休む
進捗が遅れている時に体力以上に無理をしてダウンし、週単位で見ると定時まで働いたのとさして変わらない労働時間しか働いていなかったりするタイプ。修羅場の時ほど最後の一線は越えないように気を付けないと。

7. 知らない言語は読めない
これまで勉強したことがない言語のソースを見た時に、ググればすぐに意味が取れそうなものなのに、早々に「分からない」という結論に至ってしまうタイプ。アセンブラとかPrologとかHaskelとか見せられた場合は仕方ないかもしれないけど。あと、なでしこを見せられてそれがプログラミング言語であることに一瞬気づかなかったとかいうのも仕方ないかもしれないけど。

8. 勘が悪い
バグ報告を受けた時に、まったく見当違いの箇所を調査し始めるタイプ。たまに誰から見ても予想外なバグというのもありますが。みんなで「そこだったのかっ」と感嘆するようなバグとか。

9. 効果の薄いことにこだわる
雑誌で見たとか人から聞いたことを、理解しきらない状態で鵜呑みにしてしまったが為に、勘所をはずした部分に妙に時間をかけてしまうタイプ。なぜそのダイエット法をすれば痩せるかを認識せずに実践するような不毛なことはやめましょう。

10. プログラムが好きじゃない
プログラムやパソコンを好きじゃないと公言しているタイプ。好きこそものの上手なれじゃないけど、嫌っていると上達しづらい気がする。誰かのようにJavascriptってツンデレだよねとか、この前夜遅くにコーディングしてたらPythonの精が出てきてさとか発言するようになるのもどうかと思うけど。
posted by MW at 16:33| Comment(27) | TrackBack(2) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2008年12月06日

プログラマが個人事業主になる10のメリット

再度10個シリーズ。前に似たようなこと書いた気もする。あと、個人事業主はメリットもあるけどデメリットもあるので、「個人でやるのがオススメです」みたいな感じのことではありません。自分のような崖っぷち症候群には良いポジションですが。


1. 勉強する気になる
契約取れないと飢え死にするので、知らない言語だけど割がいい話とかが来たら積極的に勉強するようになるし、1回契約したら延長できるように他の人より2割増しくらい頑張れます。たぶん。

2. 収入が上がる
リスクが増える分、取り分も大きくなります。手取りだとだいたい1.5〜2.5倍くらいになります。ただ、社会保険とか厚生年金のことを考えると、見た目ほど割りは良くないです。

3. 経費が計上できる
懇親会とか根回しで使った飲み代とか、遅くまで働いた時のタクシー代とか「会社が出してくれよ」と社員の人たちが心の中で思っているような支出を経費で計上できます。そういう活動を多くしている人は、課税所得は低くなると思います。

4. 会社の愚痴を言わなくて良くなる
技術者の7割くらいは自社の愚痴を言ってる気がします。ある程度の規模の会社になると、会社の方針のブレに個人が振り回されることっていうのはあるもので、自分はそういう時に不満を持ったことがあった気がします。ですが、個人事業主になればもう自社の愚痴を言う必要はありません。会社=自分なので。

5. 副業し放題
副業という言い方は御幣がありますが、この場合、メインで注力している仕事の他にサブの仕事を持って意味で。社則もないし、作業時間を決められた常駐の請負でも土日は拘束されないので、副業はし放題です。労働基準法もないので、毎日休みなく仕事でプログラムを組めます。この状態をパラダイスだと思うか地獄だと思うかは分かりません。「社員だけどその状態です」とか言われると返す言葉もありません。

6. 合コンでの反応が良い
「個人事業主」という言葉よりは「独立して」という言葉の方がウケが良い気がしてます。合コンだけでなく、人と知り合った際に「独立」という言葉を使うと、反応とか興味が返ってくることが多いようです。まぁ、少数派だから。

7. 長期休暇が取りやすい
働き過ぎて魂抜けた感じになった時に、割と楽に長期休暇が取れます。営業活動しなきゃ、そのうち仕事はパッタリ途絶えるので。但し休暇中は無給なので資金が許す限りという制約はあります。そういえばフリーになってからずっと長期休暇なんて取ってないや。来年は半年くらい休みたい。。。

8. いろんな仕事ができる
会社勤めだとその時点で一番稼げる案件に回されたり1つの案件に長期間囚われることが多いけど、個人なら安い金額の仕事でも自分の意思で選ぶことができます。1つの会社でプロパーとしてやってるより、いろんなとこ回っていろんなシステムといろんな人に触れた方が勉強になる気がしてます。特に「人」からどれだけ吸収するかが大きいと思う。

9. コスト意識が持てる
会社からコスト意識を持てと言われることがたまにあると思いますが、個人でやってる方がその辺りの意識は格段に上がります。他人の財布を意識するのは難しいけど、自分の財布を意識するのは自然に出来ることなので。

10. 将来が安泰じゃない
これがメリットだと思える人は、今すぐ会社を辞めて事業主になりましょう。焼かれたいんです。短い人生だから。
posted by MW at 23:43| Comment(0) | TrackBack(1) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

2008年11月30日

プログラミングが速くなる10の方法

先日、自分が知ってる疲労の対応方法をいくつか書いた。流れに乗ってスピーディにプログラムを書く為にやってる方法も挙げてみる。割と当たり前のことばっかかもしれないけど。

1. 速読を覚える
何やるにしても速読は役に立つかなと思ってます。仕様書も人の半分の時間で目を通せるし、ソースの広い読みも出来るし、あと普通に他人のソースを読む時に、人の3倍速くらいで読めるようになります。調べごとをする時に、ヒットしたページから必要な情報取り出すのも楽になります。

2. 速聴も覚える
速聴は論理的な文字列を頭の中で作り出す時の脳内演算速度が上がります。こっちはあまり本格的にやってないけど、効果はある気がしてます。

3. 作業する前に作業一覧を作る
WBSじゃないけど、自分がこれからやることを細分化した項目を作っておきます。ソースに@TODOとかで書く人も見かけるけど、自分はメモ帳にさらっと書いて一覧にしておきます。やらないといけない作業と、やり終わった作業が一望できるように。

4. 朝イチで日報を書く
日報とか書く必要がある場合は、朝イチにその日の日報を書いてしまいます。たいてい終わった後に書き直すことにはなるけど、その日、自分がどんな作業をし、どこまでやればいいかを最初にしっかりイメージしておくと作業が早くなります。あと、時間清算の仕事の場合は朝イチにやりますが、成果給の場合は通勤時間中に書くことにしてます。

5. 人のソースに目を通しておく
プロジェクト内のコミットされてるソースを、大雑把に100行に10秒くらいかける感じで全部目を通しておくようにします。で、どんな処理が存在しているかを覚えます。これで人のソースを有効にパクれる率が高くなります。あと、業務ロジックは必然的に似た記述が増えますが、そこで違和感を感じたソースについて突き詰めると、実はその記述には理由があって、自分のソースもそう書かないといけないことが分かったりとかします。

6. イメージを示唆する紙媒体を目の前に置いておく
自分が今作っているもののイメージを示唆してくれるようなもの、画面があれば画面イメージ、裏方の処理ならデータのフロー図などを、常に見える場所に置いておきます。こうすると実装に回り道が発生する可能性が減るような気がしてます。お守りのようなものです。印刷できる資料があれば印刷し、なければ手書きでさらっと作ります。

7. 効率の良いソース検索の手段を持っておく
プロジェクト内のソースを全検索できるような機能があるソフトウェアを持っておきます。自分はEclipseのファイル検索を使っています。Googleのデスクトップ検索を使った方が結果が出るのは速い気もするけど、入れていいと言ってくれる現場は少ないです。良い検索ツールを持っていると、人のソースを効率良く閲覧、吸収できます。

8. 印刷できるものは印刷する
最近は紙を節約しろと言われる場合もありますが、許されるなら仕様書とかソースは紙で見たいなぁと思ったら遠慮せずどんどん印刷します。資料を閲覧する際は紙で見た方がよく見えるので。ごめんなさい、地球。

9. 難題が降りかかったらとりあえず挑戦する
難題が発生したら、とりあえずやってみて、ダメだったら家でGoogleさん相手に調査するなどして、なんとかする方法を見つけます。難題を解決するのを繰り返すのが、プログラミングスキルを高める一番手っ取り早い方法かなぁと思ってます。

10. ソースを小説のように読む
ソースを読む時に「うん、これは結婚したくなるような萌え系ソースだな」とか「これはセレブなソースだな。こういうソースは逆に書きたくない」とか評しながら読む。そうすると愛着が湧き、ソースを読むのが楽しくなってくる、かもしれない。


適当な内容だけど、こういうのを列挙するのは自分の頭を整理する上では役に立つような気がする。
posted by MW at 18:54| Comment(0) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。