オッサンはDesktopが好き

自作PCや機械学習、自転車のことを脈絡無く書きます

ブログの収益化 & 研究者として

 こんにちは. 近々,本ブログを収益化するつもりです. 調べ始めたばかりですが,urlが変わったりするのかな? 僕の記事を定期的に読んで下さっている方は現状では殆どいらっしゃらないと思いますが,ご不便をかけることがあったならばお詫び申し上げます.

0. 背景

 少し身の上話をします.

 僕は,中小企業に勤めるアラフォーのシステムエンジニアです. 30歳になる年に,今の勤め先に就職しました.

 就職する前は,大学で研究をしていました. 一応,学位(博士号)も持っています.

 学位の取得にはかなり苦労しました. 大学の規定か国の規定か忘れましたが,博士課程に進学してから6年以内に学位を取得するノルマがありました. 僕はその6年をフルに使い,ギリギリで学位を取ったのです. 2~3年で学位取得に至る学生が多いのですが,所属する分野や研究室によってまちまちです. 僕の場合,在学中に体調を崩して一時休学状態だった事情もあります.

 博士課程というのは過酷で,ストレスフルです. 基本,ニートですので. 僕の場合,投稿論文のリジェクト,奨学金審査の落選,震災のトリプルパンチを同時に食らい,心折れて就職を決めました.

 就職を決めた後も研究に対する熱意は冷めませんでした. 卒業旅行等は一切せずに研究に打ち込み,社会人1年目の休日ほぼ全てを論文執筆に費やして学位取得に至りました.

 超高学歴の人間が中小企業に入ると,,,色々です(笑). 僕の勤め先の場合,博士はおろか,修士卒すら殆どいません. 「博士なんて見たことない」「いったいどんな変人なんだ」といった目で見られました.

 でも,博士課程出身が中小企業に勤めることは,雇用する側にも雇用される側にもメリットがあると思います. 研究者というと,専門性が高すぎて潰しが効かなかったり,頑固者で協調性が低いイメージがありますね. 事実なんですが,,,研究を通じて社会人力を身に着けている研究者も多いと思います. 学位を取ったり,海外論文誌に論文を通す為には,入念な準備と計画が要ります. これは,就職後のスケジュール管理や自己マネジメントに直結するものです.

 僕に割り当てられた仕事は,計算ライブラリの開発でした. 最小二乗法とか,テイラー展開とか,座標変換とかを行うプログラムを書くのです. 僕は研究でC言語を書いていましたし,数式にもそこそこ強いです. 勉強しながらでしたが,画像処理にも対応できました. 数式が読めて,かつプログラムも書けるというのは,案外,希少な存在みたいです. 昨今の大学出の多くはC言語が書けませんし,職業プログラマーの多くは数式を毛嫌いしますからね.

 ライブラリ開発の仕事はそこそこ自分にハマりました. 実績を積んでくると,「こいつなら作れそう」と,社内の色々なところから声が掛かります. その度に論文を読んで勉強したり,原理を理解したりする必要があるのですが,楽しんでやっていました.

 個人にとって良い状態というのは,長くは続かないのですね. 何事でも同じだと思います. 僕の場合に難しくなってきたのが,構築したライブラリの横展開です. 会社としては,完成させた技術を使って少しでも多くのお金を稼がせようとします. 一方,研究者の態度としては,完成させた技術からは早々と手を引いて,新しい事に取り組もうとします. 大きな会社ならば研究職という括りがあって,横展開を行う部隊から隔離されるのでしょうが,中小ではそうはいきません. ライブラリをシステムに組み込み,システムの運用を仕上げていく作業までをやります. 現場に入って,ユーザーと直接やり取りをしながらプログラムを書く事もあります. これはこれでやりがいのある仕事なのですが,,,

 結果的に仕事を頑張れば頑張るほど,研究が出来なくなりました. 似た境遇に在る方もいらっしゃるのではないでしょうか.

1. プログラムのメンテナンスの問題

 上述した横展開と同様に,メンテナンスの問題があります. 不具合修正とか,要望を受けての改善,ですね. 営業をする人間は,ユーザーと会話をして,(例え生産性が低くても)ユーザーと繋がっている状態を安心と感じるみたいです. 「お客様の声に応えます」を売り文句にして,僕を現場に連れて行こうとします. 言い方悪いんですが,これ,研究者としては無駄な時間なのですよ.

 同僚のプログラマとか,年がら年中,不具合修正をやっています. 定時まで不具合修正をやって,深夜になってから新規開発をやる感じです. 「お客さんが困っているから」という態度には頭が下がるし,リスペクトしています. これで収益を得て,家族を養って,定年まで勤めるというのは,サラリーマンとして一つの正しい態度です.

 問題だと思うのは,ここにサラリーマン的連帯感を持ち込んでしまうことです. 不具合対応に追われては駄目なことは皆分かっているのです. でも赤信号を皆で渡って,結局,心中してしまうという...

 同僚の多くのことを好きです. ただ,僕は同じやり方で仕事を出来ない. 研究者として終わってしまうからです.

