ラベル Career の投稿を表示しています。 すべての投稿を表示
ラベル Career の投稿を表示しています。 すべての投稿を表示

2015-01-10

カズオ・イシグロ「日の名残り」

圧倒的らしい本


quipped の人の「2014年に読んだ本」をながめていたら、カズオ・イシグロの「日の名残り」という本が紹介されていた。

Bezosはこの本を、「たったの10時間、主人公の人生を覗くことで、人生と後悔について教えてくれる本だ」と評していたが(Bezosは後悔最小化フレームワークの提唱者である)、自分の感想は、社畜ライフの最大の悲哀は、社畜であるという自意識の欠乏だということ。今年読んだ小説では、圧倒的に印象に残った。

それほど圧倒的なら、ということで、読んでみた。だが和訳。「わたしを離さないで」(Never Let Me Go) と同じく土屋政雄の翻訳だ。

みんな


家が火事になったらどうする? 家族全員を今に集めて、どの逃げ道が最適か一時間も討論するか? 昔ならそれでよかった、昔ならな。だが、世界はすっかり複雑な場所に変わってしまった。その辺を歩いている人が、誰でも政治学と経済学と世界貿易のことを知っているとは期待できない。

みんなで意見を言い合おうとか、誰の意見にも一理あるとかで、広く意見を集めるというのは、問題解決の手段としては必ずしも適切ではない。とは常々考えている。

基本的な物理現象を理解できない人が、発電所の稼働に反対/賛成だと思うのは勝手だけれど、わたしと意見が同じかどうかに関係なく、直接的な意志決定に関わらないで欲しい。

※ 異なる視点を取り入れること自体に、文句があるのではない。念のため。

後悔


最小化/最大化するという考え方が好きだ。ネガティブなことを完全に無くすのは大変だけれど、最小化するのが現実的なことがある。たとえば、サーバダウンタイムをゼロにするとの、最小化するのは大きな違いがある。

Python 温泉アドベントカレンダーで「プログラマになって、後悔がある」と書いたことに対して、Twitter なんかで反響があった気がする。後悔しないほうがいいけど、わたしはどっちに転んでも後悔はするところまで来ている。子どものころ勉強しなかったとか、高校で合コンにもっと行っとけばよかったとか、取り返しのつかない後悔はいっぱいある。遺憾ではある。なので、今後の人生で、後悔を最小化する方向に倒している。

プログラマになったことにより、いろいろと後悔はある。けれど、プログラマにならなかったら、もっと比べ物にならないくらい、大きな後悔をしただろうと考えている。

A と B を選択があるとき、どちらがより小さな後悔で済むだろう?って考える。ベゾスの後悔とはわたしの後悔は違うかもしれないけれど。

バイアス


この作品の登場人物のひとりが、自己弁護というか、自己肯定というか、とにかく自分がよく思われるように話す。嘘ではないけれど、歪んで伝わってくる。意図しているなら、信頼できない人物である。

問題は、その人物はものすごく大きな感情バイアスが働いてるかも知れない、ということだ。自分が正しいと信じたいがために、歪んで認知しているかも知れない。

後悔を最小化しようとするときには、注意が必要だ。心理的不協和を解決するために、後悔をせずに、これでよかったんだ、肯定してしまうかも知れない。

というわけで


慌てて読んだこともあって、圧倒的な印象は残っていない。読み込めていない感があるので、注意深く再読したい。

2014-05-26

クリエイティブ業界で働くべき理由、キャリア論

キャリアハックのインタビュー記事「エンジニアがクリエイティブ業界で働くべき最大の理由|バスキュール 古川亨のキャリア論」が公開された。こういうところにも、ソフトウェア・エンジニアのポジションがあることを知ってもらえるといいなぁ、という思いでグダグダ話した内容を、記者の白石氏がきれいにまとめてくれた。

タイトルにある働くべき理由や、キャリア論が明示的ではないと指摘された。記事に興味を持った人に対して、続きはブログで、という位置づけで、この文章を書くことにした。

「一般的な問題解決方法と、技術的知識/技能を、自分自身の環境に合った組み合わせで習得/実践することで、エンジニアが提供できる価値が大きくなる領域が存在する。クリエティブ業界はそのひとつだ。」という立ち位置で、インタビューに答え、この文章を書いている。


主語は、私(のようなエンジニア)


人口百人以下の村役場に勤める二十三歳の出納係と、丸の内の外資系証券会社に勤める二十三歳のファンドマネージャーでは恋愛のあり方が違う。(村上龍「恋愛の格差」)

