💬

「文系」の思考はソフトウェア開発において非常に重要

2024/01/01に公開

誰向けの記事?

プログラムが書けるけど数学や物理が壊滅的にできない文系のそこの君向けです。

「あきらめるなよ!!!絶対に!!!!!!!!!!!!!!!!!!!!」

なお、文系を選ぶとどうなるかについての記載なので後悔を書いています。なお、救援策も記載しております。

※一応記載しておきますが、大学の広告ではありませんし、批判をするわけではありません。すべては私の選択が引き起こしたことです。

自己紹介

現大学1年生と行きたいところですが、今はフリーターです。なので無職です(正確にはそうではないが)

高校生編(?

この記事は上記の通り文系に進んでしまった高校生と理系に行きたくないプログラムを書いている学生向けです。

私は高校2年の時、プログラムを書き始めた(このときは全くかけなかったが)人間なのですがプログラムを書き始めた理由が、文系だと就職などが難しいという噂を聞きました。これが事実なのかはさておき、私は文系を選んでしまったことをこの時点ですごく後悔していました。その時であったのがプログラムの作成であり、非常に興味を持った私は Floorp を作りました。プログラミングと書かなかったのはプログラミングといえる代物ではなかったからです。

その後、Floorp 8 から 10 までを作り上げ、(第三者に任せていた部分も大きいが)高校三年生になりました。

その時あたりから多くの人たちは受験、、いわゆる入試について考え始めるわけですが、その当時の愚かな私は理系学部への進学を狂ってしまったのか考え始めてしまいます。

受けた大学・学部は「明治大学 総合数理学部」で、完全に理系です(第一志望なので2つ以上不可)プログラミング&プレゼンテーションによる入学が可能でしたが、数学が見えない壁を作っており、あっけなく落ちました。

正直ここからはあまり記憶が残っていません。その後、おとなしく文系として受験しました。理系学部に行きたかったのですから、勉強もあまりできず、日本史以外の成績は逆に下がりました。

結果、あまりいい大学には行けませんでしたが、今後これが大きい糧になることになります。

大学入学前

大学入学前、いや、、、某入試前から私を機にかけてくださっていた方がいらっしゃいます。私自身はもともと、Firefox 派生ブラウザーを作っている人であり Mozilla 系の人間と言えなくもない人間です。Mozilla は OSS の大手ベンダーですから OSS 界隈ともつながりがある人がいるわけです。https://twitter.com/ic_lifewood (通称:グレさん)という方は私が尊敬している方であり、この方を介して、OSS の大先輩といいますか、先生といいますか、https://twitter.com/openlibsys (通称:Hiyohiyoさん)という方に合格を祝ってもらいました。

しかし、私的にはまだ納得のいっていない入試であり、このことを話すと言われた言葉は「あきらめてはだめ」「必ず情報学を学んだほうがいい」という2言でした。

正直心の中では泣きたい気分でしたが、初対面ということもあり必死にこらえていた記憶があります。

大学入学後

その後、とある大学に入学し、今となっては仮面浪人のような生活が始まるわけですが、正直、文系に希望が持てなかった(正確には、実際の持っているスキルと学んでいることの乖離が非常に大きいことによる挫折)私は、授業を適当にとり、友達と遊びまくる日々を送っていました。

しかし、ある技術系&英語の授業だけは必ず毎回出席し、教授の話を丁寧に聞き、メモを丁寧にとっていました。ちなみに単位はフル単でした。

その中で私は、"Nudge" という言葉に講義内で出会います。この言葉は経済学において非常に大事な言葉で、人がものを買うとき、何かの衝動や行動によってコンシューマーが特定の品物を買うことを意味します。

英語であれば、何かに突き動かされることであり、大体一致しています。この言葉との出会いは、私の Floorp での考えを変え、どうしたら海外進出ができるのかなどの疑問を私に授けました。

経済学では、コンシューマーが特定の品物を買う or 使用するまでいくつかのステップごとに分けて考えます。以下は例です。

1. コンシューマーが店頭に行く
↓
2. 品物を見て物品に何があるかを探索する
↓
3. どの品物が買う商品の対象になるかを検討し、検討するものを決める。
↓
4. 2~3個に絞り、商品を検討する。
↓
5. 最終的に1つに絞る。

この過程は単純に見えますが(書かれたり言われたりすれば当然だと感じる)よく考えてみれば実際はもっと複雑で、経済学の分野でコンシューマーに品物を販売する場合、コンシューマーに品物を買ってもらうためには最初に品物を買う商品の選択肢に入れなけばなりません。

言い換えれば、最初からその品物単体のみを購入させる方向にフォーカスするのは上策ではないという結論になります。

よく考えてみればこれはまっとうで、ブラウザーに置き換えて考えてみれば、使われるブラウザーとは、選択肢に入りやすいブラウザーであり、一部の層に受けるブラウザーは選択される機会が必然的に少なくなります。そこで、Floorp 11 を発表時に

そこで大事な要素こそが「Nudge」であり、品物をいくつかの選択肢の1つにするための「Nudge」、選択肢から1つ選ぶ際にその品物を選択させるための「Nudge」など様々な要素が必要だとわかります。

これを履修した私は、「近道を探りすぎた」ということを直感で感じました。ブラウザーを使ってもらうには最初に選択肢の1つとしてブラウザーを確立し、その後、その中から選んでもらう必要があるということを理解します。

そして、、、、経済学部はソフトウェア開発に十分応用可能で必要なことであるということも認識します。

そこから私は自身の置かれている環境に対して真剣に考え始めます。どのようにしたら「選択肢に入るブラウザーを構築できるのか」これが私の目標に変わったわけです。

"Nudge" を知った後の行動

目標が変わったため、私は今の Floorp を見つめなおします。何が足りないのかを詳しく検討し、何を行えばいいのかの道を決めます。

Floorp 11 はその最初の段階でした。新生 Microsoft Edge が Internet Expolorer とどのような差を生み出してブラウザーのメインの選択肢に入ったのか、何故 Firefox が選ばれにくくないっているのかを必死に考えどんな機能を実装するべきなのかを順番に策定し、最初に「ワークスペース」と「垂直タブ」を実装することとしました。

この2つの機能はメジャーなブラウザーでも実装される傾向が高まっており、私として必須な機能になりつつあるという考えに至りました。ワークスペースも同様で、すぐに使えて直感的にタブを管理できるようにするシステムが Floorp に必要であると考えに至りました。

しかし、実装したい機能がそのまま実装できるとは限りません。誰もが最初は初心者であり、「ワークスペース」や「垂直タブ」を実装するのは非常に困難でした。そもそも、Quantum 以後の Firefox にネイティブ実装のタブグループを付け加えること自体、世界で私が初めて行っていることであり、やはり私だけの力ではどうにもできない部分は多く存在しました。この時から、OSS の私の中での再定義が進み、貢献者を募る方法についても考え始めるようになります。

再度受験することを決める

元々受験を行うこと自体は決めていましたが、問題はどこの学部を受けることです。理系学部のみを検討していましたが、文理系も考え始めるようになります。

そこで上がった学部は「情報連携学部」(理系)でした。この学部は文理融合で唯一の先進的な情報系学部であり、私が唯一ふさわしいと感じた学部でした。

その後、私は「Nudge」の考えを元に自分をどのようにして表現し、入試で自分を生かして相手の心を動かせるかについて考えました。

プレゼンテーションの内容は特に指定はなく、ソフトウェア開発に関することなどであればよいということになっていたので、どちらかというと自分自身をソフトウェア開発を通して表現するプレゼンテーションを書くことを決めました。

自分が学部に何ができるのか、何を受け取れるのかを精密に検討したプレゼンテーションを書きました。入試は二段階で、1段階のプレゼンテーションはプレゼンテーションを提出するのみなのでかなりこと細かく説明できることをすべて記載した影響で 10 枚以上のプレゼンテーションになりました。

文字も多くプレゼンテーションではしゃべれない内容を記述しました。その中で私が重視していたのは「情報連携学部」の「連携」であり、今後ソフトウェア開発において必須になるのは他者との「連携」であると私は考えています。その中に経済学部の「Nudge」が応用できるのではないか。。。と考察しています。

現在ビックテックといわれる企業、、、「Google」や「Meta」「Microsoft」などという企業は多くの開発者を抱えています。Chrome であっても Safari であっても Opera であっても最低でも数十人の開発者を持っていることでしょう。Floorp は逆に私一人で現在は開発を進めており、自分だけではどうしようもない場面が今後必ず出てくるという確信が元々ありました。

他者との「連携」とは、今後ソフトウェア開発において、Floorp が選択肢に入ったとき、他のブラウザーを超越し、その壁を乗り越えるための唯一無二の手段であると考えました。

「Nudge」を用いて他者を動かしその他者と「連携」することで Floorp というか、今後のソフトウェア開発はより良いものになると確信しています。

経済学部では「人を動かす力」を「情報連携学部」ではそれを用いた「他者との連携」を学ぶことによって Floorp は成長し、より良い製品になるのではないかと考えたわけです。

もちろん経済学部ですから、数学もちゃんと学びなおしました。元々その目的でしたから。

第一選考は無事通過。正直余裕であり、気持ち的にも全然大丈夫でした。二次試験は教授の前でのプレゼンテーションでした。「口頭試問」を行うという謎の記述があり、非常に緊張が止まりませんでした。

試験当日

プレゼンテーションは緊張しませんでしたが、その後の質疑応答では片言になり非常に苦しんだ覚えがあります。

結果は合格で今の大学をやめて受かった別の大学に行くことになります。

合格後

念願の理系学部に合格したので情報学と「連携」を学ぶことが決まったので今後はもっと Floorp を成長させ、どのようにすればメジャーなブラウザーにアップグレードできるのか、選択肢に入りやすくするにはどうするのかなど今後研究するつもりです。

3月には OSC がありそこでも LT 会に参加するつもりです。今後も Floorp 開発を頑張りますのでどうぞよろしくお願いします!!

Discussion