英語偏差値３６の文系大学生がエンジニアの実務始めてから４ヶ月たったのでまとめてみた

#プロフィール紹介
・大学３年生
・心理学部
・TECH::CAMPでRubyを勉強
・プログラミング歴　6ヶ月（2018/3/16~)
・プログラミングをはじめるまではパソコンはYouTubeみるものでした笑
・インターン先の会社はエンジニアは１人の社員さんだけです。
・インターン先では言語はRuby・HTMLはhamlで書いてます。データベースはPostgreSQLを使っています。

#そもそもなんでプログラミングやろうとおもったの？
そもそもなんで文系の僕がプログラミングの勉強を始めようかと思ったかというと、ざっくりいうと作ってみたいwebアプリを思いついて、知り合いのエンジニアの人にどれくらいお金あれば作ってくれますか？と聞いたところモック作るのに**５０万**、ちゃんと作って納品するのに**３００万**、あと維持するのに**毎月２０万**はかかります。
っていわれて、、、それは**払えん！**でも、作りたいから自分で作ってみよう！って感じでプログラミングをはじめました！
あと同じ世代の方ならわかると思いますが、小さい頃ブラッディ・マンデイっていうドラマで三浦春馬がパソコンの黒画面にカタカタものすごいスピードで文字を打ってるのがかっこよくてそれに憧れてたってのもあります笑笑笑

#そんなこんなでTECH::CAMPへ！
最初は本屋さんで買った本を見ながらやろうとおもったのですが、あまりにもわけわかんなかったのでプログラミング教室のTECH::CAMPで勉強することにしました、なんでTECH::CAMPにしたか？というと、、、YouTubeで見たから！！！

ただそれだけです笑

とくにそれ以外は理由はないです笑


コースはRuby on Railsコースを受講してました。

そんなこんなでTECH::CAMPで２ヶ月ほど勉強し簡単なブログアプリくらいは１人である程度作れるようになったところで、インターンさせていただける企業を探し6/5より、今の企業でインターンさせていただいてます

#インターン（実務）１、２ヶ月目〜
まず、最初の１、２ヶ月間で主にやったことは

・環境構築する
・gitの使い方を覚える
・viewの修正をする

主にこの３つでした。
インターンさせていただけるのはいいことだったのですが、インターン先には社員の方は１人しかいないので基本的には１人で調べてやってね！みたいなスタンスでした汗
あと、そのときは会社の中の会議室みたいなところが僕の作業場所でした

そんなこんなでインターン（実務）が始まったわけですが、、、
インターン初日、、、

上司・・・「こーすけくん今からやってもらうプロジェクトのgithubのリポジトリに招待しておくから起動できるようにしといて〜！」

僕・・・「わ、わかりました！」

上司・・・「んじゃ、よろしく〜俺は向こうにいるからどうしてもわかんなかったらチャットして〜」

僕・・・「は、はい、、、」


ってな感じでgithubのリポジトリだけ招待されて会議室みたいなところでポツン、、、、
このときは本当に焦りました。
やばかったポイントは３つあって

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
・そもそもgithubのことをよくわかってない笑
（add,commit,pushは知っていたけど、ローカルリポジトリと、リモートリポジトリの違いすらよくわかってなかった。）

・TECH::CAMPの開発は基本的にCloud9を使っていたのでローカル開発はほとんどしていなかった。

・TECH::CAMPではデータベースはMysqlを使っていたのですが、インターン先ではPostgreSQLを使っていてしかもこのときPostgreSQLというデータベースがあるというのを知らなかったのです笑
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

とまあ、この辺が重なりまくって結局上司の人に質問しまくりながら初日は４，５時間かけて

***rails  s***

これを通せるように頑張ってました笑


###２日目以降は基本的に
***viewの修正！***

これが、業務の８０％くらいを占めていたとおもいます。

viewの修正くらいよゆーだろwww
って思ってましたが、全くそんなことはなく、、、、
たとえば、

上司・・・「この文字の太さもうちょっと太くしといて〜」

僕・・・「わかりました！」

っていう指示ですら修正終わらせるのに当時は３，４０分はかかっていたと思います。
理由は、、、
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
・htmlをもともとerbでしか書いたことなかったのでhamlで書いてあるコードを見るのが初めてだった。

・テキストエディタで「command+shift+f」の全文検索のショートカットキーを知らなかった

・多言語対応のサイトで文字がすべてi18nを用いて書かれていて、このあたりの構文を全然知らなかった。

・サイト全体でテーブル数２０以上あるサイトを見るのも初めてだった。