2. オープンソース

 横展開とかメンテナンスをせずにプログラムを作るにはどうしたら良いのか??? 答えは簡単で,お金を貰わないことです.

 昨今,オープンソースの勢いが目覚ましいです. 僕が使っているGoogleのライブラリ(tensorflow)もオープンソースです. 更にGoogleは,ライブラリを活用したアプリケーションやサービス(検索とか,翻訳とか)も無償で使わせています.

 作ったプログラムをタダで使わせるいうのは,作り手として怖さも感じますが,,,魅力です. クレームが無いからです. 「こっちはお金を払っている」という考え方を,多くのユーザーがします. で,不具合対応とか改善をするわけですが,多くの場合,小さくまとまったつまらないプログラムになります. ユーザーからのフィードバックは,クレームとしてトップダウンに取り組むのではなく,開発者側でコントロールしてベースアップにつなげるべきです. 所謂,イノベーティブなプログラムというのは,こうしたプロセスで生まれるのではないでしょうか.

 Google翻訳が典型ですね. 始めの頃は訳の分からない動きをしました. でも,多少の文句があってもタダだから使われ続けます. そうして集めた情報を生かして,プログラムの性能を飛躍的に向上させました. お金を取っていたら「こんなものは使えない」と一蹴され,今の水準には至らなかったかも知れません.

 シェアソフトで有名な秀丸も,実質的には配布しているようなものですよね. 秀まるおさんご本人がどこかのインタビューで「メンテナンスが面倒になるからパスワードを変えない」という旨をおっしゃっているのを聞いたことがあります. 広告収入で生計が成り立つからです.

3. 研究者として如何に生きていくか

 多くの研究者は,大学や国の研究機関に属し,学会誌に論文を掲載することで収益を得ています. 執筆料は出なくて,逆に,学会にお金を払っています. ですので,研究者の給料の多くは税金で賄われます.

 近年,ディープ・ラーニング研究の周辺では,このやり方が崩れてきているそうです. 僕自身も経験しましたが,学会誌に論文を掲載するには膨大な手間と時間がかかります. 先ず,論文を書く作業が大変です. 個々の学会誌にはそれぞれの流儀みたいなものが在ります. 論文をアクセプトさせる為には,その学会誌に掲載されている論文を何本も読んで傾向をつかむ必要があります. 学会の中で精通した論文を多く参照することも有効だと思います.

 そうして完成させた論文を投稿します. 多くの場合,数名の査読者からの修正指示を受けます(いきなりリジェクトになる場合もあります). 査読者から受けた指示に合わせて論文を修正し,質問に対する回答書を添えて再提出します. これを2~3度繰り返します. 電子化されて昔よりは早くなりましたが,それでも投稿から掲載までに半年程かかるのが一般的です.

 ディープ・ラーニングの研究者たちは,この時間を無駄と感じるそうです. その間に別の研究者に発表されてしまってはもったいないと. 彼らはSNSで研究成果を発表し,githubでソースを公開します. それで生活が成り立つ基盤を,Googleをはじめとする開拓者が構築したのです.

 SNSで作品を公開するやり方は,音楽家にも広まっています. YouTubeを活用するアーティストが増えていますよね. 本人達はCDが売れない時代を生き抜くために必死なのだと思いますが,,,誰でも垣根無く自分の作品を発表できるのは素晴らしいことだと思います.

 機関に属して給料を得る時代も,モノや作品を売って収益を得る時代も終わるという事です. 生活を支えるための基盤だったものが何時からか,創作活動を奪う足枷になりました. 今の状況に甘んじていると,あっという間に何もできないオッサンの出来上がりです. オープンソースをベースに,個人で,柔軟に舵を切りながら生きていくのが目指すべき研究者の姿だと思う様になりました.

 理想の実現に向けて少しずつ準備しています. 収益化はそのステップアップの一つです. 簡単にはいかないと思いますが,色々試行錯誤してみようと思います. 僕の書く記事に共感いただけたり,何かのお役に立てることがあったならば,とても嬉しく思います.