IT日記

Webエンジニアの徒然草

スタートアップの見分け方

以前も述べたが、ベンチャー、スタートアップを名乗るのはその会社の勝手である。そもそも明確な定義などないのだから当たり前といえば当たり前なのだが、下記の紹介図書はそうした曖昧模糊としたスタートアップ、特に将来的に成長するスタートアップに一定の特徴付けをすることに成功している。

筆者はペイパルマフィアと呼ばれる、今や世界的な決済サービスであるPayPalの創業メンバーであり、現在は投資家として活動するピーター・ティールである。やがて来るインターネットバブルの崩壊を予期し、市況が良いうちに当面の資金調達を済ませた件など、筆者の経営者としての聡明さとしたたかさが窺える。

紹介図書では、例えば、スタートアップを運営する際には高給ではなく、自社株を従業員に付与することを勧めている。現金で支給してしまえば、たとえ翌日に会社が潰れたとしても既にもらった給与の価値は毀損されない。しかし、自社株は会社の将来的な業績によってその価値が算出される。

従業員の長期のコミットを期待する上で理に適っているが、こと日本においてはそもそも自社株の付与をうたっている求人情報にはあまりお目にかからない。スタートアップに限らず長期雇用が前提とされる日本の雇用習慣のせいにも思えるが、創業期の資源に乏しい状態で高給の保証はおいそれと出来ないはずだ。

たとえ相対的に劣る待遇であっても、やがて企業が爆発的に成長した暁に莫大な富が約束されるのなら酔狂な賭けをする価値も幾らかはあろう。しかし、そうした利点も無しにスタートアップと名乗る零細企業が従業員と雇用契約を結ぶのは考えてみれば奇異な話である。結局のところ、自分で損得勘定も出来ない無知な労働者が冷遇される構図がここにも見られるだけの話なのだろうが。

その他にも、商品やサービスの質だけでなくその販路や営業の重要性など、紹介図書は様々な点で新規事業に関する示唆を与えてくれる。一従業員としてスタートアップで働くことに興味のある者はもちろん、将来起業し、単なる零細事業ではなく本気で新たな領域を切り開いていきたい者や新興企業向けの投資に関わる者などに一読の価値があるように思える。

 

ゼロ・トゥ・ワン―君はゼロから何を生み出せるか

ゼロ・トゥ・ワン―君はゼロから何を生み出せるか

 

 

21世紀のキャリアパス

前回、下記の紹介図書を否定的な論調で語ってしまったので補足しておきたい。本書はできるだけ名の通った高偏差値の大学を卒業し、一部上場の大手企業へ入社し、定年までそこに勤めるという旧来的な終身雇用の価値観に疑問を投げかける。

勤め先はキャリア上の通過点に過ぎず、必要であれば転職も辞さない。若手が権限や金銭の面で恵まれない官僚的な内資の大手企業に否定的であり、進取の気性を持つ者にはベンチャー外資系企業を勧める。そして、日本国内だけでなく国外就業も視野に入れ、そのための準備を怠るべきでないと説く。大手企業に入社すればそれだけで安泰なわけでない、と言われて久しい現代において、至極まっとうな言説を展開する良書なのだ。

著者自身、長く米国で働いており、日本と米国のIT企業との違いを肌で感じているのではないか。そして、おそらくこれらはIT業界に限った話ではなく、どの職種・業界であっても当てはまる話なのであろう。

褒めてばかりでは芸がないので、いささか釘を刺しておきたい。当然ながら、キャリアにおいて「これさえやっておけば安全」などという都合の良い話は存在しない。野心を胸に実力主義ベンチャー外資に打って出たところで、そちらも決して楽園ではないのだ。

仕組みの整わない小企業において、悠長な訓練の余裕などない。資本の乏しい会社では、目前の業務をこなすことが第一に要求される。思い通りの職歴を積める者などまずいないのだ。そして、目先の糧を得るため、設立当初には幾ばくか存在しえた高邁な理念を忘れ、大手企業の単なる下請けに甘んじるところも多い。

