IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→起業)

AI美空ひばりの件は、今後5年の課題になる

なんというか、美空ひばりでこの問題が話題になるのって日本らしいですが、要はディープフェイクの問題ですよね。

ja.wikipedia.org

 

美空ひばりなんて全然いい方で、もっとヤバい使われ方が世界的には行われているらしいです。
アメリカや中国ではすでに法整備がされつつあります。

 

en.wikipedia.org

 

法律では基本的に悪意が重要な要素になってくるでしょうが、よりボーダーラインに近い使われ方のときにはいくつか問題になる要素が見つかると思います。今回の美空ひばりの件もそうでしょう。賛否両論あるタイプのものです。

  • 本人の許可
  • 本人の拒否
  • 故人かどうか
  • 有名人かどうか
  • どのくらい似ていればアウトか
  • どういう使い方がアウトか

などなど

特に故人かどうかは面倒な問題ですね。技術が進むと死んだ途端にフリー素材になる可能性も出てきます。

 

個人とはどこからどこまでか

最近はVtuberも流行ってますが、時代が進むに従って、個人の境界が曖昧になりつつあります。
有名人ならなおさら。
昔でも例えば「襲名」なんかは一部の個人の受け継ぎですよね。
ああいうのは、その人そのものがコンテンツであるものの、その人のブランディングが個人の力ではないから起こるのだと思います。

自分の芸名を使えなくなった方とかもいましたよね。

ja.wikipedia.org

 

あるいは、AV女優が販売停止請求するみたいなことも最近起こっています。

www.bengo4.com

 

今後、ディープフェイクやアバターのようなものが一般化すると、より一層その個人がどこまでか、どこまで権利が生じるか、死んだらどうなるか、というあたりが複雑になり議論が進みそうに思います。

 

と言っても私はその行く末にさほど興味ないですけどね、面白けりゃ何でも良いので、良い妥協ラインが見つかると良いと思います。

エンジニアリングやデザインは万能ではない

こんなこと、声を大にして語るまでもないことですが、どうにも世の中の一部界隈ではエンジニアやデザイナーを神格化したい層が存在します。

主に意識高い系方面ですが、人材採用方面や、経営者、学校、業界の外にいる人たち、たまに本人たちが自尊心のために「エンジニアすごい」「デザイナーすごい」と声高に叫びます。

それはメリットがあるからしょうがないのかもしれませんが、そういった声に当てられてる人もちょいちょい見かけるので少し不安になります。

 

参考

qiita.com

 

エンジニア、デザイナーは万能ではない

人は時々、ソレだけですべてを解決できるという何かを求めたがります。
成功してるものと、失敗してるものの違いは何かを探る中で、自分にとって未知の何かに正解を求めるためでしょう。
UX、デザイン思考、昨今のプログラミング教育などにもそういう「すがりつき」が見受けられます。
でも実際にエンジニアやデザイナーと二桁単位で一緒に仕事をすると、そんなことはないとすぐに分かるはずです。
彼らは限定された課題に対して素晴らしい結果を出します。
しかしそれはあくまで特定の課題であって、サービスや仕事を回すために必要なものの全てではありません。

 

ITサービスで成功するために必要な要素は大体わかっています。

このどの要素が欠けても上手くいきませんし、お互いに補完できるようなものではありません。
時折◯◯不要論が持ち上がりますが、それは単にその職責について深く知らないだけです。

 

最大難易度を誇る「プロダクト企画・設計」

エンジニアリング万能説や、デザイン万能説が出る理由の1つがプロダクト企画・設計があまりにも難しく、専任者が滅多に居ないという問題です。
これは昨今のITサービス特有の問題です。
勝者総取りに近い昨今のITサービス界隈では、ここの部門は最強でなければならず、そうしないと事業が失敗します。

そこでこのプロダクト企画・設計を誰ならできるかという文脈でエンジニアリングやデザインというワードが飛び出してきます。
でももちろんそんなうまくいきませんし、上手くいったとしたらその担当者がすごかったか、たまたま上手く行ったかだけでしょう。再現性は認められていません。

最近そういった声は収束しつつある?

万能説のようなものが一番多かったのが3年前〜7年前くらいだと思います。
最近は冷静になってきたのかあまり聞きません。

