これから僕と一緒にpythonを勉強するあなたへ

簡単な自己紹介

初めまして。丸茂 瑞喜と言います。早稲田大学一年生です。浪人して京大を目指していましたが力足りずに早稲田に入学して一年弱。すっかり早稲田の校風に慣れ、四年間を東京の友達と楽しく過ごして、時には勉強にも励んで、、と思いきや何を思ったのか今年の春からユタ州のブリガムヤング大学に編入することを決め今、編入手続きをしています。普段は早稲田の野球サークルに顔を出すか、自分の好きな勉強をするか、学生のうちに少なくとも自分の生活資金を確保したいので起業を考えたりしています。長野県の田舎出身なので東京にきて感じたギャップなども話していけたらなと思います。
誰もみないと思うので、好き放題書こうと思っています。いろんな人と交流するのは好きなので感想などももらえたら嬉しいです。

python学習の現状/勉強を始めた理由

勉強を始めて、二週間ほど経ったでしょうか。ちょくちょく休みながら基礎文法を一通りさらい、今はcheckioという問題演習サイトで問題を解いています。解くスピードは早い方ではないと思います。

そもそもなんでpythonの勉強を始めたかというところですが、二つほどあって、1つは起業家としてプログラミングの主要言語、その課題解決の仕方は知っておいた方がいいだろうと思ったこと。2つ目は前々から興味があったといったところです。

一つ目に関してですが、起業を考えた時に現在40兆、2024年には60兆規模の市場になると言われているAIの情報を知らんのはまずくね。というノリです。自らの手で高難易度のプロダクトを作れるようになるというところは目指しません。ですが、API連携を使って複数のAIサービスを併用すること、株価予測等の身の回りのツールを作る程度の技術を身につけること。その過程でリサーチをする能力、特に現状何ができて何ができないのかを自分の手で調べられるようになることは大事だと思っています。
勉強を始めてみて思いますが、自分のようなバリバリ文系人間はプログラミングをできる人が当たり前に行う『問題を細分化→地道に検索をして一つずつ問題を解決していく』という行為に慣れてません。これには確実に慣れておいた方がいいと思います。自らにとって必要な情報を抽出して課題解決に繋げる能力はきっとどこでも役立ちます。こと日本で生きているとプログラミング思考を一生必要とせずに終わる人が多いと思いますが、これから数十年のAI全盛時代を生きる人には必要な能力だと思います。この勉強をしないでもなぜかこの思考ができる人に何人か出会ったことがありますけど(笑)

二つ目ですが、学生のうちに興味の赴くままに何かを本気で勉強する経験は必要だと思います。東大生が目指すでお馴染みの金融業界で一日12時間ほどのブラック業務をこなしている人にお話を伺ったことがありますが、彼らが口を揃えていうのが『スタートライン(就活時)での金融への知識はあまり重要でなくてポテンシャルと経験が大事』ということです。JPモルガンに心理学専攻の学部から異色の経歴で入社したかたもこのことをいってらっしゃいました。学生のうちに勉強したことは瑣末なことであり経験が大事なのである。と。そういうことなら好きなことを本気で勉強した方がいいですよね。僕は単位のための勉強が好きじゃないです。早稲田の単位もまだ5単位しか取ってないです。親にバレたら殺されますね笑その代わりにといっては都合が良すぎますが自分が興味のあるプログラミングと金融の知識は学生のうちに勉強を進めようと思っています。


勉強方法

本題です。今は基本の文法を checkioというサイトを使って確認している最中です。2023/02/17現在、openAIが開発したGPTー3をもとに作られたco pilot,Bingを使って勉強しています。まだAPI連携もろくにできないのでペーペーです。

これからの流れとしては
・問題演習をさくっと終わらせる
・身の周りの自動化フローを作成してみる
・他の言語、フレームワークを同じように学ぶ
・日用品をユーザ1000人ほどの規模感でシェアするウエブアプリを作ってみる。(売れたらいいな)
です。

普段意識していることは
・最終的にアプリを作るときに必要な考え方以外は全く考えない
ということです。