外資系企業はパフォーマンスが悪ければ解雇される。実力主義を謳ったところで、成果を測る尺度に客観的なものなどまずない。ともすれば属人的な評価基準に右往左往することになる。そして、景気が悪ければ、たとえ本人の成績が良かろうと部署や支社ごと消滅するという憂き目にも会いかねない。どれほど優秀であろうと、人の身で経済現象を制御するのは不可能である。

国外に目を向けたところで、経済成長に行き詰まっているのは物質的な需要が一通り満たされた先進国であればどこも同様である。成長期と同様の躍進が得られないのは国も人も同じなのだ。虚業と蔑まれる金融やITに頼れど、栄枯盛衰、弱肉強食が貫かれる業界で万人の成功は望めない。発展途上国もいずれは経済成長が一巡し、今の先進国と同様の問題に直面することになるだろう。一部では既に、人件費の高騰した中国から生産工場を日本国内に回帰させるといった動きも出ている。

真偽の程はさておき、一昔前は名のある大手企業や役所に入れば安寧な人生が送れると信じられていた。そして、その信仰が幅を利かせる程度には、そこで利得を上げた者も多く存在したのだろう。

現在では幸か不幸か、この信仰はかなり崩れている。国も企業もあてにはならず、分かりやすく整備された道路がない以上、歩む道は自分で決めるしかない。できないより良いのは確かだが、英語ができようがプログラミングができようが、安泰は買えない。

死にたくなければやるしかない、という現実があるだけなのだ。

 

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

 

 

エンジニアへの勉強圧力

職業選びの基準は多々あれど、「好きなもの」を仕事にするというのは一つの答えだ。良いことばかりがあるわけではないので、 モチベーションをいかに保てるかというのは確かに重視しても良いことだろう。下記の紹介図書もそうした意見を持つ著者に綴られている。

かつてMicrosoftに勤め、米国で長年働き、起業もいくつか経験した著者も仕事選びで一番大切なのは「好きだから頑張れる」ことだと説く。その工程にアーティスティックな要素を含むソフトウェア開発において、こうした言説に共感するエンジニアはかなり多いだろう。

そして、日進月歩のテクノロジーに追いつく必要性と相まって、エンジニアの中には余暇を利用しての勉強は半ば当然という文化が形成されている。残念ながら、自発的な取り組みだったはずの新技術を用いた楽しいお遊びが、生き残るための義務へと変貌しているフシがあるのだ。いくら好物といえど、毎日三食であればいい加減嫌気が差してもおかしくはない。

そもそも商売である以上、営利を無視することはできない。食指の動かぬ分野であっても必要であれば情報収集にかられる。また、悪徳な企業であれば、そうしたエンジニアなら業務時間外も研鑽して当然という空気を長時間労働の正当化に利用する。若い時分であれば溢れる気力と体力で多少の苦難は乗り切れるだろうが、大体にして家庭でも持とうものなら新技術の追求だけに時間を割くのは難しい。そのため、多くは一線を退いて管理職、もしくはIT業界特有の初期投資費用の低さを利用して自前で零細事業を営むことになる。

そして、ソフトウェアエンジニアに限らず、その制作物に芸術的な側面を持つ職業は多かれ少なかれ作ること自体に喜びを感じる人間が就く。その反面、金銭的な報酬はなおざりにしがちである。経営側からすれば、これ程搾取しやすい人種もいないであろう。

また、高品質なオープンソースが氾濫する現在において、ソフトウェアエンジニアの仕事は既製品を組み合わせて一つの製品にする側面が強い。そのため、自己の創作の余地は一昔前よりも相当少ないのだ。

不毛なラットレースの過程を果たして、真に楽しめる人間はどれ程存在するのだろう。実際のところ、「好き」という気持ちが根底にあれど、純粋にそれだけを貫けることは人生においてまずない。理想も時に人生を狂わせる劇薬になり兼ねないと思うのは私だけだろうか。

 

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

 

 

データは量より質

ここ数年、ビッグデータという言葉が持て囃されている。システム内に堆積された無数の記録を分析し、経営上の意思決定に役立てようという試みが盛んになっており、そういった取り組みを象徴する言葉である。

