弊社のエンジニアチームでは、エンジニア以外のメンバーとの相互理解深めるための取り組みとして、非エンジニアメンバーを対象とした Ruby研修を行っています。
営業、総務・人事、カスタマーサポートなどの異なる職種のメンバーと一緒に、 環境構築から簡単なプログラミングまでを社内のエンジニアが教え合っています。
当然、Ruby は rbenv を使って最新版をインストール。(講師と環境が異なると、意図しないところでつまづくことが増えるため)
先週の研修に初めて参加したメンバーは、Ruby で九九ができるようになりました! と喜んでいました。
受講者の中には、gemを使って、Yahoo!ファイナンスから売上、経常、利益率などをスクレイピングしてきて 売上の伸び率から調子の良い企業にあたりをつけ、優先的に営業活動をするようになったメンバーも出てきました。
営業メンバーが作った 気になるIT系上場企業の業績バブルチャート
営業メンバーが書いたコード
#yahooファイナンスから証券コードで指定した上場企業の売上/営利/経常/純利をスクレイピングしてくるコード require 'mechanize' agent = Mechanize.new comp_code = [9984, 9449, 6095, 6094, 6084, 6075, 6069, 6054, 4841, 4835, 4829, 4824, 4819, 4784, 4777, 4772, 4766, 4765, 4755, 4751, 4747, 4726, 4689, 4309, 4308, 4305, 4304, 4293, 4288, 4281, 3845, 3843, 3834, 3828, 3815, 3793, 3789, 3788, 3786, 3783, 3778, 3775, 3774, 3772, 3770, 3768, 3765, 3754, 3739, 3730, 3722, 3715, 3696, 3695, 3688, 3685, 3679, 3675, 3674, 3668, 3665, 3664, 3662, 3660, 3659, 3656, 3647, 3646, 3645, 3641, 3639, 3634, 3632, 3629, 3627, 3624, 3622, 3328, 3319, 3195, 3182, 3179, 3092, 3090, 3071, 3060, 2656, 2497, 2495, 2492, 2491, 2489, 2484, 2477, 2461, 2454, 2450, 2440, 2432, 2413, 2389, 2379, 2371, 2356, 2351, 2193, 2177, 2159, 2155, 2148, 2138, 2132, 2130, 2122, 2121, 2120] comp_code.each do |x| puts "#{x}" page = agent.get("http://profile.yahoo.co.jp/independent/#{x}") h1_result = page.search('h1') p h1_result.text().strip() table_tr = page.search('table.yjMt tr') puts table_tr[5].text() puts table_tr[6].text() puts table_tr[7].text() puts table_tr[8].text() puts puts sleep(1) #善意 end
ビジネスサイドのやつらがなかなかわかってくれないといった声はよく聞きますが、 こちらから歩み寄ってみると、意外とわかりあえることもある、と実感しております。
皆様の職場でもぜひ試してみてください。
告知
groovesが運営する Forkwell Jobs では、ただいま RubyKaigi 2015 応援企画として「リファクタリングコンテスト」を開催しています。
https://jobs.forkwell.com/campaigns/rubykaigi-2015
皆さま自身が行ったリファクタリングの Ruby コードの Before と After を投稿してください。 豪華審査員による厳正な審査によって選ばれた方にはなんと、回らない寿司にご招待します!
さらに参加特典もご用意。「いいね!」で投票してくれた方の中から抽選で、 コードをキレイにする「アレ」をプレゼントしちゃいます! 良いリファクタリング作品にはぜひ「いいね!」を押してみてくださいね。