Nobody dies a virgin

映画/音楽/時々プログラミング

divの閉じタグがないよ

f:id:deiki08:20161204022919j:plain

僕が携わっているVook(ヴック)|映像に関わるすべての人のためのポートフォリオサイト の大幅な機能追加の実装がラストスパートに差し掛かり、年末休みを返上でコードを書いています。 納期に追われ、この2、3日中にプルリクを送らなくてはいけないため常にイライラしていますが(笑)

年末らしいことを特にしていないので、年末らしくrubyとべったり付き合うことになった2016年を振り返ってみようと思いました。

人生が変わったかもしれない2016年2月

私が初めてrubyに触れたのは今年の2月でした。

まさか一年も経たないうちwebサービスを設計からデプロイまでをするとはこの時点では思いもしなかったです。

当時の私は映画業界で働きたいと思っていため、映像関係の会社でインターンをして就活を有利に進めようと配給会社や映像制作会社に電話やメールをかけまくっていました。

運良くハリウッドで映画を制作している方と出会う機会があり、その方の紹介で今のアルバイト先に面接に行くことになりました。 面接で映像業界で生きるためには?なんて話をしてもらえるだろうと期待していた私ですが、そこで人生を変えてしまうようなある言葉をかけられました。

俺の代わりにRubyをやってくれない?

『映像関係の会社でインターンをして映画配給会社の方とコネを作って就職するんだ』と気合いが入っていたはずの自分でしたが、大学の授業で少し習ったC言語の面白さを思い出し、興味本位でやってみることしました。

その後の様々な苦労を考えると苦笑いです。(これまで数え切れないエラーとため息を出してきました笑)

一番の試練といえば周りにRubyについて詳しい人がいないために一人でググったり、書籍とにらめっこしながらコード書くことでした。 当時の僕がプログラミングで知っている知識といえばC言語JavaというものがあるというぐらいでRubyに関していえば『なにそれ宝石のこと?宝石関係なくね??』って感じでした。

赤い画面とにらめっこする日々

実際にコードを書き始めるまでの下準備は今考えると不思議なくらいにうまくいったように思います。

プログラミング初心者は実際にコーディングするまでにpcにいろんなものをインストールして環境を整えるわけですが、特に困ったこと起きず自分にはプログラミングの天性の才能があるのではないかと酷い勘違いをしてしまうほどでした。

通常、初心者にruby, railsを一人でインストールさせるのは崖から突き落として素手で登らせるようなものです。(大げさかもしれませんが笑)

そして、そこから実際に開発を行っていくわけですが皆さんが想像するようにrailsのあの赤いエラーとの理不尽な戦いが僕を待っていました。

f:id:deiki08:20161229235703p:plain

MVCというRuby on Railsの最も肝となる規則を理解していなかったために400のエラーを出しまくったり、ちょっと上達しても500エラーを出しまくって画面をしょっちゅう真っ赤にしていました。

当時作っていたアプリケーションはTwitterのクローンアプリで投稿機能をつけるまでに一ヶ月くらいかかったことを記憶しています。(今なら15分で作れると思います...)

しかし、幸いにもruby という比較的日本でのコミュニティが活発である言語を選択したこととプログラミングを学ぶ上で役に立つwebサービスが存在していたために三ヶ月を過ぎたあたりから簡単な制作物をローカル環境で幾つか作ることができるようになっていました。

さらに大きな変化が自分の中で起こっていました。

困難な問題にぶち当たるたびによくインターネットで原因を調査したり、質問サイトで助けを求めていたのですが、そうするうちにITで飯を食っていきたいと思い始めていましたのです。

ITの世界の人たちは自分で書いたコードを自ら進んでネットに載せ、そのコードをもとに見ず知らずの誰かと議論することで自分の技術力を高めていったり、誰かが困っていると自分は一銭ももらえないのにわざわざ自分でその環境を再現し、問題を見つけ解決策を提案する。そんなコミュニティの暖かさに惚れていました。

僕もたくさんの方にコードを見てもらいレビューを頂いてきました。そういう方々がいなかったら僕はエンジニアとして就職したいなんて思わなかっただろし、何より今あるwebアプリケーションはローンチできなかったと思います。

一般的にコンピューターに関わる職種の方はPCの画面を見てばかりでコミュニケーションが取れないと思われがちですが、少なくともインターネット上ではユーモアがあり、やさしく、時に厳しくアドバイスをコミュ力の高いエンジニアが多いような気がします。(もしかしたら現実でもそういう人はコミュニケーション能力が高い人なのかもしれないが)

私自身、今は情報をもらう側としての方が多いですがいずれは自ら情報を発信し、この世界に貢献する人間にならなくてはいけないという風に思っています。

最後に

タイトルはもらったhtml, cssファイルにデザインを当てている時に僕がよくがデザイナーさんから言われることです。 まだまだこんな初歩的なミスを犯しているダメなエンジニアですが、2016年2月からは劇的に成長していると思います。 そして何より、全くの初心者の僕をアルバイトとして雇ってくれた会社の方には感謝でいっぱいです。これからもより良いコードで人の役に立つことができるように精進したいと思います。