webエンジニアを目指す文系大学生がいままで勉強してきたことをまとめてたら結局よくわからないことになってたという話

僕は高校時代から文系という道の上を歩いてきましたが、ひょんなことからエンジニアを志すに至り、'hello world'してから半年を過ぎようとしています。そんな僕が毎日の勉強の中で何をやってきたのかをまとめていたら結局よくわからないことになってしまっていたので、備忘録的にしたためておきます。成長の過程をわかりやすくするため月ごとに何をやってきたのかをまとめます。


9月 hello world
・とりあえずぐぐってhtml・cssをかじる
・友人の勧めによりPythonに手を出す


10月 javascriptとの出会い
・聞いたことのあった言語第1位のjavascriptに手を出す

・目に見えるなにかを作りたくてライフゲームをつくる
wordpressに手を出す。同時にレンタルサーバーに登録。


11月 ものづくりにはまる
耐えるテトリスを作る。ほとんどamachangさんのコードのまねごと。ちょっとオリジナリティーをだしたくて目がチカチカするとかいう謎の機能等を追加。知らぬ間にhtml5のaudioとか使ってたww
お祈りメール生成ボタンをつくる。内容はもっのすごい簡単だけどなんかおもしろがられて何かを作るの楽しいと感じる。
・taitanium mobileに手をだす->即効挫折


12月 道がひらけてくる
・web2pyを使ってツイッターもどきをつくる。初webアプリ。なんか同時にGAEにも入門してた。データベースとかはよくわかってない。

  • >web2pyはこのドキュメントを読み込んだ。あらかじめ簡易アプリができてるのでそこをちょいちょいいじりながらやればできる。。あとyoutubeにも良いチュートリアルがあったなー。

エンジニア就職支援サイトシープラでおなじみのgiveryさん主催、「逆求人イベント」の参加が決定。それに向けて新たなアプリ開発をはじめる。PHPを勧められる。


1月 オナ苺ちゃんとの出会い
PHPを学び始める

・自慰行為を時間管理するアプリ「おなログ」を作る。
イベント当日は色んな企業の方にプレゼンしたけどみんな温かく接してくれました。女性の人事のかたほんとごめんなさいって感じ。
twitter bootstrapに入門。twitter bootstrapの練習と岡田斗司夫好きも重なり「wishlist」なるものもつくった。

  • >このあたりからドットインストールのヘビーユーザーになる。bootstrapもドットインストールでほとんど学んだ。


2月 部屋とドットインストールと私
電話番号占いをつくる

  • >ドットインストールでjquery mobileを学んだ。

・taitanium mobileで彼女を監視するアプリ(スクリーンショット)をつくる

  • >彼女を監視するアプリはtaitainum mobileに再入門。ドットインストールでアプリを作る感覚がすこしできてきたので拙いながらできた。

facebookアプリ「卑猥なことをつぶやきたい」をつくる

  • >ドットインストール

・twitterAPIとかアプリであそぶ

  • >ドットインストール

jqueryで遊ぶ

  • >ドットインストール

CentOSで遊ぶ

  • >ドットインストール

mysqlで遊ぶ

  • >ドットインストール

unixで遊ぶ(これは3月だっけ?まあいいや)

  • >ドットインストール


3月 おっぱい
perlでおっぱい画像を1000枚ダウンロードする

python再入門

  • >みんなのpython web編(3月いっぱいまで無料)をしたり昔は理解できなかったとことかをびんぐったりして抜け漏れチェック



あとこの他にも関連ブログを読んだり、ネットワーク関係の本を読んだりもしてます。
とまあこんな感じに列挙してみたわけですが、いくつか言えることは...
・色々手をだしすぎ
・独学のみ。勉強会とかいったりしてない。ひきこもり。
・ドットインストールしすぎ

といった感じですが、結局のところ「色々手をだしすぎ」の一言に尽きるのではないでしょうか。

言語ひとつとってみてもpythonしたりPHPやってみたりPerlしてみたりjavascriptしてみたり...。全部中途半端になってます。
おそらく原因は大きな目的をがあってそれを達成するための道筋を定められていないからだと思われます。例えばインフラエンジニアになりたい!という人はLinuxをやって真っ先にサーバーの知識を深めるだろうし、DBエンジニアになりたい!という人はsqlやってmysqlとかpostgresqlとか最適なチューニングうんちゃらかんちゃらとデータベースを深めると思うんです。
僕の場合エンジニアになりたいという想いもあるもののそれ以前に大きなwebサービスを作ることが一番の主目的なわけです。それっていってみればサービスの企画もそうだし、どう収益化させるかだか、どう運用するにはどのくらい人員が必要かだとか色々含まれてると思うんです。全体集合の中の部分集合としてエンジニアがあって、他にマネジメントもマーケティングも企画も人事も全部部分集合になっちゃうんですよね。要は主目的を達成するためにすべきことがありすぎるんです。僕は全体集合の中でもまずエンジニアとしての力が土台として一番大事だと思っているので学んでいるのですが、ゴールがよくわからないし、そもそもゴールとかないかもしれない。全体集合を形作るために必要な力=ゴールという人がいるかもしれないけど、じゃあその必要な力って何?ってことになるともう袋小路ですよ。だから結果として中途半端に色々と手を出してしまっているように思うんです。


こういうときってまずは何をすべきなんですかね。ひとつのものを極めるためには他のものを一時的に犠牲にしなければいけないわけだけどそういう勇気がないのかなー。「二兎を追う者は一兎も得ず」というのが現状ですなー。こういうのって授業でCとかすらやってない素地ゼロの文系だからこそぶつかる問題な気がする。というわけで長くなってしまったけどここらでおいとまします。同じような壁にぶつかったことのある人とかコメントしてくれるとありがたいっす。でわでわ。