残念なソフトウェア開発の現場は、沈みかけの巨大な船に乗った航海に似ている。
船底の穴からの浸水を必死でかき出しながら、どうにか進んで行く。そういう航海だ。
ある穴を塞ごうと船底に板を打ち付けたら、
船の構造はあまりに複雑で、膨大な部品の間にどんな依存関係や相互作用があるのか、
誰も完全には把握していない。
それは、はるか昔に組み立てられた太古の船で、
構造把握の手掛かりは、代々伝わる不十分で不正確な古文書だけなのだ。
新任の船員は、出た水に対してとにかく手当たり次第に対処した。
どんな物でも使い、徹夜で穴を塞いで回った。
ひたすら大きな声で号令を出し、
いかに早く穴を塞ぐかが、船員の間で競われた。
何人もの船員が過労と心労で倒れ、
航跡には転々と水葬者が流されていった。
船員たちが経験を積むうちに、浸水するのは船室の新しく手を加えた部分だと分かり始めた。
そこで彼らは、改装作業を終えた時のチェックリストを用意する事にした。
作業の後にそれを読んで各部を確かめれば、
穴を空けたままにしてしまう事は無くなるだろう。
それが船底だったら・機関室だったら・客室だったら・甲板だったら・竜骨沿いだったら・板だったら・柱だったら・ドアだったら・蝶番だったら・ドアノブだったら……。
(不思議な事だが、ドアノブを直しても浸水する事がこの船にはあった。事例が少なくて原因は良く分かっていない)
チェックリストの長さは、すぐに人が把握できる数を超えた。
複雑な船に対するチェックリストはそれ自体複雑になってしまったのだ。
それ自身が浸水して沈みかけになった。
船員達はやがて、修正する部品を仮組みして水槽でテストするようになった。
事前に水漏れが無いかをテストしてから実際に船に取り付ければ、
それでも、浸水はなかなか減らなかった。
水圧や比重やその他もろもろの条件が大きく違った。
また、既存の部品と新しい部品とを取り付ける境界部分そのものについては、
やはり実際に取り付けてみないと分からない部分も多かった。
それに対する事前のテストも、天候や波の高さ・潮の流れなど、
誰にも分からなかった。
それ自身が浸水して沈みかけだった。
ある時、水平線上に別の真新しい船が見えた。
それは黒い小ぶりの船で、いかにも俊敏で頑丈そうな船だった。
その黒船は悠々と航海を続けているように見えた。
しかし、他の船員の一団は、
あの船は小さくて目新しいから、華やかで順調そうに見えるだけで、
俺たちのような信頼と伝統のある大型船舶とは違う、ヨット遊びみたいなものだ。
と、その船の小ささを馬鹿にしてみせた。
ある船員はその船の特徴的なマストの形状を真似て、
しかし、船は俊敏にも堅牢にもならず、新たな浸水しか生まなかった。
それで結局、この船には今のやり方しか無いのだ、
という保守的な声が、船員達の間で支配的になった。
その船員は、船に乗る前の学生時代から、小さなヨット作りに熱中していた。
最新の材料と設計技法を駆使した小さなヨットを自分で組み立て、海に浮かべて楽しんでいた。
自分のヨットが有名なヨット雑誌に掲載されたこともあり、それが今でも誇りだった。
そんな彼が、今では大型船舶の穴埋めに奔走していた。
ああなっていれば……こうなっていれば……そんな仮定が頭の中を何度もよぎった。
それでも彼は忠実に、言われるがまま、浸水を塞いで回った。
ある時彼は、比較的大きな船室の改修を任された。
久しぶりの新しい仕事に彼は熱中し、
「このアタッチメントはなんだ?」
それに、今後また改修があった場合、
「こんなアタッチメントなんて見たこと無い。
他と同じように作り直せ。
それにこの部分の文言はなんだ?」
「そんなの他の誰が読んでも分からないだろう。
これを見た客にも、何で今までと違うのか説明できない。
何でちゃんと今までと同じように作らないんだ?」
謙虚な彼は、ただうな垂れて、言われるがまま指示に従った。
彼は善良な人間だったので、自分のこだわりのために無闇に人と衝突するよりも、
彼はそうやって、日々の仕事とどうにか折り合いを付けて、
船員稼業を続けていった。
大きな衝突も無く、仕事も手早かったため、
他の船員達からは頼りにされた。
ただ、週に一度の飲み会や船を挙げてのパーティーでは気後れを感じ、
船の模型を作っていたくなった。
「皆さんの頑張りで今この船が航海できています。今日はこの場の皆さんに感謝を込めて、乾杯!」
船底では、今も浸水を塞いでいる船員がいるのだ。
善良な彼も、つい冷笑を浮かべてしまった。
ある時、黒船が大きく進路を変えた。
目を見張るような素早い転換だった。
「今すぐ黒船を追って進路を変えろ」
何でも、新しい大陸が見つかって、そこにたどり着ければ一攫千金だと言う。
「何が何でもすぐやれ。黒船に先を越されるぞ」
船員達は口々に、それは無理だと言った。
まず、ただでさえ浸水箇所が多くて、それを塞がないといけない。
進路を変えると負荷が掛かる部分が変わって、新しい浸水が無数に起こるだろう。
それを作って水槽でテストして長いチェックリストで確認して……とにかく無理がある。
「とにかくやれ。オーナー命令だ」
無理な進路転換とその影響で、新しい無数の浸水が生じた。
浸水が生じるとその原因を追究してチェックリストやテストに反映する決まりになっていた。
するとチェックやテストは消化不良になり、
浸水も見落としや誤魔化しが増え、
それがまたチェックやテストを難しくするという、悪循環となった。
船員の誰もが「これは無理だ」と感じていた。
船長はただ大きな声で怒鳴っていた。
どこかで勘付いていた。
隣の船員が水葬に伏されるのを見送りながら、明日は我が身だと思った。
ある時、船室に大きな音が走った。
何かが裂ける音と、それに続く悲鳴のような音が船中に響いた。
船は船底から二つに裂けていた。
無理な進路転換のせいで、船体に大きな負荷が掛かったのだ。
もはや誰にも沈没を止められなかった。
あらかじめ確保してあった専用の救命ボートでいち早く脱出していた。
しかし、一般船員向けの救命艇は不十分で、何よりそこに行き着く道も複雑で、よく把握できなかった。
多くの船員は、船と運命を共にした。
ヨット作りの好きな船員も例外ではなかった。
静かな海で、上司の怒号が聞こえないのが、ひどく幸福に思えた。
海のはるか向こうでは、黒船が滑るように新大陸を目指して進んでいた。
僕はあの黒船を知っている、と彼は思った。
僕は知っている。あの船がどんな構造を持っていて、
僕はそれをずっと夢見ていたし、自分のヨット模型でも試してみたことがある。
僕はあの船のことをよく知っている。
ただ、この沈んだ船では、その知識が生かせなかった。
それは何故なんだろう。
自分と同じように海を漂っているのが見えた。
彼は、パーティーの時と同じように冷笑を浮かべた。
理由はどうあれ、結局は、沈むべきものが沈むのだ。
それは真っ当なことなんだ。
あのままボロ船が航海を続けてしまった方が、
そこで目覚しい成果を挙げるだろう。
生まれ変わったら、あんな船を作ったり乗る仕事に着きたい。
船が好きで、船に憧れて、この職業に就いたのでは?
それは間違った事なのか? 船が好きなのに?
疑問は尽きなかったが、冷たい海水がゆっくりと彼を殺していった。
その優雅な姿をまぶたの裏に止めたまま、
船乗りの夢を見ながら、彼は死んでいった。
それを書いている人より、それを見て型不要とかを真に受ける連中のほうが心配なんだよね。
とりあえず99%の庶民は静的型付言語を使ったほうがいいよ。
昔とくらべて、使える敷居は低くなってきているけど、実際に
一般庶民は
コンパイル時にきちんと型エラーにしてくれる「TypeSafe」な言語を使ったほうが幸せだし
遅延評価なんかの動作がきちんと理解できない、職業プログラマ(IT土方)は多いんだよ。
3年ほど前に、念願叶って研究職についた。2年前には、外資系のリサーチ部署に行って、更なるアップサイドも狙うことができた。
順調に行けば、今年の昇格もあり得た。と言うか、今年の昇格がなければ、クビ切り候補というのが外資系の実態だと聞かされていた。でも、失敗した。つまり、自分がクビ切り候補であると分かった。ちなみに、嬉しいことに他部署のプッシュもあったらしい。かなりの激務をこなして、あらゆる雑用をやっていた。顧客開拓も手伝った。様々なビジネス案件のサポートもさせて貰った。仲間と認めてくれる方々がいらっしゃった。しかし、会社の決断としては、自分をクビ切り候補にすることだった。仕方あるまい、研究職などコストセンターであり、上部の1、2人以外は全員いらないと言われて然るべきだから。
様々なプッシュにも関わらず、昇進しなかった原因は、上司に嫌われているからか、会社が儲かっていないからであろう。しかし、原因らしい原因を言われなかったのはただただ虚しかった。クビ切り候補に言う言葉など何もないから当然か。
気がつけば、邦銀に行った後輩と変わらない給与になっていた。こちらが職を転々と変えて、気が付けば足元見られている間に、コツコツと邦銀でサラリーマンをやっていた側に追い越されそうになる。
自分にとっての外資系など、名前だけでメリットが殆どない仕事だったのだろう。自分の職はやりたがる人も多くて、今後も会社はいくらでも足元をみるだろう。残って、上に昇進出来ればアップサイドは狙えるかもしれない。ただし、そのために我慢するものが増えた。そして、上は固まりつつある。会社の決断としてもコストセンターは減らす方向になりつつある。上に行ける可能性は減った。普通に日系のサラリーマンをやる方がよほど経済的なメリットがある。すでに外資系は稼げる環境ではなくなったとも思う。銀行業がリテールビジネスに回帰して行くのなら、日本で働くならば日系以外は何も魅力がなくなる。外資系の旨味は上に残った一部だけなのだろう。
数少ない上位は別に日系で活躍した人材でも狙える。若い人間が外資系に行く理由は殆どない。メリットは20代の若い時の僅かな給料の差ぐらいか。その時を残業代込みで年収500万で社宅で過ごすか、年棒で7、800万で高いアパート家賃払って過ごすか。40後半で殆どがクビになる事実と照らすと少ないメリットになった。20代を合計1500万円上乗せされた給料を貰う代わりに、40後半以降の年収1000万円×15年間を捨てに行くのだ。もちろん、この日系の歪な給与体系はいつなくなるかわからないが。
世間的にはプチブラックと呼べるだろう。大企業と比較すれば中/小/零細/ベンチャーなんてのは全てブラックだ。でも社員への愛はある。仕事はキツイがチャンスもある。私の会社も新卒を募集している。毎年、最終面接は私の仕事だ。私にも学生時代があり、彼・彼女等の苦悩を少しは解るつもりでいる。きっと多くの学生は大企業に就職したいと思っているだろうから、中小企業のオッサンの話など価値がないかもしれない。が、私が就職・就活について、私が彼等と接してきたなかで感じている事を綴ろうと思う。少しでも参考になれば幸いだ。
だたしここに書いてある事を鵜呑みにもしないで欲しい。あくまで資本主義・市場経済における小さな小さな話だ。特にオーナー社長がいる中小企業や、ベンチャー企業に当てはまる面が多いだろうが、こういう一意見があるという程度に捕えて欲しい。世の中の二次情報を全てそういう風に接する事が出来れば、それだけで君達は賢い。自分が何も知らない事を知るのだから。
①大枠の社会の成り立ちを知らない。「価値」や「金」について学んでいない。
君達の非ではない。そもそも大半の人は「金」とは「価値」とは「働く」とは何か良く解っていない。知識があるだけではなく、腑に落ちている(理解し、応用/インスタンス化できる)必要がある。経済や商学等をしっかり学んでいる学生や、一部の優秀な学生はこれを理解している様に感じる。
私が述べているのはそんなに難解な事についての話ではない。これらは出来れば初等教育時からケーススタディを積み、中学校の社会科で理論まで教育すべき事だと考えている。この歳になって振り返れば社会科はなんと重要な教科だろうかと感じるのだが、如何せん受験システムの弊害でただの暗記科目となっており残念な限りだ。
このような社会の成り立ちや、価値、金といった根本を理解していないから、そもそもなぜ就職するのか?や何をやりたいのか?が解らない。「中学校を出たら高校に行くのが当たり前。」と同等の認識で「大学を出たら院に進学するか就職するか。」だと盲信している。私も、当時自分が何になりたいか解りもしなかった。私が当時たった一つ考えていたことは「“普通”や“平凡”は死ぬほど嫌だ。」という事くらいだった。
こんな質問をしてくる企業は多いのではないか。私もした事がある。もちろん異なる概念だから“違い”は山ほどある。責任が重い?時間が少ない?そんな細かい点をあげればキリがない。しかし、企業が聞きたい答えはそんな答えじゃない。実は本質的な違いはたった一つだけだ。他の相違点はこの本質的な違いが生み出す副産物でしかない。
就職して社会人になるには、この本質を理解している必要がある。これを理解していない人を基本的に企業は採用したがらない。君達が生きてきた二十数年と真逆の概念。最も重要な“学生と社会人の違い”。それは、『お金を払って価値を受け取る側なのか、お金を貰って価値を提供する側なのか、の違い』、だ。簡単に言うと、どっちが客だ?って話なんだ。
賢い君は、なんだそんな事かw、と思うかもしれない。でも私が会ってきた多くの学生はこの事を理解してはいなかった。これまでは親が払って君達が対価を受け取ってきた。君達が、義務だ役務だ(嫌だなぁー)と思ってきたモノは、義務ではなくサービス(対価・報酬)なんだ。そう、君達はこれまでの人生のほとんどの瞬間において“お客様”だった。
けれども働くという事は“お客様”であったこれまでの立場とは真逆だ。極端に言えば、君達が行っている就活とは君達の“お客様探し”そものもだ。企業は君達に何かを提供してくれる場ではない。企業は“お客様”であり、来春からは君達はお金を受け取り、その対価として企業にサービスを提供する事になる。
きっと若い君達はこの考え方に違和感を感じるだろう。それは何ら間違っていない。企業は単なる客ではない。その先にはさらに顧客がいて、企業全体で顧客に対してサービスを提供する事になる。君達はその活動を通じて副産物的にお金以外の価値を企業から教授する事が出来る。
たとえばそれは、教育だったり経験だったりする。企業は君達に教育という投資を行ってくれるだろう。OJTのみだったり、いきなり名刺100枚交換して来い!とかいうドブラック企業ですらだ。彼等が提供してくれる一見無慈悲な無理難題は、誰が何と言おうと彼等からすれば(選別も兼ねる場合が多いようだが…)教育だ。たとえばそれは、新たな人間関係だったりする。生活の大部分を占める時間帯を、共通の目標に向かって苦労を共にする事になる上司や先輩や同僚達は、君達の人生にとってとても価値のある存在になっていくだろう。だが、忘れてはいけない。まぎれもなくそれらは「価値」であるけれども、あくまでも主たる取引の副産物だ。根本的には君達が提供する側だ。
"Ask not what your company can do for you; Ask what you can do for your company." ケネディが就任演説で似たような事を語っている。「祖国があなたに何をしてくれるかではなく、あなたが祖国のために何をできるか考えて欲しい。」どっちが客か勘違いした笑えるスピーチだ。我々が国に税金を払って、国が我々にサービスを提供する側だ。「税金払ってんのはこっちだぞ!ざけんな!」と叫ぶ、オッサンの気持ちが良く解る。もちろん、我々が国の為にする事は税金を払う事だ。しかし、国を企業に置き換えるならば、それは極めて妥当で意味を成す言葉となる。そう企業が金を払い、君達がサービスを提供する側だ。これを勘違いしている学生はおそらく採用されない。
企業が客だと主張してきたが、ただし、一つ補足が必要だ。それは良く聞く「お客様は神様です!」というフレーズについて。当然お客様はとても大切な存在だが、ビジネスにおいて「お客様が一方的に偉い」ということはありえない。それは取引とは概ね等価交換であるハズだからだ。お客様は神様だと言い、その他のステークホルダー(社員や取引先等の関係者)をそれ以下だと位置づける人達のビジネスはきっと、不当な利益をステークホルダーか、もしくは当の顧客からstealしている人達である可能性が高い。
そう、お客様だから一方的に偉いというわけではないんだ。ここは重要な点だ。君達の20年間を振り返ればきっとそうだっただろう。君達は確かにお客様だったが、それを過剰に敬ってくれは誰もしなかったはずだ。前述のとおりだが、取引というのは基本的には同等の価値を交換している。君達が客であるにも関わらず、サービス提供者に対して「ありがとう」と口にすることがあると思う。要するに取引、ひいてはビジネス全体が“お互いにとって得となる価値の交換”なんだ。
だから、お互いの役割をちゃんとわきまえた上で、お互いがお互いを敬う関係を作っていかなければならない。君達がサービスを提供する側ならば、私はお金を支払う側だ。私のもっとも重要な仕事の一つは、社員に給与を遅れる事なく支払う事だ。ちょっとやそっとの損失なんかでは動じない財務を創り上げ、たとえ私の給与を止めてでも、来月も半年後も一年後も社員に彼らの価値創造に見合う形で給与を支払うのが私の仕事だ。
⑤大学が役に立たないという問題
君達は知らないかもしれないから重要な事を教えておこう。会社という営利組織では使えない人は本気で去ってもらうって話。それはどんな大企業でもそう。それはどれだけ法律なんかで守られていても避けられない。いろんなやり方があるからね。逆に、どうしょもない奴を排除しない会社はもっとヤバい。君達が丁度若くもなく使えないオッサンになって、転職もできなくなった頃に倒産したり外資に買収されたりして、結局使えないオッサンになった君達をリストラしたりするんだ。
とするとだ、賢い君は内定をもらう事が重要なのではなく価値を創造できる人物になることが重要だ、という事にそろそろ気が付くだろう。重要な事だからもう一度言うよ。「内定などどうでもいい。どうやって自分のレベルを上げるのかが重要だ。」
実は、就活をしなければならない理由はこの価値創造力をどう上げるのか?という問いに関係している。それは大学を卒業しても企業では即戦力じゃないという問題だ。若干大げさにいえば、偏差値60の高校を出た子と偏差値60の大学を出た子の差はほとんどゼロだ。どっちを採用してもかわらない。その為、企業は一年目の新卒にたいして、何から何まで教育を施すことになる。だからこそ!!新卒で入社する事が重要なのだ。大学がもっと意味のある教育を行うならば、様々な事が変わっていくだろう。正すべきは就活ではなく、大学教育だと私は思っている。
初めて入った飲食店でマズイ飯を食わされたりしたら、もう二度とこんなところ行くか!と思うだろう。仮にその店の店主が一生懸命汗水たらして真面目に働いていても、その店に通う事はないだろう。同様に、会社も君達にそう思っている事を忘れてはならない。会社は労働時間をインプットすれば毎月自動的に金が出てくるATMみたいなもんだ思っていたかもしれないが、会社は君達の労働時間など必要とはしていない。会社が欲しているのは君達が作り出す成果だ。
私は海外に子会社があり、そこでITエンジニアを数十名雇用している。先日こんなことがあった。試用期間中のある若者が当社の定める基準をクリアできなかった。私から見るに知恵も知識も熱意も足りないように感じた。私はその若者にこう告げた『君の実力では正社員として雇用する事はできない。もう一ヵ月だけ試用期間を延ばすので、この二ヶ月を上回る成果を出して基準をクリアするか、転職先を探すかしてくれ。』と。数日後、彼からメールが来た。『私のレベルではあと一ヵ月で入社する事ができない。無給で良いのでインターンとしてここに残らせてもらえないか?一所懸命勉強するので、十分に能力がついたら正社員にしてくれ。』
私のこの問いに対する答えはYESだ。給与を受け取らないのであれば、彼が会社にたいして等価のサービスを提供する必要はない。僅かながら彼が私達に提供できる価値を、お金ではなく先に述べた副産物を受け取る対価とすれば良い。事実、彼と同等のまだ成果を上げる実力のないインターンは当社に在籍している。彼等は大学のカリキュラムを終えて、2ヵ月間残業なしという条件で、ほぼ週5日間交通費+α程度のお金を受け取り、勉強しながら働いている。
日本でも最近インターンが増えてきた。無給に近い形で働く経験を積む事ができるし、うまくすればそのまま正社員に採用されたりする。無給インターン生に過度な労働をしいるような悪質な会社もあり、そのあたりは気を付けなければならない。が、割に合わない取引ならば止めればいい。経歴に傷がついたりもしない。ストレートの進学や就職に価値があったのは昔の話だ。今の時代はどんどん実質的な実力や人格を評価するように変わってきている。もし私がどこからも内定をもらうことが出来なかったとしたら、本当に学びたい知識を扱う会社に出向いてこう言うだろう。「給料はいらないから出来るヤツのカバン持ちをやらせてくれ。」と。大企業はセキュリティ面なども考えるとおいそれとOKしてくれないだろう。たとえば経営コンサルの事務所や、建築家、会計士事務所なんかはOKしてくれそうな気もする。ITベンチャーなんかもOKしてくれる会社が多そうだ。
しかし本当に長期間、たとえば2年も3年も無給で働く事はできない。きっと働かせる側もモラルを考えて辞めてもらうかアルバイトとして給料を払うかすると言い出すだろう。だがこの選択肢において重要なのは金ではない。先に述べた副産物をいかに受け取るかだ。知識、経験、人脈、これらの副産物を受け取ることができなければとっとと次に行った方が良い。こんな形で経験値を増やして行くのも一つのやり方だと思う。
もちろん現状の日本のシステムであれば、内定を取れる事に越したことはないだろう。だが取れないからといって絶望する事はない。君達が一番恐れるべき事、おそろしい事は“学ばない事”“学べない事”だ。コンビニバイトをしながら、残りの時間はネットを見て過ごすなんて生活では、この社会で(少なくとも経済的に)成功するために必要な学びを得る事は非常に厳しい。
未だに大企業に就職したり、公務員になったりするのが良い事だと思ってる親御さん達も大いに問題だ。当然、優良企業に就職してそこでトレーニングを受けれる事や、そこでの経験・人脈などは素晴らしいものだ。だが、大企業が総じて優良企業というわけではない。ましてや公務員などこの国を蝕む寄生虫的な側面すらもちあわせている。国家サービスを徹底的にIT化すれば、どれほどの公務員が必要なくなることか。そしてその彼等を養っていかなければならない分、税金は高く、見の回りの様々なコストに跳ね返ってくる。
失礼、書きなぐっていたら話がそれた。もどそう。。。今まで話してきたとおり、重要なのはお金ではない。20代に稼ぐお金なんて雀の涙程度だ。もちろん歳を取ればお金も重要なファクターになる。しかし、私が30歳になった頃貯金はゼロだった、というか借金300万円くらいだった。そんなに心配する事はない。
重要な事は能力をあげていく事、知恵と知識と経験と人格と人脈を今よりも一歩上へ進めていくことだ。就活が、君達の人生に与える影響は、その後の君達の行動によって、いくらでも小さくできる。昔は違ったかもしれないが幸いな事に時代がそう流れている。それは内定が取れた事よりもラッキーかもしれない。希望を失わず、今よりも、少しずつでも向上を志す事だ。上を見ればきりがないし、下をみてもきりがない。気にするな。日本に生まれた時点で君達は世界のTOP5%に入る勝ち組だ。幸いな事に命を落とさずに就活を迎える事ができた。
今のシステムエンジニアの仕事に求められている水準というのは、人間に達成できる内容なのだろうか?
それも専門的教育を受けていない、働き出してから怪我をしながら学んだ人に達成できる水準なのだろうか。
とはいえソフトウェア工学やらプロジェクト管理工学やらを持ち出すと「机上の空論」「現場は違う」とか言い出すのだろう。そりゃそうだ。自分が現場育ちなのだから、そこを尊重したい気持ちが何より先立つ。理論を持ちだされても素直になれない。今現場でSEをしている自分に理解できないことをもってこられても恥ずかしい。
ソフトウェアやら構築やらSIやらには免許が要らない。そのための国家試験もない。認定の国家試験はあるけど、前述の理由で価値が認められていない。現場優先とは聞こえがいいけど、それは単に自分の価値を最大限にしたいだけだ。
もう無理なんだよ、知識のない人間には。現場の人間は手足であって、頭になれない。ちゃんとした頭が必要で、無理なことを解決するのに無茶を投入する知恵のない人は要らないんだよ。下請けが給料が安いのは当たり前なんだよ。交換が効く手足なんだから。頭のほうが価値があるに決まってるだろ。頭の足りない元請けがいる、なんていうなよ? 元請けの時点で覚悟しろって意味なんだから。
で細胞の状態に違いがあるってことですかね。詳細はわからないけどそれはあり得る感じがする。
何故それが高血圧に繋がるのか後で調べたり考えたりしてみよう。
プレイし始めたきっかけ は App Store で売っていたのを見たのか、ネットの記事を読んだのかどちらかだと思うが覚えていない。
ただ人気が出ているということは知っていた。
人気の高さから当初2011年頃にリリースされたものだと勘違いしていて、購入時点でリリースされてから1、2ヶ月しか経っていなかったことを知ったのは大分後になってからだった。
まさか1年間ほぼ毎日ゲームを開くことになるとは思わなかった。
何がこのゲームをここまで魅力的にさせるのか?
自分なりに考えた結果をここにまとめておく。
本当は自分のブログに書こうと思ったが、最近のブログの方向性とかなり異なる内容のため増田に書かせてもらう。
長文を読みたくない人は以下の要約だけ読めばいい。
実力と運のバランスがほどよく、課金により圧倒的優位に立てるわけでもないのでユーザは公平感を感じてプレイできる。
覚える要素が少ないため、少しブランクが空いてもすぐにプレイに復帰できる。
魔法石という課金通貨を頻繁に配布するため、ユーザは常に課金時と同様のユーザ体験をしている。
そのため実際に課金したときに期待するユーザ体験と実際のユーザ体験にギャップがなく、不満を感じることがない。
システム障害時にもお詫びとして魔法石を配布するため、普通は大きくユーザ体験を損なうようなシステム障害が逆に良質なユーザ体験を提供する機会に変わっている。
常時開催されるイベントにより、単調になりがちなパズルゲームを飽きさせない運営の工夫がなされている。
著者のスペックは以下の通り。
このゲームのいいところは、あまりモンスターが強くなくても、パズルの腕と、落下してくる玉の色の運次第では割と勝ててしまうところにある。
実力だけでもそこそこ勝ててしまうからパズルの腕を上げて勝ち上がるというプレイも可能だし、運だけでもたまに勝ててしまうのであまり頭を使わないギャンブル的なプレイもできる。
パズルの腕がよく、かつ運がいい場合だとかなり難しいエリアでもクリアできてしまう。
逆に若干格下のエリアをプレイしていていも、気を抜くとたまにやられてしまう。
札束で殴るゲームなど揶揄されるように、ソーシャルゲームにはとにかく課金すれば誰でも勝てるという印象があった。
パズドラは課金だけでは勝てないようなゲームバランスになっている。
例えば課金専用のモンスターガチャ(ランダムで強力モンスターを入手できる仕組み)でしか入手できない「神」タイプという種別のモンスターがいる。
これらは確かに強力だが、決して最強ではない。
パズドラではモンスターでパーティを組むため、やみくもに強力なモンスターだけを使うよりも相性のいいモンスターで編成した方が強力なのだ。
また、たとえ強いパーティを作るとしても、ある程度のパズルの腕がないと結局勝つことができない。
実力のみのゲームだとプレイヤーとしての腕を上げ続けなればならないのでずっとプレイする必要がでてくる。
逆に運のみだとただのくじびきと変わらないので、ギャンブルに興味がない私はすぐ飽きてしまっただろう。
課金したからといって実力も運が無関係にならないというところも魅力的だ。お金で簡単に強くなれるゲームなら努力してプレイしようと思わないだろう。
このあたりの「公平さ」も魅力の一つである。
パズドラは覚えなきゃいけないことが少なく、ちょっとブランクが空いてもすぐに遊べる点が魅力だった。
大作RPGや複雑な話のノベルゲームは途中でブランクを空けると設定や伏線を完全に忘れるのでもう話についていけなくなる。
シミュレーションゲームはパラメータの意味や敵味方のユニットのスペックなどについて全て把握していないとまともなプレイができない。
FPSはスポーツと一緒なのでプレイし続けないと腕が落ちてやっぱりまともなプレイができない。
そういう「ゲーム疲れ」を感じて近年あまりゲームをプレイしなくなった。
かといっていわゆるカジュアルゲームのようなあまりに単純なゲームだとすぐに飽きてしまう。
このゲームで覚えるべき情報量は自分にとっては楽に記憶しておくことができるレベルだったので、仕事で忙しくブランクが空いてもすぐにプレイに復帰できた。
パズルの方法と所持モンスターの能力、あとは目標とするプレイフィールドの難易度を把握するだけでプレイができる。
モンスターの能力も、HP、攻撃力、回復力、スキル、リーダースキルの5つしかないので覚えやすい。
ガチャやコンティニューなどを行うには、「魔法石」と呼ばれる課金用通貨が必要となる。1個60-85円ぐらい。
私が驚いたのは、この魔法石をこれでもかというぐらいばら撒くことにある。
まず、毎月のように行われるイベントで魔法石がプレゼントされる。
1日1個が1週間から10日ぐらい続くので、月に大体5-10個近く入手することができる。
それだけでなく、パズドラではシステム障害時にもお詫びとして魔法石をプレゼントする(通称詫び石)。
障害の規模にもよるが、大きな障害のときは10個もまとめて配布する。
私にとって何より衝撃的だったのがこの「詫び石」システムである。
この運営方法により、ユーザである私はシステム障害を期待するようになってしまった。
こんなことは業務システムでは全く考えられない。
通常業務システムにおいて障害が発生した場合、ユーザは苛立ち、怒りの電話やメールを運営者にぶつけてくる。
ユーザにとってシステムが稼動し続けることは当たり前のことであり、障害などもっての他なのだ。
運営側は障害により若干の収入が減るかもしれないが、UX(ユーザ体験)を下げるどころか上げるということに成功しているのだ。
私のような無課金のユーザでも、常に手元には魔法石が余っている。
だから、課金ガチャを回したりコンティニューしたりということが気軽にできる。
これが何を意味するかというと、課金した状態のUXがゲームプレイにおける日常として組み込まれているということである。
もし私があるとき気が変わって課金をしようとしたときでも、課金したらどういうユーザ体験が待っているかを課金する前に十分把握しているのだ。
期待するUXと実際のUXのギャップが非常に小さいため、課金しても不満を覚えることはないだろう。
もっとも、この驚きをゲーム開発会社に勤める友人に話したところ、「今のソーシャルゲームでは当たり前」と言われたので昨今のゲームに詳しい人には驚くことではないのかもしれないが。
もう一つ、私が驚いたことで友人に「それも普通」と言われたことがある。
パズドラでは常にイベントを開催していて、イベントが開催されない期間が存在しない。
現在だと常時最低でも2つのイベントを同時開催していて、これらは月曜に開催され、2週間行われる。
開催期間は2つのイベントで1週づつずらされているため、ユーザからは毎週新しいイベントが開催されているようにみえる。
ゲーム自体はパズルを行うだけのシンプルなものなので、こうして工夫で飽きさせないようにしているのだろう。
先述の友人の話によると、ネットゲームにおいてはイベント開催が非常に重要らしい。
特に日本は文化的に年間行事が多いため、これらに合わせて緻密にイベントスケジュールが組んでいるようだ。
パズドラはゲームデザインだけでなく、運営も驚くような工夫がなされている。
私がこのゲームをプレイしていたのも、この運営の方法を研究したかったからという側面もあった。
運用・運営という側面はゲームだけでなくITシステムやレストラン・ホテルのサービスなどあらゆる場面で重要ではあるが、あまり一般の人には注目されない。
こうした「舞台裏」にこそ成功の秘密があるのだということをあらためて認識した。
なぜ丸一年が経過したタイミングではなくこの時期にこんな文章を書いているかというと、最近プレイしていないからである。
引退というわけではないが、気持ちとして一区切りついたのでこうしてまとめてみた。
理由はすごく単純で、ここ1、2ヶ月でモンスターのドロップ率とスキル成長率が大幅に下がった(と感じた)からである。
ドロップ率2倍でもほとんどドロップせず、スキルアップ率2倍時にスキルが全く上がらないと、さすがに砂に水をかけているような気分になって急速にプレイに疲れてしまった。
http://anond.hatelabo.jp/20130309233920
俺、それなりの規模のSIer側の人間なので、下請けに出す側の人間だけど、下請けもたいがいクソだよ。
会社は、対象のプログラミング言語を「やったこともない」人間を出してくるし、
そうやってやってきたPGは、コーディング規約(何も難しいことはない、空白の入れ方や大文字小文字のルール等)すら守れず、ひどいときはインデントすら合っていないコードを書く。IDEでどうやってそんなことができるのか不思議だが。
まともにロジックが組み立てられないから、プログラムはフラグの嵐。長大なメソッドを書く。
ソースコードレビューで品質が担保できるのは、かなり早い段階からレビューが実施できた場合で、デスマってくるとなんだかんだで先送りになり、気づいた時には千行のメソッドができあがっているわけで、そんなもんレビューしたって直しようがない。もちろんそんな状況にしてしまったプロジェクト運営に問題があるのだけれど、それにしても、それにしてもさあ。
で、下流の人間は、(契約形態によるけど)残業代がかかるし期日がくると逃げる。で、バグだらけのクソコードを俺がサビ残でせっせと直しているわけさ。
どこの業界でもそんなもんだろ。
それ自体はいいんだけど、現場の人間に金が届く頃には抜かれた額だけっていう。
途中で加工や組立が無いなら一次請けしかダメってすりゃ良いんだろうけど、
そうしたら失業者がわんさか湧いてくるよなぁ
でも活動している間はとても楽しかった
たとえ一人になっても信ずるもののために活動しない俺もしょせん偽者なわけだがね
日本じゃ色眼鏡で見られるとかリスクが高いけど宗教に向いてる人とか
宗教に入ったほうが生きやすい人って潜在的にかなりいると思うし
どうしても生きづらいと思うなら試す価値はあると思う
現状生きててよかったと言える状態ではないが
師は何処にいるのでしょうか
人生経験の浅いガキはお前の努力不足だと言うだろうけど、貴方が腐ってるのは良い出会いがないからですよ。
そして、それは運で決まるので上手くいかない場合は諦めましょう。
まあなにかと物議を醸してるブログですが
↑この内容が酷すぎるので技術者の端くれとして一言いいたい(そういう釣りなのか?まあ釣られるクマー)
まず、警視庁が今回のウィルスについての情報をまとめていて、これでなにか解る人ヒントを下さいということらしい↓
http://www.keishicho.metro.tokyo.jp/jiken/jikenbo/enkaku/sub4.htm
警視庁もよほど困っていると見えるけど、こんなもので犯人が特定するのはものすごく難しい。
ソースコードの内容が公開されてるなら別だけど、ああさすがにソースそのものは手に入らないのか。
これはオブジェクトファイルを逆コンパイルかなにかして識別子だけ取り出したのかな。
で、中見ると、もうForm1でしょ。こんなデフォルトでつけられたいい加減な名前を放置してるんだからコードもやっつけに決まってる。
kakikoって頭につけてるとか俺だったら耐えられない。
あと、doURLっていうセンス。酷すぎる。doの次に名詞を持ってくる場合は「○○する」になるわけだけど、「URLする」って変だろ。
似た言葉で「do hyperlink」はあるけど、これは「リンクする」「ハイパーリンクする」だからそう変じゃない。
さっきのブログだと
と書いてあるが、doURLみたいなメソッドやins_endのようにアンダーバーで区切っているメソッドとGetUnixTimeみたいに大文字で始まってるメソッド、exitAndDelみたいに小文字で始まってるメソッドが混在してることから、とても几帳面なエンジニアのコードでない。
これで作者は英語の感覚がある、とかいう分析はかなりおかしい。
むしろstartの反対がendとstop両方ある時点でぜんぜん明確じゃない。この場合、endに対応すべきはbegin。
また、targetSanitizeもヘンな名前。sanitizeは目的語を持つ動詞だから、メソッド名にするなら単にsanitizeにするか、どうしてもtarget(これ自体が目的語なので本来は変だが)をつけたかったらsanitizeTargetにするはず。
Common_TCPっていう名前は凄くて、なにしろこれでググっても全くヒットしない。
共通性のあるライブラリっぽい名前なのにへんなところにアンダーバーがはいってるから全然ヒットしないし、Commonって名前がついてるのに、したらばの操作しかしないという矛盾。犯人はしたらばの操作をするだけのクラスにCommon_TCPという名前をつけてる。
驚くのは、TCPレイヤーの操作を全くしているように見えない(してない)こと。TCPレイヤーの操作をしてるんだったら、doURLなんてのが入るわけないし、ソケット関連のメソッドも見えない。
つまり、犯人はTCPという名前がなにか高尚なものだと思って付けたか、TCPとHTTPを混同している可能性が高い。これだけ見ても犯人がネットワークプログラミングの専門知識に疎いことが解る。知っていたらこんな命名には耐えられないからだ。
また、ふつう「Common」とプレフィクスを付ける場合は、それをいくつかの場所から「共有」するはずなのでパッと検索してみたけど、こんなクラスはどこにも公開されていない。
したらばの操作しかしないHTTPレイヤーを操作するクラスにCommon_TCPという命名をしてしまうセンス。犯人はむしろ中学二年生の可能性すら出て来たと思う。
Threadをちゃんと綴るのは、今やネットさえあれば誰でもできる。正確にタイプできなくてもコピペできればいいんだから。
しかしThreadはちゃんと英語になってるのに書き込みはkakikoだ。たぶんArticleとかWriteとかEntryとかそういう英語を思いつかなかったのでここだけ日本語のままになってるのだろう。
で、Common系は本当に謎で他にもCommonクラス、Common_Crptクラスがあるが、なぜCrptなのだろうか。
一文字目は大文字なのに_を付けてわざわざわけているのはCommon_TCPと共通した特徴だが、そもそも共通性がないものにCommonをつけていることから、作者の内側には「これはいつか再利用できるコードである」というプライドの高さが隠れている。
作者がCryptの正しい綴りを知らなかったわけではないことは、メソッドEncryptStringで解る。
この名前も冗長で、たいていの場合暗号化されるのは文字列だからわざわざStringとつけなくてもencryptだけでいい。
また同じクラスの中にcutEncodedStrと、StringをStrと略している場合もあり、統一感がとれていない。
さらにaddKaigyo、removeKaigyoなど、正気とは思えないメソッド名もある。「改行」をKaigyoと書く他に思いつかなかったのだろう。
ちなみに、「書き込み」「改行」をgoogleで「英和辞典」で検索するとトップに出てくるgoo英和辞書で検索すると、該当無しになる。
http://dictionary.goo.ne.jp/srch/ej/書き込み/m0u/
これで想像出来るのは、犯人の英語力は、goo英和辞書でしか検索しないレベルであり、改行を意味する「¥n」が実際にはCR/LF(またはCRのみかLFのみ)であることも知らない可能性があり、それを「改行」としか呼べなかったことが伺える。
また、encBuUid、decByUidがあるかと思えばEncryptString、DecryptStringがあって、もうダメポ。技術力もセンスの欠片も、少なくともこのコードからは感じられない。
非常にハッキリしているのは、とにかく自己顕示欲が強いということ。
特にCommonの多用は異常というレベルで、これは彼の承認欲求が恐ろしく強いことを意味している。
たぶん思春期特有のアレだろう。
と考えると、そもそもこのブログ主も怪しい。
最後の発言が2010年で終わってるしbotみたいなテスト書き込みばかりだ。ブログ自体も2010年の4月に書いたエントリーが最初で、そもそもC#のプログラマらしい。
このブログには度々「飲み会」とか「同僚」とかという言葉がでてくるが、どうも信憑性がない。今時都内にC#の案件を扱う会社ってそんなにあるんだろうか。
また、
このエントリーでは英文の質問に対する英文の回答を引用して、最後に本人が日本語でまとめてるが、本文には出て来ていない「commercial quality」や回答には含まれていない「game-quality」という単語が出て来てる。特に「commercial quality」は完全な錯誤で、全く文意を汲み取ってない。つまりこのエントリ主は英語を読むのが苦手だが、苦手とは知られたくないためにGoogle翻訳などを駆使して解った気になったエントリーを書いている。
そのうえWindows Live Writerみたいなダサいソフトを使ってる。
なんか基本的なことを書きたがる割に知識が偏っている&間違っている。
先日、関数とメソッドの違いを学生に聞いたら、分からんとのこと。せっかくなので自分的に整理する。
肝心の用語については専門用語を並べて誤摩化してる。Wikipediaあたりからの引用だろう。
アセンブリ言語のプログラムでは、再入可能性、再帰可能性、再配置可能性などを確保することが難しかった。これらはコンパイラ・リンカなどの技術を集めて高水準言語(C言語など)で解決され、現在のプログラミングモデルを支えている
再配置可能性がなんのために必要だったのか、Wikipediaに頼らずちゃんと答えられるのかな?
これが答えられるとしたら40歳以上のプログラマであるはずだが、その割にはマシン語の知識が乏しい。
したがって、「関数」という言葉は2種類の意味がある。ひとつめは数学の関数である。説明不要であろう。ふたつめは、数学の素養のある技術者のプログラム作成を助けるために、各プログラミング言語が独自で用意した「数学の関数に似た何か」である。
関数はfunctionの訳語であり、functionは、それ自体が「機能」を意味する英語。
まともな教養のあるプログラマなら、functionが当初「函数」と訳されて数学とともに日本に入って来て、それが略語になって「関数」になり、構造化プログラミングの導入とともに機能としてのfunctionが「関数」と誤訳されたまま入って来たことは常識。
こんな当たり前のことをくどくど書かないといけないような人は、自分がつい最近それを学んだのだという自覚がある証拠。
つまり、id:c299792458氏は犯人とかなり近いメンタリティを持っている
23人しかフォローしていない相手のうち3ユーザが、総務線、中央線、山手線の運行情報なので、23区といっても、錦糸町方面か中野方面のどちらかに住んでいて、山手線沿線かつ総務線の停車しない駅にある学校に通っている可能性が高い。
「同僚」「飲み会」などがフェイクである可能性を考慮するとリアルな中学二年生という可能性もあり得る(孤独で友達がいない子供は、そういう妄想を語りたがる)。
今後、増田も含めて警察の発表資料から「これはレベルが高い」みたいな発言をする人が居たら、そいつが犯人の可能性が高いと思う。
でもそのライフスタイルは一生続けることは出来ないよ。
若い頃と全く同じ健康状態を保ち続ける老人はいないし、放っておいても勝手に成長する子供もいない。
全ての業種が24時間365日営業していて、仕事の無いときを選んで行けるなんてこともない。
人生には自分の生活のために使う時間が絶対に必要だし、年とってライフステージが変わっていけば
自分の人生が自分だけのものだけでなくなり、より多くの時間が必要になっていく。
両親が既に不在でこの先も一生独身を貫くつもりなら今の生活を続ける事も可能だろうけど
結婚、子育て、親の介護など人生には仕事以外で時間が必要なことがたくさんあるぜ。
人生は仕事だけしてりゃ他が勝手に上手く回ってくれるってもんじゃないからね。
野心を持ってバリバリ働くのもいいことだとおもうけど、
会社の成長戦略や予算達成のために必死で働くのって体のいいただの捨て駒だから。
ええ、よかったです。
・飽きっぽい
ってでてきて、工エエェェ(´д`)ェェエエ工な気分に。
平均的な熱中度を定義して、そこからちょっとでも飽きっぽかったり、熱中したりすれば、それだけでADHDのレッテルを貼れてしまうじゃん。
ADHDの医学的なあり方に疑問を持つ専門家も多く、アメリカではADHDに関する論争(英語版)が盛んである。
原因は2007年現在、解明に向けて進んでいるがまだすべてが理解されてはいない。
抑制や自制に関する脳の神経回路が発達の段階で損なわれているという点までは、確からしいが、その特定の部位・機能が損なわれる機序は仮説の域を出ない
だそうな。
これを聞くと「親学」の信奉者達の考えも理解はできる。納得はしないけど。
伝統的な子育て(いわゆる家父長制的鉄拳制裁な教育)であれば、確かに、ADHDだろうとなかろうとその境界だろうと、子供らを家畜のように従わせることが可能だから。
だけど私はそんな世界は嫌だね。