プログラミング歴0年で気合だけで二週間でWebアプリを作った時の話

これはProgateアドベントカレンダーの一環で書いてます。

 

どうも、Progateという会社でエンジニアインターンしてるひろむと言います。

僕は2017/04/01から色々あってエンジニアインターンをしてるんですけど、その時に一つWebアプリを自作するという研修があったんですね。

作ったのはあまり詳しくはかけないけど、Progateの知識を使ってRuby on RailsJavaScriptを使ってLINEアプリみたいなメッセンジャーアプリを作るというもの。

f:id:rmhkwar0518:20171210222339p:plain

こんなやつ(めっちゃ簡素)


プログラミング経験0、Rubyってなんぞという状態からプログラミングを始めたんだけど、なんだかんだ色々あって二週間くらいで完成したので、その時に気をつけてたことについて書きます。


ということで2017/04/01、俺がProgateに入る前の時の話。

 

Progateに入る前については下の記事にちょっと載ってます↓

東大留年して5ヶ月経ったら人はどうなるのか - キャッチーを科学したかった

 

大抵は基礎を知らないか、基礎を使えてないか

たまに「プログラミングとか数学に強くないとできないんじゃね?」「センスないと無理なんじゃね」みたいなことを友達言われたりするけど、最初の時ほどそんなことない。
俺も受験する時やデザインの勉強にも思ってたけど、結局「センス」みたいなのが要求されるのは相当後のフェーズだと思う。
例えば受験数学の素数問題とかは「いやこれはセンスないと解けないだろ」みたいな局面に遭遇することもあるけど、そんなのも東大でも6問に1問だけだ。5問くらいは微分積分を極度の緊張状態で実行する、三角関数を正確に計算するとか基本的なことで構成されている。

Webプログラミングも同じで、「きちんとデータを受けわたす」「きちんと文法にそってコードを書く」みたいな基本的なことで構成されてることがほとんどだと思う。

で、結局それは別に大層な本とかは読む必要なくて、基本の文法にどれだけ習熟してきたか、つまりやった時間に比例するし、そこはセンスは全く必要ない。とにかく時間を大量に溶かせば大抵のことはなんとかなるな、と初心者だけどなんとなく思っていた。

なので、とりあえずProgateのRuby on RailsJavaScriptとかを4周くらいやることから始めた。実際大抵の問題は「いやここ前に勉強したとこじゃん」みたいなことで解決することがほとんどだった。

というかそもそも何かができない時にセンスのせいにする人をたまに見かけるけど(2chとかで)、大抵は自分が知らないか、知ってるのにちゃんと使えてないかの二通りにだいたい原因があると思う、そしてそれを解決できるのは溶かした時間ただ一つしかない。最初の方こそセンスがどうとか考えず、とにかく基本を抑えられてるかを見直して手を動かすこと、それしかないと思う。


深く考えるのは後にして完璧は目指さない

ある意味前の章と矛盾してる気もするけど...

今改めて当時のコードを見てるけど、めっちゃひどい。

f:id:rmhkwar0518:20171210223150p:plain

http://livedoor.blogimg.jp/jin115/imgs/a/9/a9f77702.jpg

いわゆるクソコードだ。9ヶ月ぶりに改めて見てるけど何が何だかさっぱりわからない。マジでひどい。
なんでscopeの中で.as_jsonしてるんだ?


でも別にそんなんでいいと思う。
プログラミング勉強したての頃は絶対にいいコードはかけない。だって何も知らないんだから。
Rubyはそういう意味で初心者にめちゃくちゃ優しい。どんなひどいコードでもなんだかんだで動いてくれる。

要素の検証をした時にエラーが出まくる、別にそれでいい。
とにかく動くものを作ることが大事だと思う。細かいことを気にしていたら日が暮れてしまう。
大事なのは「あっこれ動くやん」「この機能は実装できたやんその瞬間に、細かい単位で、早くたどり着くこと。

ユーザーのデータを表示したいのに、画像が表示されてない。みたいな時もあると思うけど、最初から画像が表示されてることの方が稀だと思う。
とにかく最初はユーザーの名前だけでいいから表示しきる、次に画像...と途中目標を細かく切り分けて、細かく達成して行くこと、最初から完璧な機能を作らないこと、それが大事だと思う。

 

で、結局どうすればいいのと

基礎を徹底的にやりこむ、とにかくざっくりと動くものを作る、これらは二つとも矛盾してる気もしなくもない。
でも大事なのはこの二つのバランスだと思う。
ドラムでも吹奏楽でもなんでもそうだと思う。基礎のルーディメンツをやるだけだと何も進捗がない。でも曲を練習して、ライブをするだけでも技術的な進捗はないと思う。
大事なのはそのバランスだと思う。基礎をしっかりする、とにかく雑でもいいから機能を実装する、その両輪をどれくらいの塩梅で回すか。どれくらい高速に回すか。