インタビューもこの文章も、主語は「私」だ。あるいは「私のようなエンジニア」だ。似た状況になっている人なら、ヒントになると思う。エンジニアリング自体が目的になっていない組織に雇用され、エンジニアチームが数人で、1-2ヶ月単位でプロジェクトが編成され、人命に関わるような製品ではなく、技術レベルでの仕様がしょっちゅう変更され、自分自身はスーパーハカーではないアラフォー、という状況だ。まったく同じ状況ではなくても、似たような状況や、似たような派生状況(テストだけに1ヶ月もかけられないなど)ならヒントになるだろう。

一方で似ていない状況だと、役に立たないだろう。エンジニアリング自体が目的の組織、ものすごく厳格な品質管理プロセス、継続的に同じチームが同じ製品を開発、長期のプロジェクト、などだ。

ワインバーグの言葉を借りると、問題とは希望と認識のギャップだ。希望と認識に依存するということは、人に依存するということだ。同じ現象であっても、観測者によって異なる問題が定義されることがある。このへんは「ライトついてますか?」あたりを読まれたし。

汎用的なスキルと、個別具体的なスキル


そういう人たちは、二つの点で誤解をしている。一つは、好きなことを見つけることは大してむずかしいことではないと思っている点で、二つ目は、好きなことをやる場合にはたいてい訓練された高度な技術が必要になるということだ。(村上龍「恋愛の格差」)
汎用的な問題解決スキルと、技術やビジネスの個別具体的な知識の両方が必要で、日々、更新していくことで、自分の価値を提供できるだろうと考えている。

汎用的な問題解決というのは、もれなくダブりなく問題のロジックツリーを描くだとか、原因と結果をきちんと分けて認識するだとか、仮説思考だとか、なぜなぜ5回だとか、そういうことだ。高い凝集度と低い結合度を維持するとかも、技術的ではあるが汎用的な知識だろう。汎用的な問題解決スキルがないと、たとえばある言語の仕様を知っていても、個別の知識やベストプラクティスをどう適用すべきかが分からないことがある。

一方で、具体的な知識や技能がなければ、現実的な時間で、問題の解決や、発見自体ができなくなる。HTMLとJavaScriptの知識なしで、ウェブアプリのレイアウト崩れを直すのは至難の業だ。

両方できるのがいいに決まっている。君も明日からフルスタックエンジニアだ、と言うのは簡単だ。けれど、両方ですごく高いレベルで習得するには時間がかかるだろう。状況によって適切なバランスも異なるので、次は何を学ぶか、に単一の回答はない。

おそらくは、日々、問題解決をして、細かい意思決定をしているはずだ。毎日でも毎週でもなんでもいいから、定期的に方法論と技術的知識と、あとは他のこと(穏やかに文句を言うスキルとか、おっぱいばっかり見て話さないとか)のどこが欠けていたのか、何を身につければいいのか、を繰り返していくことで、適切なスキルセットを構築していくしかない。

単一障害点を減らす


「自分一人で生活できる能力を持つこと」が自立だと仮定すると、リストラされたとたんに生活の基盤を失ってしまう人は果たして自立していると言えるのだろうか。(村上龍「恋愛の格差」)


記事には、コミュニケーションなしで開発を進める、というようなことを書いてある。関係者の仲が悪いという意味ではない。開発仮定における人的な単一障害点(Single Point of Failure / SPOF)を減らすために、そうなっている、ということだ。私が置かれている状況で発生する問題にたいする解決策のひとつだ。

とにかく仕様変更が発生する。「この仕様は変えないでください。事前に検討して決定してください」と言うことはできる。けれど変わる。もう少し上のレイヤでできることがあるだろうけれど、一朝一夕に変えることは(今の私には)できない。けれど作り方を工夫できる。

API やコンポーネントの設計をするとき、各担当者が「自分のタスクを完了させるために、誰かの助けが必要」という状況をできるだけ減らすようにしている。個々の工数が少々増えても構わない。「サーバがAPIにこの値をつけてくれないと、クライアントの開発とテストができないので、待ち」みたいな時間を減らすほうが効果が大きい。サーバとクライアントの両方が同時にデプロイしないと動かない、みたいな状況も減らしたい。個別の工数ではなくて、全体のリリースサイクルを短くしたいのだ。

NETFLIX のダイナミック・スクリプティング・プラットフォームとか、PaaS とか、Lua でスクリプトを組み込むとか、そういうのが理想だろう。いまの案件のエンジニアリング・リソースと、プロジェクトごとの要件のばらつき具合を見ると、躊躇している。一方で、汎用の BaaS をいくつか持っていて、プロジェクトをまたいで使用している。

というわけで

汎用的な問題解決方法と、個別具体的な知識/方法を、自分に合った組み合わせで習得/実践することが必要だと考える次第である。コンテクストに強く依存すると、話が長くなりがちなのだけれど、前提条件を明らかにすることで話がクリアになると考えたので、書いてみた。