具体的には瑣末な文法を覚えることやpython3系におけるコードのお作法などは全く意識しておりませんし、なんならちゃんと自分でコードを書くというような巷でよく言われていることも意識しておりません。どこまで日本語、英語で書かれた文を分割するのか。どこまでならAIが代替してくれるのか、自分が考えなきゃいけないことは何かということをずっと意識しています。chechioの問題を解くときには問題を見て全体をいくつかの必要な機能に分割する→それぞれをbingのチャットbotで日本語からpythonのコードに変換してもらう→checkioの答えの欄にコピペするということを繰り返しています。なんならもうコピペもめんどいから問題と答えがセットになっている演習に切り替えようと思っています。それくらいに自分の手ではコードを書いておりません。

理由

こうする理由は大きく分けて二つあって
一つは自分が目指しているところが1000人規模のアプリを作ることで終わること。
もう一つはChatGPTに始まる自然言語処理のチャットサービスの目覚ましい発展です。数年後のエンジニアはAIが書いたコードにゴーサインを出すだけの存在になり、そのまた数年後にはエンジニアという職そのものがなくなると思います。

一つ目。自分の目指しているところが低いところに関してはさほど重要ではないので端折らせていただきます。たぶんプロのエンジニアになる人でもこのやり方を採用するのではないのでしょうか。

二つ目。AIチャットサービスの発展について。
去年の夏ごろ、知る人ぞ知るという状態で画像生成の分野で人気に火がついた生成AIの分野はもはやトレンドではないそうです。歌舞伎町のキャバ嬢のブログを代行し、ひろゆきさんのように振る舞いこちらを論破してくれる件のChatサービスはプログラミングの世界で猛威を奮っています。機械学習そのものがpython系をもとに開発されたこともありプログラミングは得意な分野の一つでしょう。
自分の肌感では数行から十数行までのコードならAIは現状でもかなりの精度で答えを返してくれます。bing、ChatGPTのような自然言語処理サービスはWEBから読み込んだ情報を元にしているのでstack overflow、qiitaのような直近数十年のエンジニアの方々の血と汗の滲んだエラーの歴史をも吸収していることを考えればこの精度の高さにも納得いきます。突如として現れたtext to codeサービスですが、これから技術が退行していくことはありませんし、精度は上がっていく一方でしょう。2025年には指示待ち人間レベルの人工知能が現れ、2030年代後半にはAGI(汎用性人工知能)が出現し、自ら設定した学習課題を解いて自ら発展していくと言われています。すると少なくとも10年後には今みなさんがお使いの日本語で「〇〇と〇〇を盛り込んだアプリが欲しいな」と独り言を言えばそばに控えていたペット型のロボットがコードを書いてアプリを社会に出してくれるのです。ですからcheckioのような基本文法の確認をさせる問題では自ら手を動かしてコードを書く必要はほとんどないのです。そうなると今自分たち未経験のエンジニアがpythonを学ぶ意義はなんでしょうか。自分はこれは高校数学を学ぶのとほとんど変わらないようになるのだろうと思います。つまり、pythonそのものよりpythonを勉強する過程での課題解決能力、情報収集能力が大事になるとういことです。日用品シェアアプリを例に挙げれば、これを作るために何が必要かどんな工数になるのか。Bingに細分化した機能に関するコードを書かせてみてエラーが出たところでそれをまたチャットサービスに投げ、解決するという能力があればいいのだと思います。

書くのがめんどくなりました。深夜2時に描き始めて3時半を回ってしまいました。書きたかったことと違ってねという思いが率直な思いですがこんなもんでしょう。要は十何年後かに奪われていく資格は取らなくていいと全くの悲観的になるわけでもなく、かといって過去の情報ばかりを信じて弁護士安泰!エンジニアなら年収〇〇みたいな思いで脳筋勉強をすることもなくこんなんで大丈夫かな。と自問自答しながら好きなサービスを触っていくのがこれからの勉強の姿勢として正しいのだろうということです。また気が向いたら上記の方法で勉強をしてみた結果の報告とともに近況を報告しようと思います。多分ここまで読んでくれたあなたは相当な酔狂です。感謝します!また更新するのでみていただけたら幸いです。

この記事が気に入ったらサポートをしてみませんか?