Make組ブログ

Python、Webアプリや製品・サービス開発についてhirokikyが書きます。

スタートアップが何を軸にするのか。自分が作った流れに、自分が翻弄される話

Shodo https://shodo.ink/ のオープンベータ版をリリースしてから、多くの方から反応をいただいています。ありがとうございます! ただスタートアップをやってる身として、 僕がここでぶれてはいけないんだな と最近思い始めました。

Shodoについてお話やお電話をいただくときに「AI校正スタートアップのShodoさんですね」と言ってもらえることがあります。 AI校正というワードはオープンベータ版のプレスリリースにも含めた、Shodoの重要なポイントの1つです。ですが、そうでない魅力を伝えられなかったかなと反省しております。 知っていただいて嬉しい反面、これは自分たちにとって新たなチャレンジのときだと気づきました。

ShodoとしてはAI校正だけでなく、その上位にある「執筆の場」という考えを大切にしたいからです。ツールではなく、執筆を通した仕事やライフスタイルそのものを変えていきたいと思っています。 たしかに「AI校正」という言葉はキャッチーですし、僕自身も利便性以外の思惑も(ちょっと)あって作った機能ではあります。ただ思った以上にAI校正という言葉が与えるインパクトは大きく、自分たちが、自分たちの生み出した流れに翻弄されつつあるな と思っています。「AI校正だけに注力すべきなのでは?」という仮説に心の軸を揺さぶられたりしちゃいます。実際、BERTを使って平均以上のAI校正は搭載していますし、今後も改良・チューニングしていきたい機能ではもちろんあります。

でも、Shodoが変えたいのは執筆のあり方そのものです。 今は存在しない、その世界を作っていきたいなと思っています。

記者さん、ライターさんやマーケターさんがどのように仕事をするのか、どうコミュニケーションするのか。本や寄稿文を執筆するときにどう進めてどうライターさんと連絡をとるのか。社内の魅力をどう伝えていくのか。どう次の仕事に活かしていくのか。

そういうものを根本から考え直して、より良く楽しく生産的な場所を作りたいと思っています。 それは僕自身が、そもそも記事を書いたり読んだりすることが好きだからです。

たしかに「なるほど、やはりAI校正が注目される。そこだけを押していこう」と判断しても良いでしょう。 でも今、実際にShodoを深く使ってくれている方は、レビューのやり取りやステータスの管理ができる点にも価値を感じてくれています。僕自身もShodoを使ったレビューのやり取りをしていて「これは便利だ」と感動します。

重要なのは 何で注目されているかではなく、何で本当に喜んでくれているか だからです。 その価値を見失わないことが今の僕に必要なことです。 便利なツールを作るのか、本当に生み出したい大きな場を追い求めていくか。

そこを今、試されている気がします。