2013-01-14

2013年にやらないこと

Chikirinの日記に「来年の抱負) やらないことを3つ決めよう!」という記事があります。昨年末のですね。

ビジネスであれば、「アジア市場には出るけど、欧米には進出しない」と決めたり、「インフラビジネスはやるけど、個別商品は売らない」と決めることができるでしょう。

何かを選ぶということは、他のもの・ことを選ばないということです。とはいえ、意識しないと、優先順位の低いことを選んでしまって、高いことを選ぶ資源がなくなってしまうことがあります。

というわけで、2013年にやらないこと


  • 日帰りできないレース(トライアスロン中島大会は例外)
  • 時間のかかる栄養補給
  • 長時間のネットサーフィン

昨年は大阪でトライアスロンに出たりとかしてて、時間もお金もかかったのでした。というわけで、今年はレース控えめ、とくに遠方のレースには出ません。

栄養補給というのは、食事のことです。私にとって、食事は大きく分けて2種類あります。ひとつは生命活動、もうひとつはエンターテイメントです。前者はよっぽど苦痛でなければ味とかどうでもいいので、効率重視です。森博嗣の小説で「空中給油が理想」みたいな台詞がありましたが、そういう感じですね。

長時間のネットサーフィンというのは、Twitter や Facebook や Google+ をだらだら見るとか、メンション送り合ったりとかのことです。長時間の定義はまだわかりませんが、まずは5分(ポモドーロの休憩分)くらいをリミットにしてみようと考えています。

2012-12-04

中間地点としての PySpa - PySpaアドベントカレンダー4日目

このエントリは、PySpaアドベントカレンダー という「思いの丈を綴る(なんでも良い)」ブログイベント4日目の記事です。比較的歳をとってから、プログラマになろうとしたおっさんの吐露です。


能書き


PySpa とは「Python温泉」を語源とするはずで、開発合宿と見せかけて、なんとなくソフトウェア開発者やその周辺の人たちが、温泉旅館を借りきる集まりのひとつ、と理解しています。

アドベントカレンダー栄えある1日目は @akisutesama が書いているわけですが、いきなり事実誤認があるわけですよ。

例えば今回のアドベントカレンダー参加メンバーだと 
12/1 akisutesama
12/3 tokibito
12/4 torufurukawa
12/8 shimizukawa
あたりがPySpa経由で雇用されたビープラウド社員だったりします。

待てやこら。PySpa に初参加したときには、すでにビープラウドを退職した後ですよ。

とはいえ、私のソフトウェア開発者としてのキャリア形成で、PySpa は重要な要素なのです。さて、このアドベントカレンダー、なんでも良いって説明なので、俺のPythonとPySpaの話をしちゃうぞ♡  ハウツーとしての意味はありませんが、考古学的価値はあるかも知れません。


いまはむかし…


34歳ごろ、計測器メーカーでマーケティングの仕事をしつつ、2ちゃんねるの「35歳なんだけどプログラマになれる?」みたいなスレを見ていました。学生の頃からプログラマになりたかったのですが、面接に落ちたり、大学院を中退したり、面接に落ちたり、面接に落ちたり、女の子に振られたりしているうちに、負けることに慣れきってしまい、いろんなことを諦めていました。その割には、でもやっぱりプログラマやりたなぁ、などとぐずぐず2ちゃんねるですよ。

どういうきっかけがあったのか、まったく覚えていませんが「転職して職業としてプログラマになろう!」と決めたような気がします。どうせキャバ嬢にそそのかされたとか、そんなことがきっかけでしょう。で、面接とか受け始めるのですが、まあ、30代未経験が受かるわけがありません。

そういうとき、ググると、自分に都合のいい解釈ができるウェブサイトがすぐに見つかります。そのひとつがアクセンスのおまけ というページです。たぶん、ここに書かれていたような気がするのですが、当時「Python ハッカーを募集」って書いてあったのです。いまはもう書かれていません。ほら、世界は俺を求めている、とか思って安心だけしていました。いかにも不採用になりそうだったので、応募していません。

ハッカーに会おう


ひっぱってすみません、もうすぐ PySpa 出てきます。

普通に自分の職歴で転職しようとすると、どうしても、計測制御分野でマーケティング担当とか、マネージャとかになってしまうんですよね。ちがうんだよ。プログラマになりたいんだよ。ってなわけで、きっとハッカーたちが居るであろう勉強会に顔を出そうと思いました。初対面で話すとかまったくできないので、話聞いて帰るだけでした。行ってたのは Python Code Reading という勉強会で、そこで Python 3.0 の紹介をやらせてもらえることになりました。