それとも観測範囲の問題でしょうか?

おそらく渦中に居ない人たちには万能説を覆す理由がないのでそのままの認識なのかもしれません。そういうのは避けて生きたいですね。

次の10年を生き抜く方法を考える

雑感です。
対象者は大体25歳〜45歳くらい?

 

参考

fushiroyama.hatenablog.com

 

2010年代の特徴

これは完全にスマートフォンだったと思います。
スマートフォンに端を発して

などが次々と起こりました。
これほど大きく変わったのは久しぶりではないでしょうか?
2000年代はPC普及の時代で、こちらはビジネスサイドでは大きな変革の時代だったと思います。2010年代はコンシューマー側から変わっていった感じがありますね。

 

参考

otihateten.hatenablog.com

 

10年単位で物を見るときは、社会のルールが変わるモノに注目する

車、家電、パソコン、携帯、スマホなど。
時代の鍵となる大きなトレンドは予兆があり、一瞬でビジネスが動くのは稀です。

もちろん商品単位では2,3年で大きく動いたりします。
最近だと仮想通貨とか、アクションカメラ、ドローンなんかは一気に商品が出ましたよね。
でも我々が注目すべきはそういう商品単位ではなく、社会のルールが根底から変わってしまうモノです。

そういうたトレンドの渦中に入ることができれば、美味しいポジションに立つことができると思います。短期的なトレンドはすぐ終わってしまいます。

 

次の長期トレンド、ポストスマートフォンはあるのか?

無いです。

GoogleAppleのような巨大企業は、そういったスマートフォンの次を作ろうと躍起になりましたが、中々進みませんでした。
次の10年の主役になるためには、既に一定の成果が出てるくらいのフェーズでなければなりません大体キャズムを超えるあたりと見て良いと思います。

スマートフォンで考えれば、iPhoneの登場は2007年、iPhone4で2010年です。
ちょうどそのくらいのフェーズ(キャズムを超える辺り)にある他の技術があると思いますか?残念ながら私の知る限りありません。

 

AI・機械学習技術、自動運転技術はどうでしょうか?
これらは、私は2030年代の主役候補だと思っています。
ちなみに車の買い替えスパンは今平均8年です。

 

スマートスピーカー、スマートウォッチはどうでしょうか?
これらは、私は商品カテゴリだと思っています。意味を成すとしたらAIと自動運転が鍵となるでしょうからこれも2030年代の候補です。

 

2030年代のために今投資するべきか?

先進的なものが好きなIT界隈の人は、しばしば先走って先行投資したがります。
しかし残念ながら市場形成は社会的なコンセンサスが必要なので、大抵はアーリーアダプターですらちょっと早いくらいなことが多いです。
先んじて参入しても大抵ゲームが2,3度変わってしまうので、優秀な後発組の人にも追い抜かれてしまいます。

もちろん、会社単位でイニシアチブを取ろうとするならアーリーアダプターでなければなりません。しかし労働者レベルで考えればアーリーアダプターでは早すぎます

よっぽどそれが好きとかでなければおすすめしません。

 

主役不在の2020年代をどう生き抜くか

業界が衰退期に入っていないのであれば、そのまま2010年代の延長線上で頑張るのが一番効率が良いと思います。
ストスマートフォンが登場してキャズムを超えそうになったら、それを吟味して乗り換えるか検討しましょう。

現状で、同程度の業界にキャリアチェンジするのはリスク・コストが高めです。

 

労働者が取れる戦略

そもそも専門領域を変えるかどうかはよく考えて選択しなければなりません。
専門領域を変えずとも取れる選択肢はあります。

  • 出世して管理者になる
  • 出世して専門家になる
  • 転職する
  • 得意領域を追加する
  • 取り組むビジネス構造を変える
  • 独立する

普通ですね。

ちなみに私は今の時代は何でもできるようになるより1領域に極振りしたほうが強いと思っています。

 

その業界にいつ入り、いつ逃げ出すべきか