この記事はShodo (https://shodo.ink) で執筆されました。

どうかプログラミングに向いてないと思わないでほしい。そしてプログラミングがキャリア化した功罪の話

プログラミングに興味がある人たち、どうか「自分はプログラミングに向いてない」と思わないでほしいです。

たしかに「プログラミングスクールに通ってるから」良いスキルがあるわけではないし、スクールよりも好奇心のほうが重要なのは僕も同意です。 というか基本的な考え方はたぶんこのツイートをしてる方と、僕は同じだと思います。僕もうっかりこういうことを言うこともあります。

実際、本当に大好きで休日もプログラミングしてしまう人のほうが、スキル面で伸びが早いのも当然でしょう。 でも「休日にもプログラミングしてしまう」ほど好奇心を持って好きになるにも時間はかかると思います。

漠然とした好奇心があっても、「のめり込むほどやりたい」と思えるまでは学びが必要 だからです。 そして、もはや今のプログラミングに関する産業は単純なスキルで済まない広さがあります

「のめり込むほど好き」になれるのはまだ先のこと

何ごとも始めたては正直よく分からないものです。 自分に向いてるかどうかや、本当に好きなのかなんて分かりません。

僕自体も昔はそうで、最初プログラミングをした12歳のときも「面白いけど僕のイメージするビッグなことはどうすればできるのだろう」という虚無感があったのを覚えています。その12歳の年末年始はたぶんゲームをしてたと思います。

でもプログラミングでできることが増えて、作れるものが増えていくうちに「今作ってるものを早く完成させたい」、「もっと良いものを作りたい」という執着ができはじめました。当時はゲームを作るのがただ面白かったときでした。 今くらいずっとずっとのめり込むようになったのは、プログラミングでの繋がりができたり、成長の先が見えるようになった18歳や19歳になってからです。

僕もプログラミングを始めてから「年末年始にやるほど」になったのは6年を要しています。 まだプログラミングスクールに通ってる人や、触り始めて半年や1年の人は「向いてる向いてない」や「このすごそうな人が言うほど僕は好きじゃないな」など判断しないでください。

ただあなたが興味があってやりたいなら、まずやってみてください。いつやっても良いんです。 夢中になれたらラッキーってだけです。そのちょっとした気持ちを大事にしてください。 向いてる向いてないなんて正直どうでも良いんです。

プログラミングがキャリア化した功罪

ただ僕が子どものころ熱心にプログラミングしていたときはまだ牧歌的で、プログラミングでキャリアなど考えずにただ好きを追求できました。当時のITがすごいと言えば、僕が知っていたのはオンザエッヂ(というか堀江貴文)くらいで、まだ一般的には関係ない世界でした。

たぶん元のツイートをした方は、面接などをするときに「プログラミングスクールで学んでます(エヘン)」という人を見てきて、自分の感覚との違いにズレを感じたんでしょう。 プログラミングがキャリアとして認知されて色々な人が学ぶようになった一方、キャリアとして整備されたことで「仕事として」のみ興味を持つ人が増えたということです。

これは仕方のないことです。 気持ちとしては僕も「好奇心がある人間でないと」と思うことは正直多くあります。 でも先述したように、本当に好きになるタイミングは遅れてやってきます。 仕事のためだけに始めたけど、いつの間にか死ぬほど好きになった という人が出てくるかもしれません。 その可能性を僕は潰したくないんです。

むしろ、好奇心が持てなくても良い

むしろ、プログラミングへの好奇心が最終的に持てなくても良いです。

第一に、物事の好き嫌い、向き不向きはある程度まで習熟しないと分かりません。 これは世の中の残酷なところではありますが、向き不向きや好き嫌いなんて最初は分からないものなんです。

でももし向いていなかった、好きになれなかったとしても、良いんです。 なぜならキャリアとして十分成り立つのが今のソフトウェア産業だからです。

「いやプログラミングに真に興味ないやつと仕事したくない」と思うかもしれませんし、僕も半分同意です。 でもたとえば「プログラミングが分かるマーケター」や「プログラミングが分かるマネージャー/リーダー」はエグいほど重要です。むしろ先鋭化したプログラマーこそ、そういう人に支えられています。 もしそこまでプログラミングを好きになれなくても別スキルと掛け算で超重要人物になれます。ご安心ください。

そしてそもそも休日にプログラミングしない超優秀エンジニアはいます。文殊堂 とか映画ばっかり見てますよ。

ただもしあなたが「プログラミングのスターっぽくなってGAFAでガファガファしたい!でもプログラミングにはぶっちゃけ熱中してない(けど僕かっこいいでしょ、ドヤ)」と思うならあんまり向いてないです。あと、僕は友達になれそうにありません。

周りの意見とかどうでも良い

というか、件のツイートとかを見て一喜一憂する必要なんてないんですよ。

  • プログラミングスクールから始めてすごいエンジニアになった人がいたら夢ありませんか?
  • 休日にプログラミングしない超優秀なエンジニアいたら逆にカッコよくないっすか?
  • 途中からマーケティングに興味を持ってプログラミングスキルを持ったまま転向したって人のほうがストーリー感じませんか?

プログラミングっていうのはもう「ピコピコ大好き少年・少女が大きくなりました」って時代じゃないと思うんですよ。 自分と同じ経緯や好奇心を他人に求めるって、すごい視野を狭める結果になると思うんですよね。 組織の多様性も失われるので、結果的に弱くなるとも思います。まだこういう感覚の人結構いるので危ない気がしています。

そもそも「雇われること」を前提に自分の時間を差しだすって僕はダサいと思ってますので、自分の気になることから突っ込んで行けばいいと思います。

最終的にプログラミングを好きになれなくても、あなたには好きに生きる自由があるんですよ。

他にオススメの記事

blog.hirokiky.org

blog.hirokiky.org

blog.hirokiky.org

伸びてるっぽいので、宣伝

僕が代表取締役の会社として開発しているShodoもぜひ覗いてみてください。

shodo.ink

この記事はShodo (https://shodo.ink) で執筆されました。

PyTorchでn次元のTensorからn-1次元のTensorを使ってインデックスする

PyTorch でn次元のTensorがあったときに、n-1次元のTensorを使ってインデックスする方法です。 以下のように a というTensorと、 idx というインデックスがあったときに、 answer を取る方法です。

a = torch.tensor([
    [100, 200, 300, 400],
    [500, 600, 700, 800],
])
idx = torch.tensor([2, 3])

# 欲しい値は以下
answer = torch.tensor([300, 800])

方法のコード

>>> a.gather(1, idx.unsqueeze(1)).reshape(idx.shape)
tensor([300, 800])

一旦 idx.unsqueeze することで次元の数をあわせてから、 .gather を使ってインデックスしています。 正直これがベストかわからないので、うまい方法があれば教えてください(僕はPyTorch初心者です)。

欲しいケース

transformersのMaskedLMモデルを実行した結果から、元のセンテンスの各文字がどんな値だったかを取得するのに必要でした。 上記の aresult = model(...) として result.logitsidxinputs = tokenizer.batch_encode_plus(...) として inputs.input_ids です。

この記事はShodo (https://shodo.ink) で執筆されました。

朝食の解はやっぱりカロリーメイト(チョコレート味)だった

僕はなるべく同じものを食べたい人間で、長いことほとんどカロリーメイト(チョコレート味)を朝食に食べてきました。 でもここ数年は完全食が面白いと思い、思いついたときに朝食や昼食として試していました。

  • COMP
  • BASE BREAD
  • ゴールドスタンダード
  • INゼリー
  • フルグラ

でも結局は、カロリーメイト(チョコレート味)が一番良かった

一番美味しいし、簡単に食べられる。 夏場の暑いときはこれからもINゼリーも食べるだろうし、気まぐれにフルグラやチョコワ、菓子パン(ベルギーチョコ蒸しケーキとかランチパック)も食べると思う。美味しいからね。 でもやっぱり定番としては、カロリーメイト(チョコレート味)には僕の中で勝つものがないと思う。

BASE BREADのメープル味は結構好きだった。ただ賞味期限や買いやすさという点でカロリーメイトには勝てないし、何よりチョコレートを食べたい。 BASE BREADのチョコレートはメープルほど美味しくないし、食べやすくもない。

もちろんカロリーメイトは小学校のころから親しんでいる味なので安定感が違うというのはあるけど、そうと言っても美味しいものは美味しい。食べたあとの胃腸の快適さや体調も一番良い気がする。 長期保存用のカロリーメイトも水分が少なめで悪くはないけど、でもやっぱりオリジナルが一番シックリくる。

年も変わってこれからは、あんまり新しいのに挑戦しなくて良いかなと思っています。 新年って、みんな新しいことやろうとするじゃないですか。 でも僕としては、そんなにコロコロ変わってもしょうがないと思うんですよね。

この記事はShodo (https://shodo.ink) で執筆されました。

「価値あるもの」を作らない。VRにある価値ではない「なにか」

f:id:hirokiky:20201230150332p:plain
VRの世界

僕たち製品やサービスを作る人は、常に「価値あるもの」を作ろうとしています。 人にとって何か価値があるものを提供して、それに対する対価を得るのがビジネスや事業と考えられます。

ここで難しいのは「価値」というものの意味するところです。

僕もよく「人の抱えている課題を見つけてそれを解決してあげれば価値になる(良いビジネスになる)よ」と言っています。でも「価値」という言葉を使って考える場合、どうしてもマインドが「普遍的に良いもの」を求めてしまいませんか?僕はこれを恐れていて、特定の視座に固定されてしまうように思います。要するに 価値だけ考えると、しょうもないものしか作れないのでは と危惧しています。

VRChatにある「なにか」

VRChatを考えてみましょう。 VRChatはVRのゴーグルを付けて、好きなアバターに変身して友だちとお話するサービスです。 正直言って VRChatに"普遍的な"価値はありません が、僕の心を掴む「なにか」があります

ちょうど丸1年ほどVRChatをやっていますが、そこには便利さや利点を超えた「好きである」という感覚があります。 VRChatは正直ダメなサービスです。高い機材がないと楽しみは半減するし、導入も分かりにくいし、一番楽しい部分を味わうにはコミュニケーションの障壁を乗り越える必要もあります。 実際にプレイヤーのプレイ時間を見ると「すぐやめる」か「ドハマりする」かの二極化するようです。 でも面白い。これは何でしょう。

イメージしにくい人は、黎明期のニコニコ動画2ちゃんねる、同人文化を考えてください。 そこに普遍的な「良いコンテンツ」はありませんが、ただ何か面白い熱量があったと思います。

たぶんVRChatは一部の人しかハマらないと思いますし、「キメェ」と思う人もたくさんいるだろうと思います。 でもそれこそが、何か新しいものである証明だとすら感じます。

VRChatに今僕が感じるのは、その熱のようなものです。

f:id:hirokiky:20201230145445p:plain
VRChatで友だちと飲む僕(真ん中が僕です)

熱を重視する

僕は「課題解決」と「価値」を重視してWebサービスを作ってきました。 でもいよいよそのモノサシを踏み外すときなのかもしれません。

もちろん現実的な課題が解決されることは最重要です。 ですがそれだけでなく「熱」というものも大切ではないでしょうか。

  • 何か新しい、これは面白いぞと思えるもの
  • 自分のこと、自分ができるんだ、と思わせてくれるもの
  • 未来を感じて熱狂してしまうもの

もっというと 「熱」を普遍的「価値」に昇華できること が良い事業開発なのかもしれません。 熱はまさに「芽」のようなもので、それを大衆に向けた普遍的な価値へ変えられることが魔法の杖の仕組みなのかもしれません。

価値とは何か、熱とは何か

改めて価値というものを考えれば、広くて便利すぎる言葉に思えます。 経済学的な効用価値の意味を考えれば、上記のような「熱」や「好き」も価値の1つと表現できます。

ですが僕は、やっぱり「価値」という言葉には危うさを覚えています 。 個々人がその言葉を感じるとき、どうしても普遍的で、交換可能な良さであるという文脈が尾を引いてしまいます。 それは製品やサービス同士を、比較表やスペックシートを使って比べるような貧相な発想しか産みません。

「好き」の大きさや熱量で考えてみましょう。あなたは自分の作ってるものに熱中してますか?熱中してくれる人はいますか?

価値をシッカリだしつつ、そこには熱があるのか「好き」があるのか、魂が震えるのかを今一度大切にしてみましょう。

VRChatで僕と握手!

f:id:hirokiky:20201230145216p:plain
Vketを歩く僕

この記事はShodo (https://shodo.ink) で執筆されました。

自分の言葉で本当に考えて生きているのか

大人になってくると、どうにも他人の言葉をうまく使って、脳死のまま生きていられるのが恐ろしいと思っています。 これはここ5年くらいでジワジワと感じていて、非常に危機感があります。

ありませんか?

たとえば「大手ってそういうもんだよね」とか「寒くなってきたから体に気をつけてね」とか、当たり前なパターンとしての言葉をただ繰り出しているような感覚です。脳も心も動いていません。ただ学習されたパターンに応じて、最適化された点数稼ぎをしているだけです。まるで自分の口を「他者から見た自分」という人格が乗っ取っているようです。

もちろん言葉や思考というものは他人から盗んできたものを継ぎ接ぎしているようなものなので、自然といえば自然なことです。ですがどうにも完全に脳死状態でも生きられる、そして楽がゆえにそうなろうとしている危機感もあります。

僕は自分の頭と心と魂で、本当に考えているのでしょうか?

ティージョブズ1995というインタビューでの一幕を紹介します。

ビジネスの世界では物事が深く考えられていません。 AppleⅡで工場を使ったとき、標準原価という概念を知りました。 まず標準原価を割り出し、定期的に実際原価との違いを計算するという慣習でした。 それは何?と人に聞いても、「そういうものだから」と皆んな言っていました。

でもそれは、実際にはコストがどれくらいになるのか分かっていないので標準原価を一旦割り出し、定期的に実際原価との差異を解消するというものでした。 しかしMacのラインではすべてを自動化して、リアルタイムに正確にコストを割り出せるようにしました。

(意訳、中略してるのでちゃんと見たい人は以下のDVDを買ってください。下のリンクから買ってくれると、僕がRedbullを飲んで生産性が上がって世の中が良くなる手伝いができます)

以前、この話を見たときは「ふーん世の中バカばっかだな。俺はそうならない」と思っていましたが、今になるとこの罠にあっさりハマりそうで怖いです。自分の言葉として理解して納得しないかぎり、本当にそれが必要なのかも知らないままになります(実際に必要のないウンコちゃんなことでも)。 人とコミュニケーションを取っていても、最適化された問題ないやり取りをしているだけで、本当のコミュニケーションをしていない罠もあると思います。

大人になるというのは、自分という人格や体が、心を離れて勝手に生きられる状態のことなんだと思います。 他人や社会が求める僕という人格を作って、それに人生を明け渡して緩やかに死んでいくことなんでしょう。 でもそれは、僕には本当に緩やかに死んでいるのと同じに感じてしまいます。まるで体が徐々にロボットになっているようです。

今一度、何かを話すときや考えるときに、これは本当に僕という人間の魂から出た答えなのかを気をつけたいです。 そこにどんな僕が居るのかは分かりませんが、自分の魂と体の乖離を小さくするよう心がけて生きています。

この記事はShodo (https://shodo.ink) で執筆されました。

原稿のレビューお願いします!が伝わらない? - Shodoに通知機能を追加しました

Shodoに通知機能を追加しました

「よし!原稿が書けたしレビューしてもらおう」となったとき、こんなことはないでしょうか?

  • 「レビュアーさんにレビュー依頼するのって面倒だな…」
  • 「あれ?チャットでお願いしたけど話題が流れてしまったな…」

執筆にまつわる連絡に時間が取られたり、集中が途切れてしまうのはストレスになってしまいます。 コミュニケーションの大変さは仕組みで解決してしまいましょう!

Shodoでは新たに通知機能を追加して、執筆・レビュー依頼、コメントのやりとり、チェックリストのアサインが通知され、個別での連絡の必要がないようにしました。

これにより Shodo上のやり取りだけでレビュー依頼や執筆依頼の連絡が可能になりました

詳しくはこちらの記事をご覧ください

blog.shodo.ink

この記事はShodo (https://shodo.ink) で執筆されました。