This post is Private. Only a writer or those who know its URL can access this post.

エンジニア未経験者が Ruby を学んでみた件

  • 0
    Comment

今年9月に Sansan事業部のプロダクト部に異動しました尾部(おべ)と申します。9月から8週間だけ、TechAcademy というサービスを使って、Ruby を習ったのでその時のことを書きます。

参考までに、私のバックグラウンドを。
2004~9年 とあるバンドのベーシスト(ミュージシャンとしての給料は雀の涙ほどなので、コールセンターのSVや、人材紹介のアシスタントとして生計立てました。)
2009~13年 人材紹介会社向けのマッチングシステム屋に正社員として入社し、ちょこっと新規開拓営業をやり、その後はカスタマイズの提案営業へ
2013年12月 Sansan 入社。UCG 内定、入社後 CS企画、その後サポートのマネジメントへ
2016年9月 Sansan 事業部のプロダクト部に異動
ハチャメチャなキャリアでしょ、一貫性ナイって面接で落ちそう(笑)
前職からシステムに関わるものの、わからないことあればエンジニアに同行してもらっていたので、IT知識はITパスポートレベル。コードには馴染みが無いキャリアでございます。

1. なんでプログラミング?

ことの発端

サポートのマネジメントしていると、コストダウンのために人力作業をシステム化したくなるのが世の常ですが、当社はプロダクトの会社なので、エンジニアを其れには割けず、だったら自分でやりますわと思った次第です。

  • 最初のトライは、Tech Dojo の Ruby の回で。何かに活かせる気がするが、何に活かせるか思いつかず、目的意識なく飽きる。Tech Dojo → https://www.wantedly.com/companies/Sansan/post_articles/26029  
  • 2度目のトライは、サポートの問合せを形態素解析したくなり、mecab を使いこなすには Ruby が必要と知って。ネット上の情報を継ぎ接ぎしながら、今回は3週間粘るも環境構築さえできずに投げ出す。

  • 3度目のトライは、無料で公開されているチャットボットを試してみたくなり、さぁ始めよう!と思った瞬間、異動が決まった(笑)とはいえ、PM はエンジニアと仕事をする職種だし、業務効率化したくなるだろうし、3度目の正直、挫折心はお金で解決してやる、ということでレッスンを受けることに。

TechAcademy について 

Web系のざっくり全般の知識と API を勉強したかったので、Webアプリケーションコースを受講しました。
https://techacademy.jp/

  • やってくれること

    • 質問、コードレビュー
    • 週2回のメンタリング
    • ちなみに、通うのではなく全てオンライン
  • 学べること

    • Html、CSS(Bootstrap)
    • Ruby (楽天 API とか)
  • ツール

    • Editor は Cloud9。メンターさんと同時にコードを書けるよ。
    • その他 Slack、Github、Heroku、appear.in
    • 買った本『たのしい Ruby 第5版』
  • 作ったもの

    • ポートフォリオ、お問合せフォーム(見た目だけ)
    • Twitter みたいなやつ、ログイン機能やお互いフォローする機能とか(have many やったよ)
    • 楽天API を使った、欲しいものリスト
    • ニュースクローラー(まだ完成してない)

 誰かに質問できれば、ちゃんとモノが形にできるじゃない、ワタシ。

2. 未経験者から見た、エンジニアの世界

1. ごめん、日本語喋ってもらっていいですか?

学び始めた当初、横文字が一つもわからなかった。初心者が拒否感を覚えるヤツ。

Active Record の基礎
ORM (オブジェクトリレーショナルマッピング) とActive Recordについて、およびRailsでの利用方法
Active RecordとMVC (Model-View-Controller)パラダイムの親和性
Active Recordモデルを使用してリレーショナルデータベースに保存されたデータを操作する
Active Recordスキーマにおける名前付けルール
データベースのマイグレーション、検証(validation)、コールバック

1行読むのに10分かかるんですけど、、
エンジニアってナニジンなの?!と思った。

2. エンジニア全員、高橋名人

user がいっぱい出てくるけど、どう違うん?
なんか大文字と小文字で違うらしいじゃない。何が違うか書いてよ、隠さずさ。エンジニアは全員スーパーマリオの隠しゴール知ってる感じの人?高橋名人的な?!

code.PNG

3. バグ潰しに1日かけるとか、根気の鬼かよ

嫌になって、ネットサーフィンしちゃうし、エンジニアの根気ってスゴイ。
↓嫌になって翼くんが何等身か調べ始める。。

tsubasa.PNG

3. で、役に立ってんの?

正直、まだ…^^; 

とはいえ、良かったのは

  • エンジニアが話す横文字が少ーしわかるようになった。例えば、MVC がどんなもんかイメージできるので、知らない世界のお話として、理解しないままスルーすることが、今までより減ったと思う。

  • どんな作りになっているの?どうやって書いているの?と興味を持ってエンジニアに聞くようになった。これは、PM として生きていくことに役立ちそう。

  • プログラミングを学び始めることの嫌悪感が無くなった。データを見たいので、SQL とか書けるようになりたいなぁとかぼんやり思っていますが、今度は拒否感なく学べる気がする。

  • 自分で作ったものは可愛いので、良くするためにはどうしたらいいか、他のプラクティスを見まくる。これも、PM 業に役立つと思う。

  • 更にエンジニアをリスペクトするようになった。作ったことないものを作るとか、バグ潰しとか、しんどいもん。エンジニアは忍耐強く課題解決していく集団なので、頭があがりません。もっと優しくなれると思います。

そんなところです。

以上、「エンジニア未経験者が Ruby を学んでみた件」でした。
乱文をお読みいただきありがとうございました!

おまけ 

今作っているニュースクローラーはこんな感じ
* ちょうど異動したし、職務に関する情報を簡単に得たいなぁと思った
* メンターさんが居なくなり、挫折しつつある
* でも目に見えるものが出来ていくのは嬉しいし可愛い

code2.PNG

↓とりあえずテストデータが入って嬉しい
code3.PNG