こうした動きが出てきた背景は、ハードウェアの進歩により今まで机上の空論に過ぎなかった大量データを扱う技術が実用可能になったためとも、従来の業務システムの作り込みが一巡し、ビッグデータ分析基盤の構築という新たな市場を求めるソフトウェア業界の営業活動のためとも言われる。

そして、データ分析を担う職業を表すものとして、データサイエンティストという新たな言葉が生まれた。しかし実際には、その先端的なイメージに反して、他のすべての職業と同様に泥臭い作業を伴う仕事である。

まず、溜め込まれたデータがそこまで綺麗でないことも珍しくない。そもそもが後に分析に使うためというよりも、システムの動作検証用に記録された程度のデータのこともしばしばあり、分析上重要な意味を持つデータが欠けていてもおかしくないのだ。

ソフトウェアはその要件を満たすことに焦点が置かれ、後に分析に資するかどうかは二の次にされがちなのである。データ分析自体が新しい取り組みであり、とりあえず溜まったデータからなんとなく分析が始まる程度の事も多い。

商品価格が欠けた購買履歴では、単価を反映した分析が不可能なのは自明だ。クズ野菜ばかりから豪華絢爛なフルコースを作ることは不可能であろう。食材の不備は料理人の腕以前の問題なのである。

そもそも、そう簡単に有意な結果が得られるとは限らない。周期的な購買数の増減が観測されたところで、毎週決まった曜日に安売りをしているなら当たり前なのである。分かったところで次の一手に繋がるものではない。

地道な試行錯誤が必要だが、かかった時間の分だけ結果が伴うとは限らない。サイエンティストと銘打ちながら、ドブさらいをして底に沈んだ小銭をかき集めるかの如き営みが必要なのだ。

そして、多くの先進的な取り組みと同様、周囲はその効用と限界を容易に理解しない。流行り言葉に踊らされただけのまともな統計の知識もない経営陣に対し、その期待値を制御していかなければならない困難な役割なのである。

ビッグデータと騒がれているが、ただ大量のデータがあれば良いというものではないのだ。そもそも、取り扱いに専門的なシステムが必要なほどの大量データを要求される局面はほとんどない。全体の傾向を知るためなら、楽に取り扱える程度の一部のデータをランダムに抽出してやれば済む話なのだ。

下記の紹介図書は統計の専門知識を持たない者にも分かるよう平易な言葉で綴られている。統計学の概要を掴むために初学者及び非エンジニアに勧めたい書籍である。

無計画な分析基盤の整備に数千万から億単位の投資をしてしまった経営者と筆者のやり取りが面白い。

 

私はいつも不思議でならない。「何がわかるかもわからずに、なんでそんな投資したんですか?」と正直聞きたい。というか、何度か実際にそう聞いてみたのだが、「いや、何かはわかりそうな気がするんだよ」とか「一応の現状把握には繋がったんだよ」とかいう、もやっとした答えしか得られたことがない。

 

統計学が最強の学問である

統計学が最強の学問である

 

 

必要なのは才能

ドイツ軍人のゼークトが提唱したと言われる組織論がある。軍組織を運営する上での考察を述べており、その中に、人員を能力の有無とやる気の有無という基準で四つに分類したものが知られている。

この理論によると、やる気も能力もない人間がいちばんタチが悪いかというと、そうではない。最低限、何も考えずに言われたことはこなすからだ。

最も困るのはやる気があるが能力のない人間であり、自発的な取り組みはするものの、能力がないため肝心の成果が伴わない。それどころか、間違ったやり方に周囲を巻き込む迷惑な存在なのである。

企業社会において、現場から管理職に昇進した際にしばしばこのケースが見られる。現場で一プレイヤーとしては成果を出せたかも知れないが、悲しいかな、それはマネージャーとしての成果とは必ずしも一致しない。自分で成果を挙げるのではなく、いかに部下に成果を出させるかが問題なのだ。

マネージャーに本来要求される周囲とのコミュニケーションを怠り、チームとしての仕組み作りもしない。決定的に協調に欠けるのだ。しかし、プレイヤーとしては一定の成果を出しており、自分の仕事に自負もやる気もある。かくして、チーム全体に多大な迷惑をかける無能な上官の出来上がりというわけだ。

