今回インタビューしたのは、中国学科4年(6回生)吉村舜也さん。
実は吉村さん、各種スクールに通うことなく全て独学でプログラミングを習得されたというスゴい先輩…!
実際のプログラミング学習ってどこから手をつければ?費用はどのくらい?ド文系だけど理解できそう?等々、大学生の今、知っておきたいプログラミングのあれこれを吉村先輩に教えていただきました!
ページコンテンツ
- 吉村さんってこんな人!
- 読者からの質問コーナー
- スーパー玉出さん(英米学科2年)プログラミングの勉強を始める前、PCスキルはどのくらいでしたか?
- しゅうまいさん(中国学科?年)勉強を始める際に揃えたグッズ(ガジェット)などあれば教えていただきたいです。
- やまちゃんさん(第二部英米学科2年)他プログラミング学習のやる気維持が難しいです…。吉村さんのモチベーションの保ち方が知りたいです。
- ピエス神戸さん(国際関係学科3年)他吉村さん流の勉強の方法を教えてください!
- Banana Monarchy さん(イスパニア学科3年)「Progate」を一通り終えてから何をすれば良いのかわかりません。吉村さんはどのような過程を経られたのですか?
- すじこさん(英米学科1年)どんなものをつくった・つくっているのか興味があります。また、どのくらいの時間を作業に費やされましたか?
- Nellさん(?学科?年)プログラミングのスキルを活かして収入は得られていますか?ぶっちゃけ、おいくらくらいですか、、、?
- インタビュー班からの3つの質問
吉村さんってこんな人!
どういった経緯やタイミングでプログラミングしてみよう!と思い立ったんですか?
3回生の時に休学をして、アイルランドのダブリンでワーホリをしていたのですが、そこのWeb系企業で半年ほど働かせてもらい、初めてプログラミングに触れました。
元々ワーホリでは、英語だけでなく将来役に立つスキルを手に入れたい!クリエイティブなことがしたい!と思っていたので、それに合致した良い経験だったと思います。
プログラミングで学んでいるのはどんな言語/フレームワーク?
Golang, Typescript, Vue.js (Webアプリの開発で使用)
Swift, ReactNative (ネイティブアプリの開発で使用)
の言語を使用しています!
現在に至るまで、プログラミングの知識をどのようにつかって活動されているんですか?
現在は、角川ドワンゴN高等学校でプログラミングTAとしてインターンをしており、そこでプログラミングの授業を行ったり、学園で使うアプリ・システムを開発したりしています。また、業務システムの開発を請け負って、お仕事したりもしています。
次は事前にKCUFSプラス公式インスタグラムで募集をかけ、皆さんが送ってくださった多くの質問の中から吉村さんにお答えいただいたものをご紹介します!
読者からの質問コーナー
スーパー玉出さん(英米学科2年)プログラミングの勉強を始める前、PCスキルはどのくらいでしたか?
しゅうまいさん(中国学科?年)勉強を始める際に揃えたグッズ(ガジェット)などあれば教えていただきたいです。
プログラミングで一番最初の壁が、開発環境を整えること。この部分に関して、初心者向けの記事はMacbook向けのものが多いんです。「MacBookで言語をローカル環境に持っていく方法」などググればすぐにわかるっていうのが決め手になりました。メモリは8GBではなく16GBと余裕を持たせました。逆にストレージやCPUはそこまでグレードを上げていません。
メモリ容量の大小は勉強机のサイズみたいなもの。(一方でストレージ容量の大小はひきだしのサイズみたいな。作ったファイルをどのくらい保存しておけるか、って感じ。)メモリの大きさによって同時にどれだけサクサク作業ができるかという点で使い勝手が全然違ってくるみたいです。プログラミングの作業をする場合、同時にいくつもタブを開くことがほとんどなのでPC選びの時はここを重視。そのくらいあれば、致命的に作業しにくいことはないと思います。
やまちゃんさん(第二部英米学科2年)他プログラミング学習のやる気維持が難しいです…。吉村さんのモチベーションの保ち方が知りたいです。
“プログラミング友達”をつくる。これでモチベーションが保てています。ひとりで勉強をやっていても飽きてしまうことってあると思うんですよね。 そこで僕はGitHub(ここから吉村さんのページををみてみよう)を活用しています。(GitHubとはプログラミングのコードを一般に公開でき、保存・共有が容易に可能になるクラウドサービス。いわばエンジニアのSNS。)
ピエス神戸さん(国際関係学科3年)他吉村さん流の勉強の方法を教えてください!
勉強方法は主に3つで、 1.書籍やUdemyで全体像を体系的に学ぶ。(Udemyはセール期間だとクオリティの高い講座がとても安く購入できるのでオススメです!) 2.エラーが出たり、分からないことがあればプログラミング関係の記事が載っているQiitaや、公式リファレンスを読んで解決する。 3.実際に自分でアプリを作ったり、業務で使用して知識を定着させる。 というような勉強フローをとっています。
最初の言語は必然的に時間がかかりますが、言語どうし似通っている部分も多いため、初めの言語をマスターした後はより短期間で1つの言語を習得できるかと思います。僕が最初に学んだのがRubyという言語。これは2〜3ヶ月くらいかかってようやくアプリケーションを作れるレベルになりました(休学中、一日をしっかりとプログラミングの勉強に充てていた)。そこから新たに言語を学ぶときは、規則性や共通点がわかってくるので1週間程度でマスターできるようになりました。
また、Udemyの講座で、検索上位に出てくるものはだいたいクオリティが高いのでそれを受けてみることをおすすめします。YouTubeも使ってはいますが、やはり無料の動画では基本的な説明のみで物足りない部分も…。基礎的な部分は無料動画でもいいでしょうが、そこから先の発展的な内容を知りたい場合だと大体は有料動画で学んでいます。
書籍・講座に関してはトータル10万円ほど費やしたという吉村さん。
手探りで始めたので書籍の中には内容の重複している部分も多く、ある程度道筋がわかっている場合はその半額くらいで済むのでは?とのこと。
そんな吉村さんが実際に使用されていた書籍・講座の中からいくつかピックアップしていただきました!
ただ、下記ではどの言語を使っていても必要であろう知識を内容とレベル別でまとめてみました。(僕が使った書籍というだけで、他と比べて秀でているか検証した訳ではないので、あくまでも参考程度にお願いします…)
【初心者の人向け】
・”Progate“
Web開発に必要な知識の基礎を体系的に学ぶことができる。開発環境の構築の必要なく、ゲーム形式で行えるため、プログラミング初心者は大体の人がやっているのでは??
・”Railsチュートリアル”
Ruby on RailsというRuby言語のフレームワークの学習サイト。14章を通して、アプリケーションを作成しながら、Web開発のノウハウを学んでいく。TDD(テスト駆動開発)という開発手法を採用しており、初心者からするとかなり難しく挫折不可避なので、Progateなどで知識をつけてから取り組むのがおすすめ。
・『【JavaScript超入門講座】わずか50分で知識ゼロから基礎をマスター!』
・『【JavaScript超入門講座】基礎文法だけでクイズゲームのアプリを開発!』
2時間程度でJavascriptの基礎文法から、クイズゲームを作るレベルまで勉強可能。説明が分かりやすく、予備知識を必要としないため、完全初心者でも取り組み可能でおすすめ。
・『はじめてのSQL ・データ分析入門 –データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向けコース』(Udemy講座)
データベースを操作する言語であるSQLを1から学ぶことができる。とても分かりやすくおすすめ。
【ある程度知識がある人向け】
・『【世界で7万人が受講】Understanding TypeScript 日本語版 』(Udemy講座)
JavascriptのスーパーセットであるTypescriptの講座。より実務に近いレベルでコードを書くための知識が身に付く。講座内では、Node.js、ReactといったJS関連の技術を一緒に学べるのでお得。
・Foucher, Trevor & 須藤 功平. (2012). 『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』
他人から見て分かりやすくスケーラブルな、いわゆる綺麗なコードを書くための書籍。
・Karwin, Bill & 和田 卓人. (2013). 『SQLアンチパターン』
SQL(データベースを操作する言語)をアンチパターンのコードを書いていきながら、避けるべき理由を理解できる。
iOSアプリ
・『【iOS14対応】未経験者がiPhoneアプリ開発者になるための全て』 iOS Boot Camp (Udemy講座)
Swiftを使って、複数のアプリケーションを作成していき、その過程で知識やコツを掴んでいく。レベルが高いが、全ての講座を終えた頃にはSwiftで大体のアプリはつくれるようになっている。
アルゴリズム
・『現役シリコンバレーエンジニアが教えるアルゴリズム・データ構造・コーディングテスト入門 』(Udemy講座)/
Python3を使って、アルゴリズムの基礎を学んでいく。コードテストで出題されるような問題を取り扱うため実用性が高く、アルゴリズムを学ぶことによってWeb開発やネイティブアプリ開発などにも応用できる。
資格関連
・丸山 紀代. (2021).『改訂版 この1冊で合格! 丸山紀代のITパスポート テキスト&問題集』
・きたみ りゅうじ. (2019).『キタミ式イラストIT塾 基本情報技術者』
・山下 光洋. (2019).『AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー』
・中島 能和. (2019).『Linux教科書 LPICレベル(n)』
Banana Monarchy さん(イスパニア学科3年)「Progate」を一通り終えてから何をすれば良いのかわかりません。吉村さんはどのような過程を経られたのですか?
注)Progateとは、初心者向けのプログラミング学習サイトです。 参考サイトはこちら
プログラミングと言っても幅が広いので何がやりたいかによって学習の進め方はそれぞれ異なると思うのですが、一応webアプリを作ることを目標にされていると仮定します。Progeteは基礎的な知識を身につける場所であって、これを勉強するだけでアプリを自分でつくるのは難しいのかも。
すじこさん(英米学科1年)どんなものをつくった・つくっているのか興味があります。また、どのくらいの時間を作業に費やされましたか?
初期はホームページを中心に制作していました。例えば、神戸大学大学院のある研究室のホームページなども制作しています。また、システム的なものにも興味が湧き始めてからは、売上や在庫を確認・分析できる仕組みやiOS版の簡易地図アプリ*、インターン(ドワンゴN高校)先の生徒のためのフリー素材を共有して自由に使用できるサイト**などをつくってみたり。個人的にYouTubeの動画リンクを打ち込むとその動画に寄せられた海外からのコメントの割合を計算できるシステム***なんかも趣味で制作しました。
《Made by 吉村さんのシステム写真展》
注)今回、wordpressの都合で白い長方形部分or青字部分をクリックして閲覧という苦肉の策をとっております。お手数をおかけいたします…。
プログラミングをやっていると「この作業を効率化したい」っていう思いでシステム作りに取り組むことも多いんです。ただ、それが本末転倒になる場合も…。30分かかる作業を3秒でやりたい、でもそのシステムを作るのに3時間かかっちゃうというような(笑)
作業時間に関しては、システムの大きさや言語の慣れによって変動します。短くて2、3日でつくれるものもあれば1〜2ヶ月かかる場合も。趣味のものであればある程度のバグがみられても妥協できますが、請負のお仕事のものであれば機能の些細な部分まで突き詰めていくことになり、それだけに時間はかなり費やしますね…。
Nellさん(?学科?年)プログラミングのスキルを活かして収入は得られていますか?ぶっちゃけ、おいくらくらいですか、、、?
あ、差し支えありませんよ(笑)インターン先ではプログラミングのスキルを教えているのですが、時給は1500〜1600円ほど。(塾講師よりも若干高いくらい?)請負でお仕事をする時は、最長で2ヶ月かかる場合もありますが、10〜20万円ほどの収入があります。
インタビュー班からの3つの質問
1.プログラミングって面白い!と感じるのはどんな部分?
2.プログラミングってどんな人が向いていると思いますか?
3.今後どんなふうにプログラミングのスキルを活かしていきたいですか?
他方では、機械学習で本を書く仕組みをつくって実際に執筆させてみたくて。僕は小説が好きで、読みだけじゃなく実際に文章を書いてみたりもしているんです。今度は機械にいろんな人の本を読ませ、学習させることによって、同じような文体を感じさせるお話が生み出せたらなぁ…と。
人間である僕がAIについての物語を、AIが僕たち人間についての物語を綴ることで、人間とは何かっていうことが問えそうだなぁと。まだまだ構想の段階ではありますが、叶えたい夢のひとつです!
吉村さん、ありがとうございました!
さて、いかがでしたか?プログラミングの可能性に取材班もときめきが止まらず…!「外大生はプログラミング向き」の言葉を信じて、皆さんも新たな世界に足を踏み込んでみるのも大アリかもしれませんね。ではみなさん、満足のいく学期間休業をお過ごしください。
ここまでお読みいただきありがとうございます。
鳥取市出身、国際関係学科4年、社会学ゼミに所属するショートカット女子。
小学生の頃どハマりしたのは回文づくり。座右の銘は「できるやればねばれやるきで」。