長い目線で見れば、業界というのはトレンドに過ぎません。
いつエントリーし、いつイグジットすのが労働者的に一番美味しいでしょうか。

  1. 研究段階
  2. 世に出た時
  3. 普及期(キャズム前=アーリーアダプター
  4. 普及期(キャズム後=アーリーマジョリティ)
  5. 普及期(レイトマジョリティ)
  6. ピーク(ラガードが参入)
  7. 成熟期
  8. 衰退期の開始(レッドオーシャン
  9. 消滅期

エントリーは4のキャズム後、イグジットは8の衰退期に入ったらで大丈夫です。
もちろん乗り換え先の業界のタイミング次第でもありますが。

例えばスマホで言えば「キャズム後」が2011年iPhone4sが出たあたりです。
衰退期は諸事情でまだ来ていません。今は5〜6だと思っています。

 

参考

otihateten.hatenablog.com

 

今のフェーズを見極める

簡単に見極め方を説明します。

  1. 研究段階
  2. 世に出た時
  3. 普及期(キャズム前=アーリーアダプター
  4. 普及期(キャズム後=アーリーマジョリティ)
  5. 普及期(レイトマジョリティ)
  6. ピーク(ラガードが参入)
  7. 成熟期
  8. 衰退期の開始(レッドオーシャン
  9. 消滅期

1 → そもそも我々は存在を知らない
2 → 話題になり、期待される
3 → 製品がいくつか出る、ガートナーのハイプ・サイクルピークで、ぷちバブルが起こる
4 → バブルが一旦落ち着く、目ざとい企業が導入を開始、アーリーアダプターにはオワコンに見えてしまう
5 → 若者の観測範囲では当たり前の物になる、公共機関が導入し始める
6 → お年寄りなども使うようになる
7 → 全体のバージョンアップが起こる、市場が成熟し、学校ができ始める
8 → 売上は伸びるが利益が減り始める、経営コンサルが生き生きし始める
9 → 業界回復の芽が徐々に消えていく

 

まとめ

結論が「目の前のことに集中しろ」みたいな元も子もない感じになっていますが、そのとおりだと思っています。
新技術を気にするよりなら同業他社の状況を観察したいところです。

新技術を無理に追わなくても、キャズムを超えるなら嫌でも目に付きますし、エンジニアならそこから参画しても遅くないはずです。

 

また、伸びてる業界だからと言ってその中の会社が潤うかどうかは別問題で、利益率や競合数によります。
そして伸びてる業界、伸びてる会社だからと言ってその中の労働者が潤うかどうかも別問題です。
そこら辺ちゃんと考えて調べないと、単に盛り上がってる業界に行きたいだけのパリピ労働者になってしまいます。いや別にそれ自体は否定しないですけど。

参考

otihateten.hatenablog.com

(メモ)最近作りたいアプリ・サービスリスト

最近何か多いんですよね

 

サクッと作りたい

仕事のちょっとした休憩中に作ってます。

 

・TODOアプリ

良いのがありません。
ほしいのは1人用のjiraみたいなやつです。
1割作りました(2時間)

 

・ダイエットアプリ

こちらも良いのがありそうでありません。
iOS標準のヘルスケアが近いんですが、運動と食べたものの記録を同時に行いたいです。
FIrestore連携さえできれば割とすっとできると思いますが、そんな時間はない(最近あまり寝てない)

 

作ったら上手くいく気がする

・ローカル特化型アプリ

主要駅で迷子にならないアプリが欲しい、というところから発展して考えました。
都内の超人口過密地域のみをピンポイントで狙ってアプリを作りたいです。

ただ結構頑張りが必要だと思います。予算500万はほしい。

 

ガチ

・コンテンツと視聴者の接点となるアプリ

Apple標準の幾つかのアプリのライバルです(iTunesやBookなど)
できれば年内上半期にリリースします。

 

将来やりたい

・電子コンテンツプラットフォーム

主にやりたいのは「電子グッズ」という概念を作ること。
次点で買い切り型の円盤(ブルーレイ)をDL販売できるようにしたい。
サブスクリプションへの対抗。

構想はありますが予算と信用と営業が必要なので今の自分には無理です。

多分予算3000万円は必要。

 

しかし年内時間が取れる気が全然しません。

睡眠時間を削るしか・・・(※既に削ってる)

(iOS)ProtocolExtension+Class-Only Protocolsをもっと使おうという話

qiita.com

書きました。
もっと広まって欲しいです。

 

この仕様は実際のところSwift2あたりからあったんでしたっけ?
仕様自体は自分も2年前には既に知っていたと思います。
そのパワフルさに気づいたのが1年くらい前で、検証する機会に恵まれたのが割と最近でした。
こんな良いこともっと早く気付けばよかったと少し後悔。

 

これを使えばInterface的な設計や、mixin的な設計や、抽象的な設計がある程度組めるので、どんどん使っていきたいです。
継承という仕様はほとんど要らない子になりました。継承が必要なシーンと言えば、あとはライフサイクル内で共通処理をしたいとかそういうパターンくらいかな?

 

extensionもそうですが、こういった疎結合に組める仕様が出てくると、モジュール化がプロジェクトを跨いで使えるようになるんですよね。
仕事すればするほど強くなれるようになるので、個人的には追い風です。

 

一つ苦言を呈するなら、何でこの仕様が初期に無かったのかが解せない。
Objective-Cの深い部分(cocoaの部分?)では出来てたはずなんですよねー。

仕事をどう決めるか、あとAIや機械学習を学ぶワナビのことを憂う話

ちょっとオッサンの毒吐き。

 

私は今アプリを作ってるんですが、他のことをするチャンスは何回か有りました。
例えば数年前はゲームが流行りました。明らかにゲーム業界の給料がぐんぐん伸びていっていたし、ゲーム好きな人はこぞってそっちへ行きました。
例えば大学院時代はAI領域の専攻だったのですが、修了後何年かでAIブームになりました。一応基礎は分かっていたのでAIの方に行くこともできたと思います。

でも私は行きませんでした。

 

私が右も左も知らない社会人一年目とかなら、喜んでいったと思いますが、残念ながらそのチャンスが来たときには既に社会人として擦れていました。

ゲーム業界が華やかなのは成功している極一部だというのはすぐ分かりましたし、成功してもとんでもないボーナスが貰えるわけではないと分かっていました。会社とは大体そういうものだし、自分が社長だとしてもそうします。

AI業界はもっと悪いです。まずビジネスがどう動いているのかが全然見えてきませんでした。バズはいくらでも起こるのにネタが見えない界隈に飛ぶこむほど子供ではありませんでした。

 

仕事を選択する時に分かっていたいこと

  • 誰が金を自分に払うのか
  • 失敗し続けても続けるだけのモチベーションはあるか
  • 役割が変わってもやっていくモチベーションはあるか
  • 競争に負けない自信はあるか(あまりにも人気すぎないか)

これらが重要だと思っています。

今の仕事は幸いそこら辺がわかりやすかったし、失敗しても折れない自信がありました。本当は最初はBtoBに行こうと思っていたのですが、BtoCがWebビジネスとして盛り上がってきたのは非常に幸運でした。

例えばゲームを作るとして、誰もプレイしてくれなかったら折れるんじゃないかと思います。私のゲームに対する思いはその程度です。

また、役割が変わることを想定しておいたほうが良いです。
例えばコードを書かなくなっても続けていけるのか、その業界にいる理由があるのか。これが無くなるとしたら厳しいと思います。

 

世の中仕事はたくさんあるけど、特徴は割と少ない

どこからお金をもらうかとか、モチベーションとか、そういう特徴は案外少ないです。

  • 企業からお金をもらう
  • 個人からお金をもらう
  • 国からお金をもらう
  • 仲介・手数料ビジネス
  • 物を売る
  • 価値を提供する
  • 誰かに喜んでもらう
  • すごいものを作って社会的なインパクトを得る
  • 先進的なことをする

などなど

前に似たことを書きましたね。

otihateten.hatenablog.com

 

特徴というのは少ないから、すぐに自分は◯◯だとわかることができます。その仕事が自分に向いてるかどうかより、その特徴が自分に向いてるかどうかの方が簡単にわかります。
だから、まずは仕事の特徴を分解して自分に合うかどうか見たほうが良いと思うんです。

技術で選ぶとか、何となく面白そうだからで選ぶのは悪手だと思うんです。

それが言いたかっただけです。

 

AIや機械学習を学ぶワナビのことを憂う話

それで、AIや機械学習エンジニアってどういう仕事かな?って考えたり、募集要項を調べてみると、大体は

  • 何か新しいものを作る仕事
  • 機械系の何かの精度を高める仕事
  • ECサイトなどのコンバージョンを上げる仕事
  • 何かデータサイエンスにより分析評価をする仕事
  • 大企業の業務分析をする仕事
  • 上記のいずれかの受託

で、おそらく皆が想像してるのは一番上の仕事なんでしょうけど、これは花形で数も少なく、9割以上はそれ以外なんですが、
これからはAIだ機械学習だって勉強した人たちが、実務を想像できているのかと最近不安になってきました。

だって、これらのほとんどの業種はこれまでの仕事の文脈があってその中で精度向上のためにAI・機械学習があるのに、流行りに乗って勉強してる人はまず「AI・機械学習」ありきなわけです。
しかも先進的な何かを夢見てるはず・・・?

 

これは私も今年気づいたのですが、AI・機械学習というのは精度向上が主な強みですから、これまでのWeb・スマホ・ゲームと言う文脈の延長線上ではなく、むしろSIerやメーカー系の延長線上なのではないかと思います。

少し語弊がありますね。1を10にするとか、10を100にするではなく、10000を10100にする仕事と言いますか、つまり大規模向けという話です。

もちろん全ての仕事がそうとは言いませんんが、コンバージョンを数%上げてメリットが有るのはベンチャーより大企業の方です。

だから普通に祝活を始めたら、日本の場合は重厚長大かつ古い体質の企業に入ることになると思うんですが、これを分かっていて勉強しているんでしょうか。それならいいんですが。

 

もちろんお給料は今結構高めらしいですが、ブームというのは必ず揺れ戻しが起こります。
結構前に書きました。

otihateten.hatenablog.com

 

まあそれを言ったらプログラミングブーム何ていう事象はプログラマーにとって死活問題なんですが。

 

勉強するのはいいけど、その後何の仕事に就くの問題

この問題、割と蔑ろにされてますが、もうちょっと重視したほうが良いんじゃないかなあと前々から思っています。
有名所で言えば美術系や音楽系ですが。それ学ぶのは良いしけどその後どういう仕事があるか・その仕事は自分がやりたいことか理解してる?というのは押さえておきたいですね。

って言っても若い人にそんなの分かるわけないので、おっさんあたりが教えられると良いのかもしれませんが。中々上手く行かないですね。

(小ネタ)ピタゴラ装置を作らないために

ピタゴラ装置というか、ルーブ・ゴールドバーグ・マシンなんですが。

参考:

▲超厳選▼ ピタゴラ装置傑作集(Rube Goldberg Machine)コロコロからくり装置 - NAVER まとめ

 

ステレオタイプの発明家が作ってるような、ゴテゴテの仕組みをループゴールドバーグマシンと言います。ピタゴラスイッチもその一種です。

 

www4.nhk.or.jp

 

ピタゴラ装置は見ていて楽しいです。
しかしこれらをプログラムで作ると大変なことになります。
保守改修できません。
何がどうなってそうなってるのかわからないし、1個手を入れたら全体のバランスが崩れて動かなくなってしまいます。
端的に言えば不安定なんです。

 

プログラムでピタゴラ装置を作らないためには

  • それがいつ呼ばれるか明確(In)
  • それがどう影響するか明確(Out)
  • それが何なのかが明確(What)

たぶんこれだけです。
これだけで愉快な不安定装置は、面白みのない安定装置に変化します。

 

ですがこれができていないコードが世の中にあまりに多くて・・・というのはまあ別の話なので辞めましょう。

 

ピタゴラ装置を回避しようとすると割と難しい

実際に回避しようとすると難しいことがわかります。
特にチーム開発では難しいです。
「InとOutとWhatを明確に」とは言え、それらを一度作った時は明確でも、改修していくうちに何が何だかわからなくなるかもしれません。

  • チーム内で設計ルールを明確にする
  • コードレビューする
  • 最初に作るときに「明確にせざるを得ない縛り」を上手く組み込んでいく

みたいな苦労をしないと、気づけばピタゴラ装置ができあがってるのです。
怖いですね。

 

途中参加が多いフリーランスピタゴラ装置を修正できなければならない

上記の手段、途中参加の人には使えません。
つまりフリーランスは使えないので分解できることが求められます。
たぶんフリーランスに求められるレベルって普通に仕事できるレベルより一段上にあるんですよねここらへん。そのうちそれも書きたいです。