・TECH::CAMPではcss系の勉強はあまり充実していなかった。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ざっくりこの辺があげられるかなっておもいます。

それぞれ結構つらかったのですが、インターン行ってからcssが自分の想像以上に知識がなかったのでドットインストールで軽く勉強してました。

当時は結構たいへんでしたが、
今では、そのへんのビューの修正なら１、２分くらいあればできるようになってます。

そんななかで、いつものようにviewの修正しているときにこんなことがありました。


上司・・・「こーすけくんここ書き方キモいんだけどもうちょっと書き方かんがえてもらっていい？」

僕・・・「は、はい。。。」
心の中の僕・・・「（いや、まてまてまて、、、普通に言われたとおり実装したやん、、、書き方キモいってなんやねん汗）」


そのときはscssの書き方で

```scss:style.scss
main-box {
  background-color: #fff;
  main-head{
  color: #000;
  }
}
```

みたいなふうに書いていたとおもいます。
今は僕自身もキモッ！っておもうんですが、当時の僕はmain-headのcolorのところにインデントが無いことにそこまでの違和感を感じなかったんですね汗
まあ、ある程度仕方ないのかもしれませんが、教養としてのスクールはきれいな書き方まで教えてくれるのは殆どないと思うので笑

とまあ、そんな感じでコードの書き方まで毎日こてんぱんに言われながら、最初の１，２ヶ月はすぎていきました。

#最初の１，２ヶ月のまとめ
・ローカルの環境構築は最初はほんとに大変
・githubは実務では必須だし、無いと普通に困る
・自分は結構できると思っていたけどcssすらちゃんとよくわかってなかった
・実務だと動くだけじゃだめ、きれいなコードを書かないといけない


#インターン３ヶ月目
３ヶ月に入るあたりからview以外にもコントローラーやモデルのあたりもいじるようなタスクも徐々にやらせてもらえるようになりました。
・途中保存機能の追加
・Ransackを用いたソート機能の実装
・メール機能の実装
などなど、、、いろんな実装をさせていただいたのですが、一番驚いたのは、、、

###メディアクエリとInternet Explorer の対応！！！
この２つにはかなり驚きました笑
というのも、、、
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
・Google Chrome、Safari、Internet Explorerそれぞれで見え方が違うなんて一ミリも思ってなかった笑
・cssの当てる範囲をデバイスの大きさによって決める（メディアクエリ）っていう発想もなかった笑
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
まあ、両方ともちょっと考えればわかることなんですが、、、
自分で開発してるときは基本的にchromeでしか見ないですし、メディアクエリなんて言葉は１ミリも知りませんからね汗
（まあ、bootstrapは使ってたのでレスポンシブデザインで作ってはいたのですが、font-sizeとかまでデバイスの大きさによって決められるなんて知りませんでした。）
なので、会社のＷｉｎｄｏｗｓでサイトを確認しながらデバックデバックおこなって、みたいなことしました。

#インターン４ヶ月目
インターンも始まったから４ヶ月がすぎ、、、かなり仕事にはなれてきたのですが、、、
上司から突然、、、

上司・・・「こーすけくん、今回の定例の話でで出た会社のランディングページなんだけど基本的に全部任せるからよろしくね〜！」

僕・・・「わかりました！がんばります！」

上司・・・「あ、とりあえず１週間である程度形にしといてね！よろしく〜！」

僕・・・「え、、、１週間？！まじっすか笑？」


とまあ、ざっくりこんな感じで会社のランディングページを１週間で形にするというなかなかの難題を出されました汗
まあ、結論から言うと構造自体はそこまで難しいものではなかったのでそこまで大変ではなかったのですが、、、ちゃんと納期みたいなものを設定されてゼロから仕上げるのはなかなかスリリングだったなと思います。


#４ヶ月実務やっての自分の感想、、、
・プログラミング教室で行うプログラミングと実務で行うプログラミングは天と地ほど違う。
（動けばいいプログラミング教室と保守運用を考えながらやるプログラミングの違い）
・バカでも頑張ればプログラミングは全然できる！



ってのがざっくりすぎる感想ですかね


###あとがき、、、
最初はとてもやる気満々で書き始めたまとめですが、、、途中から書くことがなくなってきてしまい（業務のことをどれくらい言っていいのかわからんかった笑）最後の方はグダってしまい申し訳ないです。~~本当は書くのがめんどくさくなったなんて言えない~~
ただ、結局何が伝えたいかって行ったらバカでも意外とプログラミングはできるよって伝えたかっただけです。今後も気が向けば書いてみようと思うのでよろしくおねがいします。