戦場では上官の死因のうち、一定数は部下による背後からの狙撃だという。単に理不尽な上官に腹を立てた場合もあろうが、無能な上官に盲目的に従っていては自分たちの命も危ういためであろう。

戦争のない平和な現在の先進国において、背後からの狙撃など現実味のない絵空事でしかない。現実には、耐えられなくなった部下は離職していくのみである。

残念なことに、無能な管理職の例に限らず、こうした迷惑な人間がそのパフォーマンスを改善することはあまりない。努力だけで誰もがプロのスポーツ選手になれるわけではないのだ。一定のセンスがあって初めて、努力が身を結ぶことになる。不得手な分野で不毛な研鑽に励んだところで、才気に富んだ競争相手には決して敵わない。

幸いなのは、才能と言われるものが分野によって多様なことであろう。そして、企業社会においては、その会社や職業集団独自の価値観に共感できるか、適応できるかといった、才能というには語弊のある、個人の性質が進退を左右することも多い。淡水魚は海水では生きられず、遠からず自ら職を辞することになる。

所詮、素質や成果を計る指標に唯一の客観的なものはなく、自分にとって心地よいコミュニティに人は住み着くのである。人は感性の似た同族を好み、判断基準を同じにする者とは意志疎通に労力もかからない。向き不向きを論じる根拠が、客観的な素質の有無なのか主観的な組織文化との相性なのかは時に明確ではなく、おそらく重要でもない。

結局は適材適所であり、不適な職場で時間を無駄にするくらいであれば、新天地を望んだ方が個人の生き方としては幸福なのであろう。

手を動かしてプログラミングするのは単なる暇人

プログラミングの習熟において、教本を読むだけでなく実際に手を動かしてソースコードを書くことが奨励されるのが一般的だ。他人が開発したライブラリ等に関しても、ただその利用マニュアルを読むだけでなく、それらを利用した何らかのプロトタイプを実際に作ることが良しとされる。

こういった風潮は果たして正しいのだろうか。一概にそうとは言えなく、時に弊害があるように思える。

ITエンジニアの仕事は課題の解決であり、その手段としてソフトウェアがあるだけだ。以前論じたように、出来合いの部品を組み合わせて一つにする性質が強く、自作する、つまり自分でコーディングすることは効率を阻害しかねない。

自作したソフトウェアは基本的に自分達で維持・管理するしかない。一定のメンテナンスコストが発生し続ける、一種の負債としての側面を持つのだ。このことは、前回紹介したYAGNIの精神にも現れている。

学習用に作ったものなど作り捨ててしまえばそれで済むかも知れないが、過度なコーディングは、実際には実戦では要求されない、為にする訓練ではないかという議論も成り立つ。

まあ、さすがにこれはかなりの暴論であり、自分で手を動かすことに一定の効用があることは個人的な感覚からして否定はできない。しかし、数多あるオープンソースなどを逐一試してみるには人生はあまりに短いのも確かだ。

新たなライブラリなど、今この瞬間も世界中のエンジニアの手によって開発されている。しかしそれらは玉石混交であり、多くは日の目を見ない。既存の利用実績の豊富なノウハウ・ツールや同時期に出現した競合に代替えされることも多く、時には開発者自身にも見切りをつけられ、打ち捨てられたガラクタに成り果てる。

使いものになるか定かでないオモチャをいちいち試していては切りがない。にも関わらず、そんな非効率なお遊びを無批判に良しとするのは大いに疑問である。

時間という万人に等しく有限なリソースを、他人より上手く投資した者だけが競争に勝てるのだ。これは何も、ITエンジニアの訓練に限った話ではない。

愚者は経験に学び、賢者は歴史に学ぶ。

発表されたライブラリやフレームワーク付随の公式文献にとどまらず、それに対する同業者のレビューや使用事例を紹介したメディアへ目を通すなども有意な取り組みであろう。そもそもどういった媒体から新製品の情報を得られるかも把握しておく必要がある。