この二つを見ても、結局センスなんて必要なくて結局はかけた時間ただ一つだけだと思う。俺はこのアプリを作るのに二週間の全てを費やした。

初心者の人で「プログラミングってセンスいるんでしょ?」と思っている人がいるなら、とりあえず短い期間でもいいから、一気に熱中してやること、時間を後先考えずに溶かしまくることをオススメしたい。

特にオチなく勢いで書いちゃったけどそんな感じです。

東大留年して5ヶ月経ったら人はどうなるのか

留年した2月終わりくらいから大体5ヶ月くらいたった。そろそろ留年したことを自分の中で消化しきれた感があるし、記事にしてみた。

 

精神は崩壊する

留年した人の精神的なダメージは、親しい友人を一人喪った場合と大体等しい(ソースはtwitter

留年した後の2ヶ月くらいは本当に辛かった、あまり僕の親しい友人には亡くなって欲しくないなと思った。

 

全ては、実際は2限スタートだった進級をかけたテストを、5限スタートだと勘違いしていたことから始まった。テスト当日昼休みtwitterをみていたら、「○○○のテスト難しかった~~」、僕が受けるはずのテストの感想ツイが流れていて、何かがおかしいと気づいてた。確かその時は大学でサークルとかしてた気がする。留年と税務署は突然やってくる。

 

もともと大学在学中のどっかのタイミングで休学したいなと思っていたので、「まぁ多分神様が俺にこのタイミングで留年しろと言ってるんだろうな」くらいの軽いノリで、特にテスト再受験の申請も出さないで、しめやかに留年した。これが全て正解で、全てが間違ってた。

 

留年して直後は特に何事もなく過ごしていたけど、精神崩壊が始まったのは2月なかば大学の食堂に行った時だった。

 

東大は3年に上がるタイミングで、キャンパスが駒場から本郷に移るので、友達が一気に身の回りから消失して、高校の時から学校の意味が友達と会えるくらいしか見出せなかった僕には本当に何よりもこたえて、「あ、自分ここに居場所ないわ」みたいな感想を覚えて、その直後トイレで吐いた。

飯は何食っても不味いし、何をやっても楽しくないし、白米を食えば吐き気がするし、歯ブラシを加えると食べたものを全部吐くし、タバコの本数は留年前と比べ4倍くらいになるし、常時頭痛がする。(今思えばなんでこんくらいで調子悪くなってるんだと思うくらい調子悪かった)

 

twitterとかで「留年したい~休学したい~」みたいなことを言っている人がいるんだが、全くもってオススメしない。

何か自分が属するコミュニティだったり、休学する間何をするのかだったりをしっかり明確化しておけば、多少精神を健全に保つことができたりするのもしれない。

最近は結構精神が安定してる、多分それは新しくサークルに入ったりインターンをしたりして、空いた時間、無駄な心配をする脳幹、周りの人に目を向ける時間を埋めてるからだと思う。一番悲惨なのは特にやることもないのに留年しているパターン、これをやった友人たちはすべからく精神が崩壊している。

 

周りに留年している人がいたら「あ、この人は親しい友人を一人失ったんだな」というくらいの気持ちで慎重に扱ってあげてください。

これが今年の2月終わりの話。

 

仕送りが止められる

留年するとなんだかんだで仕送りが止まった。

 

かと言ってアルバイトをするほどの元気もなかったし、もともとイラレやフォトショみたいな画像ソフトがいじれたので、それを使っていろんなチラシ・画像・広告などを作ってフリーランスで日銭を稼ぐことにした。

 

たまたま知り合いにデバートのマーケティング会社の社長がいたのでその人からデバートの広告をもらったり、家庭教師のチラシ、果てはアダルトサイトのサムネまでフリーランス用受注サイトで案件を取って稼いでいた。

 

これが思ってたより結構儲かって、だいたい一週間くらいで15万ほど稼げた。時給換算すると5千~3万円でバイトをするよりずっと良いし、何よりこのお金は社会の枠組みの手助けはあるにせよ、100%自分が生み出したんだと思うと自己肯定感が高まる。

 

ただデザイン系のフリーランスは単価が大変低くてアイデア勝負なところがあるから、思いつくかつかないかで時給が大きくブレるし安定しないなと思った。

フリーランス系の受注サイトの他の案件を見ていると、プログラミング案件の方が単価が高いし、要件も事前に固まってて安定しそうだなと感じたので、留年したことだしプログラミングでも勉強しようと思った。これが今年の3~4月の話。

 

ちなみに最近は仕送り復活しました。

 

 

そんな感じでプログラミングを始めた

「留年したしそろそろプログラミング勉強したいな」みたいなことをツイートした。

大学入ったらなんとなくプログラミング勉強したいなと思っていたんだけど、結局今までやっていなかった。それに留年する前に入っていた学科でプログラミングの科目についていけず、同じ学科に進学するにせよ多少プログラミングを勉強する必要があるなと思ってた。

 

すると、僕のツイッターの友達で色んなところでエンジニアインターンとかしている友達が「どこかいいとこ紹介するよ」みたいな反応をくれて、それが今インターンしてるProgateというところだった。

 

prog-8.com

 

ちなみにこの紹介してくれた友人、僕と存在するコミュニティが全くもって被ってなくて、なぜかtwitterで絡んで来てくれた子だった。この友人がいなければ今自分は働いてないし、なんならtwitterをやってなかったらこの友人と知り合うこともなかったかもしれない。twitterの本当に限りなく少ない恩恵の一つだと思う。

ちなみにその友人は最近会社を始めたそうなので応援してあげてください。
これがその友人が始めた会社↓

flatt.tv

これが今年の4月の話。

 

初心者からエンジニアインターンを始めて

僕は本当にプログラミングやったことなくて、インターンを始めた四月当初は本当にドベの初心者だった。

そこから1ヶ月くらい研修して、2ヶ月目からエンジニアとProgateで教えているコンテンツ内容の作成などをしている。大体週510:00-19:00までフルタイムで働いてる。

 

プログラミングはめっちゃ良い。俺今までプログラミングとか絶対つまらんだろと思ってたけど全然そんなことない。感覚的に絵を描いてるのとそんな僕の中で変わらんくて、絵を描いたりドラム叩いたりチラシを作ったりするようで、自分の何かを表現できるものっぽくてすごい。フツーに一生かけて付き合ってけるなとも思うし、きっとまだ知らない表現方法がたくさんあるのかもしれない。
でもその一方でプログラミングで、俺よりすごい人がいる数直線上で戦っても厳しいという気がしてる。いつか自分しかいないベクトルが見つけられればいいな。

とりあえず今年一年はプログラミング、あとデザインをしっかりインターン先で理論立てて勉強したい。でもそれでも足りない気がしてる。多分足りないのは企画力みたいなもので、コーディング、デザインをして、結局何がお客さんや一緒に働く人にとってよくなったのかみたいな、人への想像力が欠如してると思う毎日だ。

多分これは一人でプログラミングしてたら本当に頭にも寄らなかったことだと思うし、本当にインターン先には感謝しかない。

 

兎にも角にも、4月当初全く何もできずフラフラしてた俺を拾ってくれたProgateには感謝しかないし、それに貢献することしか今の自分にはできないんだろうなと思ってるし、それはなんらかしらで自分に返ってくるんじゃないかと思ってる。

 

いずれにせよ本当に今は留年全肯定できるようになってたっぽいし、それはいい意味なのか悪い意味なのかは知らんが人生が変わってるからなんだと思う。

最近はそんな感じと言う話。

留年直後くらいの心境の話がこちら↓ 殺伐としてる

 

rmhkwar.hatenablog.com

 

あと、デザインの受注はできる範囲でしてますのでtwitterのリプとかで連絡ください

 

↓いいねと思ったらスターとブクマください!シェアもお願いします!! ひろむ

ブログを始めた

唐突だがブログを始めることにした。

 

理由はいくつかあるが、twitterに完全に飽きたのが一番デカい。
twitterをやり始めて五年くらいになるが、五年もやってるとさすがに飽きる。
あと、twitterをやり始めた当初はフォロワー3000人を目標にやってきたので、去年の夏くらいに3000人超えて、完全にやる気を失った。


あと最近長文を書きたいなと思うようになった。twitterばかりやってると、文章力が下がるのを如実に感じる。
20歳にもなって「魔材ンゴ」とか「わーい!」とかしか呟かないのはヤバいぞ。

twitterで連投してもよいのだけど文脈を保ったまま書くのが難しい。
Facebookでもいいかなと思ったけど、Facebookスマホでみると文字が小さすぎて書く気も読む気も起こらないし、それに毎日TLに投下される意識高い投稿、広告、近況報告に反吐が出そうだ。

 

あと、twitterFacebookリツイートといいね機能にほとほと嫌気がさしたのもある。

最近はほぼ「おうどん食べたい」とか「結婚したい」とか「やる気がない」とかくらいしか呟いてないので、いいねやリツイートが全く来ない。笑うほど来ない。
いいねリツイートが来ないと自分の存在を否定されているような気がして、精神衛生上非常によくない。
それならいいねやリツイートが来ない世界に行こう、ならブログでしょというノリで初めてみた。

 

 そういえば今日は東大の入試の日らしい。大学の近くに住んでいるので受験生が家の周りにたむろしている。
二年前の今頃俺は何していただろうか。
たしか、twitterで受験生が自慢げに上げた数学の解答速報を見ていたはずだ。それが俺の解答と食い違っていたので、精神的に追い詰められ、その晩の夕飯を全てトイレに吐いていた気がする。

(ちなみに俺の解答が合っていた。後でtwitterみたらその受験生は落ちていたので本当に安心した。)


いつかそんなときのことも書けたらいいなと思う。

ひろむ

 


↓スターとかシェアとか押してね