はてなキーワード: Software Designとは
初めまして。前回「Web系の会社を解雇されて思った事 」を皆さんに読んで頂いて大変うれしい。自分はと言うととりあえず会社らしき所で働いているが、もう辞めたい病発症中だ。以下辞めたい病の内容を職種別に話そうと思う。
Webという仕事をやってて一番嫌いなのがこのデザインと言う仕事だ。大手企業に入社できない大手病まっしぐらの28歳の自分としては、どうしても事業規模の小さい会社で仕事する事が多く、デザインの方向性から自分が担当する事がある。ここで俺がデザインを嫌いな理由は「そもそも何でデザイン作成や改修をするんですか?」とやる目的が見えない時があるからだ。まずデザインや文章を書いていく上で重要な事を書くと、
1.相手に何を伝えたいか?
2.どのような伝えていく事で、相手にどのような印象を与えていくか?
の2つ。例えばこの文章は「俺が仕事の愚痴を書いて、皆さんに共感してもらう」事や「こいつはこういう仕事が向いていない奴」「こいつは仕事本体より愚痴になると心が踊る奴だ」と言う印象を皆さんに与える為に書いている。
さてAKB48だろうと「普通な女の子が歌う歌」と言う方向性があるし、西野カナにしても「失恋に悩む女の子」と言う方向性があって、それに則ってお金を取っているわけだ。その点を煮詰める事が一番肝心だし、そもそもの方向性が定まってないのにサイトを作るのは「敢えて言おう。無駄であると」と言いたい。
それこそサイトを受注する料金がかかるのならば無料ブログでも良い。それこそキャバ嬢や風俗嬢の女の子が個人サイトでも持って営業したからと言って、収益に結びつくのだろうか?否そうではない。要は見た目の良さや機能性のみだけがサイトや商品の善し悪しを決める訳ではなく、相手に合わせ的確なものを選ぶのが肝要であり、そういう話が無いデザイン会社を受けるのは絶対に受験するのを止めろと言いたい。キャバ嬢から話を話して、千葉県のCafe GAKEのブログなどを見ていても思う事で、そのお店の雰囲気や店長の人柄が伝わればそれで良いと思っている。
さて3社目にいた時はどうだったか?機能や見た目に浮かれるような上だったからこそ最悪だった。結論から言えば「Photoshopでスライスし、パーツ画像を作成するコツと方法(Webクリエイターボックス)」に書いてあるようなPhotoshopのスライスの切り方や、各部分の間隔のそろえ方などデザインに関する技術を覚えられたのは良かったと思う。しかし企画としては明らかに失敗と思うケースは意外にある。
具体的には「○○をユーザーによく見せる為に、△△なサイトのデザインにしていく」と言う何故このデザインにするの?と言う説明が無いままいきなり作ってと言う流れに。そりゃあ慣れないプログラム言語を使ってデザイン部分〜データーベース部分に至るまでほぼ一人でやっていた訳だ。しかし終始上は上で俺が作ったページが最高だ!と言わん顔。クライアントとの打ち合わせ会議から帰って来ると「サイトの画像のエフェクトを使うという冒険をしたくないのか?」とクライアントを非難する事を陰で言ってるあたり、そもそも何の為に作っているのかをお互い摺り合わせていない事がわかった。
無論技術を見せびらかして「素人目に見てこうした方が凄い」とのたまっていたが、はっきり言って見る人は絶対に見ない。そもそも今の俺がそうだから。と言う訳でどうも俺はデザインが似合わない事が分かった。
と同様に俺はプログラムと言う名の現場開発もどうも苦手だった。俺はエロ系のサイトの改修をやっていたときは「世界最強のエロサイトを作ってやるぜ」と息を巻いていた。しかしソーシャルゲームはどうか?お姉ちゃんのおっぱいも関係ないし、かといってお尻も関係ない生活が3ヶ月続いた。そもそも無機質なカードを見て欲情できる奴らの気持ちが理解できず、なんでこんな物で満足できるのだろうと思っていた。
しかし会社をクビになる頃、俺はすばらしい数学の問題に出会ったのだ。Twitter経由で「コンプガチャの数理 -コンプに必要な期待回数の計算方法について-:doryokujin's blog」に書かれていた、Coupon Collectors Ploblemと言う命題に非常に感激した。これはnを自然数としてn種類のクーポンの出現確率が同じと仮定した場合、n種類のクーポン全てが出そろう枚数の期待値 E(n) = n(1 + 1/2 +1/3 + …… + 1/n)(枚)となると言うもの。
この時マクドナルドで3種類のコーラグラスを集めるキャンペーンをやっていて、セットを幾ら頼めば良いかなんてのを暗算で弾いたのは良い思い出。n=3なのでE(3) = 11/2で、セット一種類当たりの値段が600円だから3種類全て出そろう期待金額= 600 * 11/2 = 3'300(円)なので、最初っから3種類買って全て集めたのは良い思い出だ。これがソーシャルゲーム時代に一番感激したないようで、ソーシャルゲームの運用のやり方とこのCoupon Collector's Ploblemの証明どっちを取るかと聞かれたら、すかさず後者を取るだろう。それくらい俺は物を作ると言う仕事に向いていないらしいことが分かった。むしろ統計学やデータマイニングと言った数学を駆使してできる商売や、商品企画などもっと上流の過程で仕事がしたいと思い探している。
6月の面接の段階で、機械学習やクラスタリングと言った知識に穴があった。最近ではその点を補う為に「データサイエンティスト養成読本 [ビッグデータ時代のビジネスを支えるデータ分析力が身につく! ] (Software Design plus)」のような本を読んで、取り合えず次の会社の面接官の話のタネになる知識を集めている最中だ。大学時代が贈処理の研究をしていて、クラスタリングと言う単語は聞いた事があった。しかし実際に触れてなかったので改めてここで復習をしているのだ。
最後にこの文章をはてな匿名ダイヤリーで書いたのは、顔を隠そうと思っての事だ。「明らか向かない仕事をどうしてやるのだろう?」「デザインに関しては俺はクライアントの要求以上の事は出来ない。寧ろ美術関係の学校をでているような人に座を譲りたい。デザインに対する情熱が俺とは違う」「俺の好きな数学やデータを駆使するしごとにいきたい」としきりに思いながら仕事をしている。そして長々と愚痴を書いたが、こんな愚痴をここまでお読み頂いた皆さんには感謝だ。又こういった場を提供してくださった株式会社はてなの皆さんにも感謝する次第である。
cf). Software Design 2010/01号
!#/bin/sh vmstat 5 2 | tail -1 | awk '{print $4,$5,$6}'
service agent_mem { socket_type = stream protocol = tcp wait = no user = nobody server = Monitor/agent_mem.sh only_from = 127.0.0.1 disable = no }
php の場合、fopen() でもいけると思うのだが、明示的に sockopen() を使う。うむ、perlよりも楽だわこりゃ。
<?php /* -*-java-*- */ /** * モニタリングクライアント * */ $fp = fsockopen( 'localhost', 11001, $errno, $errmsg, 30 ); if ( !$fp ) { echo "Error: $errno - $errmsg \n"; } else { echo date('Y-m-d H:i:s'). "\t"; $stmt = fgets ( $fp, 128 ); if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) { $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3]; echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n"; } fclose( $fp ); }
こいつをモニターとして走らせっぱなしに出来るようにする。
<?php /* -*-java-*- */ /** * モニタリングクライアント * */ function mem_monitor ( $host, $port ) { $fp = fsockopen( $host, $port, $errno, $errmsg, 30 ); if ( !$fp ) { echo date('Y-m-d H:i:s'). "\t"; echo "Error: $errno - $errmsg \n"; } else { echo date('Y-m-d H:i:s'). "\t"; $stmt = fgets ( $fp, 128 ); if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) { $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3]; echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n"; } fclose( $fp ); } } while( 1 ) { mem_monitor( 'localhost', 11001 ); ob_flush(); flush(); sleep( 30 ); }