自分で手を動かすことはブルーカラーの労働集約的な性質を孕む。どう作るかではなく、何ができて何を作るのか。重要なのはシステムの設計である。真に利益を得るためには、末端の作業ではなく、より上位の意思決定が求められるはずだ。

我々は巨人の肩に乗る必要があるのだ。

 

あなたの知らない超絶技巧プログラミングの世界

あなたの知らない超絶技巧プログラミングの世界

 

 

優れたエンジニアにビジネスはできない。

YAGNIという言葉がある。ソフトウェア開発における過剰な作り込みを戒める単語だが、実際には余計な機能の開発に時間を費やす羽目になることは珍しくない。これはエンジニアの職人気質、完璧主義が一因だ。

エンジニアに限らず、何らかの専門知識を有する職人的な職業の人間はその知識・ノウハウを蓄え、洗練する必要にかられる。その反面、自分達の仕事に不必要に高い評価をする嫌いがあり、その職人集団特有の価値観に染まりやすい。

原理主義的なITエンジニアの場合、その高度な知識を総動員し、いかなる追加要望にも対応するために、様々な機能を事前に盛り込もうとする。もちろん、セキュリティも万全で、別のエンジニアに引き継いだ時に備えて読みやすいソースコードを書くことも怠らない。

それだけ聞けば良いことのように思えるが、そもそも人間のやることに完全などあり得ない。決して到達できないゴールを目指して、ただいたずらに時間をかけることになる。あるかないかで言えばあったほうが良い、といった程度の機能の開発・維持に「時間」という貴重で有限なリソースを多大に費やしても仕方ないのだ。セキュリティは新たな攻撃手法とその対策とのいたちごっこでしかなく、ソースコードの読みやすさなど究極的には主観によるものであり、唯一無二の正しい書き方などない。

費用対効果という、ビジネスにおいては言わば当たり前の観点を置き去りにする職人を企業社会において本来高く評価するべきではないだろう。

しかし、こうした偏った人間ほどその専門知識だけはやたらに高かったりする。天は二物を与えず、である。そしてこうした偏った人間は、他の同じ職業の者と比較しても広範な専門知識ゆえ、集団の中で発言力を持ちやすい。そうして、ただソフトウェアの品質を高めるためだけなら時に正しいかも知れないが、ビジネス的には誤った意思決定がなされることになる。

要はオーバースペックであり、技術力が高ければそれだけで儲かるほど世の中は簡単ではない。商業的な成功に必要な技術力は一定水準のものでしかなく、後は企画が当たるかどうかだけの話なのである。

よく言われるように、技術は手段でしかなく、ソフトウェアは目的を達成するための単なる道具でしかない。自己満足の創作が許されるのはプライベートな趣味においてのみであり、手段が目的となっては本末転倒だ。

内科的療法を度外視し、切るしか能がない外科医はともすれば迷惑な存在である。

また、ただ技術力を高めても、個人として一定以上の経済的成功は得られない。ただ誰かに雇われるのが有利になるだけである。

一般にも知られたスターエンジニアとして古くからはMicrosoftビル・ゲイツ、最近ではFacebookマーク・ザッカーバーグあたりであろうか、が挙げられるのをよく見るが、言わずもがな、彼らは純粋な技術者として富を得たわけではない。その経営する企業が世界的な成功を収めたから、あくまで経営者として手腕を発揮し、自社の株式を保有していたからである。

もちろん株式への投資はそれ相応のリスクを伴うが、たとえ成長企業に属していようと、その株を持たない一技術者など所詮は宮仕えの身でしかない。

そもそも、エンジニアには専門分野に固執し、お金に関する話を嫌い、面倒臭がる傾向が見られる。雇用の際に条件交渉する余地を残したままのことも多いだろう。(もっとも、エンジニアは創作すること自体に価値を見出し、金銭的報酬にあまり重きを置かないことも多いのだが。利害関係のあるビジネス上の判断ならともかく、個人の人生設計上、何を重視するかに口を出すのは余計なお世話というものだ。)

いくらかの利用価値はあるが、時に高慢で扱いにくく、口下手で浮世離れした人種なのである。