講師をやると、その後の懇親会で、何もしなくても話しかけてもらえます。これすごく楽なんですよね。そのとき @atusi さんにも話しかけてもらえました。

atusi「いつも、どんなとこ行ってるんですか?」
私「いえ、ここ (Python Code Reading) しか来てないんです」
atusi「Python やってるんだったら、 BPStudy と Python 温泉っていうのに行ってみたらいいですよ」

おまたせしました、やっと登場、Python 温泉 a.k.a PySpa です。

atusi「Python 温泉は、集まってコード書いたりだらだらやってるだけなんですけどね。」

おお、ハッカーと温泉で仲良くなって、会社に入れてもらおう!という甘い策略を思いつきました。

私「ありがとうございます。早速申し込んでみます」


しかし…


当時の PySpa は、開催の告知をしたら、一瞬にして枠が埋まってしまって、ぜんぜん参加できなかったのです。くぅぅぅぅ。

けど真っ向勝負をしていたら、いつまでたってもプログラマになれないわけですから、PySpa に参加し、アクセンスの人と仲良くなり、うっかり間違って採用される、という目論見を持ち続けていました。

一方で、ソフトウェア開発の勉強会は、転職とは関係なく面白かったので、Python Code Reading や BP Study には、ときどき参加するようにしていました。あ、いや、ちょっとは期待があったかも。すみません、すみません。その後、ビープラウドで募集があったときに拾ってもらい、めでたくプログラマになれたわけです。


で、PySpa は?


その後も PySpa は開催されていたのですが、仕事や個人の都合、あるいは震災があったりとかで、参加していませんでした。やっと参加したのは、今年になってからです。

PySpa 経由で転職、というのは、まったく見当違いな目論見だったわけですが、 PySpa という道標があったから、その界隈にうろうろすることになり、プログラマになれました。

いまどき、35歳でプログラマになりたいような人がいるのか分かりませんし、PySpa を目指してもおそらくプログラマになれる気はしませんが。これを読んで PySpa 目指すよりも、手を動かしたほうがいい気がします。なので、この文章から教訓や方法論は得られないでしょう。最初に書いたように、おっさんの吐露です。

けど、まあ、何か偉そうに書いちゃおう。思いの丈を綴っていいらしいし。はっきり言って、プログラマになって後悔したことなんて、何回もあります。これからもあるでしょう。マーケやってたほうがモテたかも知れません。けど、プログラマになっていなかったら、もっと大きな後悔をしたはずです。死ぬまでずーーーーーっと「私は本当はプログラマになりたかったのに」と悔い続けたであろうことは、想像に難くありません。行動の諦めはいいくせに、気持ちだけ未練がましい私が、なんとか蟻地獄から抜け出せたのは、PySpa をゆるいながらも目指し続けていたからです。

ちなみに PySpa は、当初想像していたものとは、ぜんぜん違いました。


明日は、Python と人生とお酒の先輩である @turky です。

2011-09-01

バスキュール号に入社しました

@shin_no_suke
どういうことなの? (hg)changeset:   164:aedce6151bf9 user:        Shinya Okano<...> date:        Wed Aug 31 17:23:39 2011 summary:     buchoはオワコン
( http://twitter.com/#!/shin_no_suke/status/108831096287920128 より)


昨日で株式会社ビープラウドを退職し、本日より株式会社バスキュール号で働きます。

なんで辞めるの?と聞かれるのですが、因果関係としては、ビープラウドを辞めるからバスキュール号に行くのではなくて、バスキュール号に行くのでビープラウドを離れます。

以前、マーケティングをかじっていたことがあります。プロモーションのためのシステムを開発するという、バスキュール号のビジネスに関わりたいと思うようになりました。サーバサイドのエンジニアとしての採用ですが、企画にも口を出してよいということなので、そういう現場で働いてみたいという思いです。別に尻文字を間近で見たいからではありませんよ。見たいですけど。

業務としてのソフトウェア開発未経験の私を拾ってくれて、ここまで育ててくれたビープラウドには感謝しています。技術的なスキルも、その他のスキルもまだまだビープラウドで学ぶ余地はいっぱいあるので、そこはもったいないなぁと思います。また、ちゃんとバリューを出せていたのだろうか、と憂うことなど多々あります。が、気に病んでいても私の価値は変わりませんし、私にとってのベストをつくしたので、評価はビープラウドのメンバーとそのお客様に任せるということで。

仕事では当分 Python を使い続けますし、仕事におけるタスク自体は似ていますし、公私共にソーシャルグラフは大きく変わることはないので、これまでどおり、自分が出せるバリューを出していく所存でございます。

そうそう、ビープラウドバスキュール号も、Pythonista を探しています。