こんばんわ!こふそ(@koheta0325)です!
私こふそ氏は何度も何度もお伝えしていますが、2019/10/12よりフリーランスエンジニアになりました。
https://binboz.com/blog/job20191003/
↑の記事では独学でWEBエンジニアになったというお話をしていますが、
いったいぜんたいどのようにして、独学でWEBエンジニアになれたのかについてフォーカスし、赤裸々にお伝えできればと思っております。
これからWEBエンジニアになりたい、WEBエンジニアになるために勉強している、という方向けの記事となっています。
大学時代は理工学部に進んだけど勉強しなかった
ええ。その通りです。
しっかり勉強しなかったため、プログラムの授業とか全然ついていけませんでした。
大学でどんなプログラミング言語を勉強したかといわれると全く覚えていません。
それくらい大学で学んだことは少なかったです。
一応ギリギリCHOPで現役卒業です。
大学生時代に一番打ち込んだことは?
社会人になってIT系ベンチャー企業でPHPを触った
まあ会社に入ってから仕事しながらプログラミングを覚えればいっか!
と甘い考えで、ベンチャー系IT企業に入りました。
PHPを使っていろいろやっていましたが、ぶっちゃけ全然できませんでした。
ソッコーで会社を辞めてしまい、3か月程度ニートをしていました。
(環境のせいにはしないようにします。。。このセリフ言ってる時点で微妙だけど・・・)
なので正直厳密にいうと独学ではないのです。(3か月程度、紙一重でPHPを本業で行っていた)
6年間、本業しながら勉強する機会があった。
ニート生活をしてから3か月後、9~17時でしっかり定時で帰れる会社で6年ほど社内エンジニアとして勤めていました。
最近、エンジニアの皆さんとお話する機会が多いので、よく話しているのですが、
ぶっちゃけ本業でこのまま仕事していても、仮に転職した場合、転職先で通用する技術レベルではない。(スキルが上達しない)
と思ったのです。そこから踏み出しました。
本業ではC#で業務系アプリケーション開発を少しやっていましたが、マーケットが狭く感じでいました。
これを個人で売っていたとしても、あまり使ってくれる人いなさそうだなあと・・・
組織単位で動くのであれば、業務系アプリケーションはよいかもしれませんが、もっと人がいっぱいいる分野で戦っていきたいとおもったよ!
じゃあ何を勉強しようか?何を作ろうか?
余談
今この記事書いている途中で思い出したけど、そういえばiphoneアプリの開発したことあったの思い出した。
そのアプリで、データベースバックアップ等の機能をアンロックできるシステムで課金型アプリ作って4万くらい稼いだことがあったの思い出した。
あとでApple Dev Centerで残高が残っているかを確認しよう。
↑の話はあったけど、結局iphoneアプリも個人で勝てるようなものは作れない!Androidユーザーにも見てもらうには、Javaも勉強しなきゃ・・・
と言った感じになってしまったので、
じゃあWEBだったらPCでもiphoneでもAndroidでも見れるじゃん。と思ったのです。
WEBで行こう!!俺はWEB神になる!!と奮い立ちました。
じゃあとりあえず何を作っていけばいいんや・・・
たいていの人は、とりあえずまずWEBの勉強をしよう!という話から入る人が多いですが、
自分の場合は、【何を作るか】ということを決めて、WEBの勉強をしました。
そうじゃないと、モチベーションあがらんくない?
いきなり初心者に【データベース】を勉強しましょう。って言っても、
は?何データベースって?あたしのことバカにしてるの?米軍の基地局かよwwwテラフォーマーズwww
みたいな顔をされます。(僕が当時そうでした。だから大学の時もモチベーションあがらなかったのかなあ・・・)
例えば、2ちゃんまとめサイトを作成しようという話になった場合、
投稿データを保存します。その時にデータベースを使って投稿データの保存・更新・取得を行います。
ああ。なるほどね!データベースってセーブデータのことね!プレステ1でいうとメモリーカードのセーブデータのことね!(米軍の基地かと思ったwwwテラフォーマーズwww)
という感じで理解していきました。
じゃあそのデータベースはSELECT文で取得して、for文で繰り返し回していけばいいのね!うんうん!わかったわかった!オッケーグーグル!
という感じです。
【とりあえず勉強する】ではなく【○○を作りながら勉強】する。という形を非常に大事にしています。
もしWEBエンジニアになりたい人にプログラミングを教えるのであれば、【○○を作って勉強】という形をとってもらいたいと思っています。
【何を作るか】→【とりあえず金になるものを作る】→【とりあえずパクリでもいいから、稼いでいる人のまねをしたサイトを作る】
でサイトを作成しながら勉強しました。
じゃあどんなものを作ればお金になるの??
どんなものを作ればお金稼げるのか?ということになります。
これはですね。ちょっとしたコツがあるのです。
クラウドソーシングサービスってご存知でしょうか?
ネット上でなにかサイト等を作成してほしい人(クライアント)と、仕事を受注したい人(ワーカー)を結びつけるマッチングサービスです。
↑のようにクエスト一覧(依頼一覧)が載っています。
自分はここで「ふむふむ。こういうニーズがあって、こういうものが作れればお金になるのか」というモチベーションが挙がります!
おれならこれ作れる!じゃあお金になるじゃん!
という感じでモチベーションアップにつながりますよ^^
実際に仕事を受けたらもうあなたは一人前です!
最期に。エラーは怖くない!調べる力がつく!
開発しているとエラーが頻繁に起こります。
人生で100万回くらいエラー画面を見ている気がします。
開発していたら、エラーなんか街でコンビニを見かける以上にエラーを見かけます。
なんやこのエラー。画面が血だらけやん。。。(ペニーワイズかよ)と思うくらい真っ赤になります。
これをね。最初はつらいと思うけど、これをGoogle先生でそのエラー文をコピペして検索すると、大概同じ問題を抱えていた人がいるんですよね。
みたいなやり取りがGoogleでヒットします。
ふむふむ。確かに同じ現象だわ。じゃあとりあえず同じようにやってみるか?という形で解決していくのです。
これはもうそのうち慣れます。がんばれ!
そんな感じでWEBエンジニアになれましたとさ!
君もWEBエンジニアになろう!
ご清聴ありがとうございました。