読者です 読者をやめる 読者になる 読者になる

医療事業の開発チームの話【社内勉強会レポート #8】

9/7の社内勉強会では、@nisshieeorgから、現在携わっている医療事業での開発のやり方の話をしました。

Speeeは事業会社です。正社員のみでも20人以上のエンジニアが在籍していますが、同時に多くの事業抱えているため、1事業あたりのエンジニア数は3人前後というチームがほとんどです。また、特に新規立ち上げ期の事業においては、非エンジニア職のメンバーを入れても少数のチームであることも多いです。結果として、エンジニアもよりビジネスのこと、ユーザのこと、マーケットのこと、クライアントのことを知り、ときには事業の意思決定にも深く関わる知識と責任を求められます。

もちろんそれこそが事業会社に所属するエンジニアの醍醐味であり、楽しさであり難しさでもあるわけですが、一方で、どうしてもより深い技術と向き合う時間が相対的に減ってしまうという側面もあります。

では、もし、ここに、高い知識・経験・スキルを持った「ディレクター」(とSpeeeでは呼んでいる)という役割の人がいたらどうなるでしょうか、という環境での開発にチャレンジしているのが、今の医療事業開発チームです。

ディレクターが居るからといって、ビジネスのこと、ユーザのこと、マーケットのこと、クライアントのことを知らなくてもよいということは一切ありません。ディレクターや他のステークホルダーと同じ目線で会話をし、ツーカーのコミュニケーションに基いて開発を進めることは、事業を作るというプロジェクトにおいて必須です。

しかし、抽象的なレイヤーのおける分析・提案・予測・意思決定などを、それを専門とするディレクターを信頼してお願いすることができれば、エンジニアは「いかに早く、高いクオリティで、もしその案が難しいものであったとしてもいかに技術で成し遂げるか」という、エンジニアが専門とすべき領域に、よりたくさんのリソースを割くことができます。

おまけ

前回8/31の社内勉強会ではSwiftのprotocolの話@hiragramからありました。質疑応答で僕が「型クラスが〜〜〜」って感じでみんなを置き去りにしてしまいました(*ノω・*)テヘ
なのでちょっとだけ、型クラスとはなんぞや?という話もしました。

RubyKaigi 2016 3日目レポート

RubyKaigi 2016 3日目レポート

納豆は1ヶ月以上寝かせる派、エンジニアのpataijiです。

さて、遅ればせながらRubyKaigi2016 3日目レポートです。
今年も最終日は学生無料とのことで、お肌ピチピチな方々も多かったです!

最終日はどんなセッションがあったのか、サラッとご紹介します。

Ruby Committers vs the World

RubyKaigiに参加しているRubyコミッターが壇上に集結するという、なんとも豪華なセッションがこちらです。

committer

新しいコミッターの紹介や、MVP(Most Valuable Patch)の発表や漫談!がありました。

栄えあるMVPは、、、

nurceさんのこちらのパッチでした!(よく分かっていない) 9afc312

その他こんなバグがあったねと、、、

このバグもこちらのパッチで対応されています。 d8c3672

コミッターの方々、いつもお世話になっています m( )m

個人的に驚きだったのは、Immutable String literalがRuby 3で導入されるか怪しいということでした。
また、それを裏付けるかのようにfrozen_string_literal: trueを設定しているという人がほとんどいなかったり...
今後どのような判断がなされて、Ruby 3ができあがっていくのか目が離せませんね。

その他、途中からコミッター同士の議論が始まったり、とにかく白熱したセッションでした!

Web Clients for Ruby and What they should be in the future

弊社もお世話になっているSonicGardenさんのセッションです!
Web APIにアクセスするクライアントをベタで書いていると変更に弱かったり再利用性が低かったりするから解決しよう!という内容です。
Rack Middlewareやfaraday gemを利用した解決方法等がとても分かりやすく解説され、連日の英語セッションで疲れた脳にマイナスイオンが溢れ出ました。

Deletion Driven Development: Code to delete code!

プログラムが好きでコードを書くのが好きだけど消すのも好きというchrisarcandさんのセッション!
静的解析でRubyコードのゴミを探しだすという野心的な内容でした。
これはちょっと自分も導入してみたいなーと。とても便利そうで今後が楽しみです。

Lunch Break

みんなお楽しみのランチタイム!
...だったのですが、朝食のビュッフェで張り切りすぎた僕はあえなくスキップ orz

Dive into CRuby

nurseさんによるCRuby開発のディープなセッション!
何故CRuby開発に貢献するのか、どんな機能を追加したのか、の丁寧な解説から始まり、新しい環境が出てくると動かないことがあったりするなど苦労話が続き......
そして.......正直後半よく分かりませんでした!(が、同じ様な人がたくさんいたようなので少しホッとしているダメ人間)
ついていけない聴衆続出 "CRubyにどう貢献するか"

とはいえやっぱり悔しいですね。
Cレイヤーの事に気が回せるようになると見える世界が違うんだろうな、と思うと、いつか自分も!と熱くなります。
なんというか、刺激的なセッションでした。

Closing

RubyKaigiの締めくくりは関係者の方々への盛大な拍手の嵐でした!

さらに来年のRubyKaigiの場所の発表が......ありませんでした!
京都で大成功できたから、どこでもできるよね!ということで、開催場所募集中だそうです!

運営関係者の方々、本当にお疲れ様でした!!!!!!

RubyKaigiを終えて

さて、最後に少しだけSpeeeの話を。

Speeeは去年に引き続き、今年もRubyスポンサーとしてお手伝いさせていただきました。

sponsor

少しでもRubyKaigiの成功に貢献できたのであれば嬉しいです。

今後はスポンサーとしてだけでなく、コミュニティを内からもっともっと盛り上げていけるようにならねばですね。

ということで今回のRubyKaigiには7名のエンジニアが送り込まれていました。
もちろんチケット代から宿泊費、交通費まで全て会社負担!!(しかもホテルは会場から徒歩5分)

かく言う私もSpeeeKaigiで受賞したご褒美として参加することができました。
今年のRubyKaigiが京都であると知った時から参加は諦めていたので、参加できて本当に嬉しかったです。
↓ SpeeeKaigiなんじゃそりゃ?な方はこちら
technica-blog.jp

その他にもさらに7名の社員が自腹を切って自主参加し、総勢14名がRubyKaigiに参加しました。

後からこの人数を聞いて、Rubyで日本一の会社の目指すという目標への本気度が伝わってきました。
結構なプレッシャーですね。成長できる環境は会社が用意してくれるので、あとは自分のやる気と実行力次第だなと。

そんな環境で働きたい上昇志向なエンジニアは、ぜひ、Speeeへ!

Protocols in Swift【社内勉強会レポート #7】

iOSエンジニアの@hiragramです。

社内勉強会にて、Swiftのプロトコルとその活用についてしゃべりました。

トークテーマ

Protocols in Swift

キーワード

Swift Protocol Protocol Extension プロトコル思考プログラミング

発表スライド

質疑応答

@nisshieeorg「Swiftって型クラスあるの?」

僕が型クラスについてちゃんとわかっておらずごにょったところ翌週のトークで@nisshieeorgに解説してもらうことになりました。

所感

プロトコルで結合した設計については、小規模なプロジェクトのうちから綺麗に整備するのはなかなか手間ですが、後々効いてくるなあと思っているので、今取り組んでいる新プロジェクトで積極的に取り入れていきたいと思います。

RubyKaigi 2016 2日目レポート

新卒1年目の駆け出しエンジニア、高野 YasuomiTakano です。

RubyKaigi 2日目のセッションも気になる発表ばかりで、どの発表を聞こうか迷ってしまいました! 個人的にはデータ分析系の発表が気になったので、そちらを重点的に見に行きました!

2日目のレポートの前に1日目のConference Partyの様子もサラッと紹介します!

RubyKaigi 2016 Official Conference Party

1日目の夜にPartyが開催されました!

懇親会前のざわざわした様子がこちらです!

f:id:mogmog2:20160912160028j:plain

皆さんRubyの話を中心に色々な話題で盛り上がってました!

私も色んな方とお話させていただきました m( )m

名刺交換をした際に「あ!Speeeさんなんですね!!!!」という反応を頂け、Speeeの認知度がどんどん上がってきているように感じて嬉しかったです!

How to create bindings 2016

さて、2日目のレポートに入ります!

いつもお世話になっております、株式会社クリアコードの須藤さんの発表をお聞きしました!

発表は「バインディング開発者を増やしたい!」という主旨の内容でした!

発表が一通り終わったあとに「今日の発表を聞いてバインディング開発をしてみたくなった人!」と挙手を求めた際に、何名か手を挙げておりましたが、須藤さんが「本当にやってくれるんですかね?笑」とツッコんでらしたのがとても印象的でした!笑

クリアコードさんはSpeeeのOSS活動の促進を支援してくださっております。 ※詳細はこちら

実際に僕はクリアコードさんのおかげでOSS活動を始めることができました! ※詳細はこちら

Speeeでもバインディング開発者を創出していきたいですね!

ランチ

2日目も晴れておりましたので外で鯉を見ながらお弁当を食べました! 鯉

Data Analysis in RUby with daru

午後からも色々な発表を聞きましたが、データ分析系の発表が印象に残ってましたので、そちらを中心にまとめていきます!

IRuby Notebookを使うとデータ分析の際のデータ整形時間が削減されるという話が印象的でした。

IRuby Notebookの使い方を説明しており、IRuby Notebook知ってはいたものの使ったことがなかったので「こういう風に使うのか!」と学びが多い発表でした!

SciRuby Machine Learning Current Status and Future

僕が今回一番聞きたかった「SciRuby」の発表を聞きました!

データ分析をRubyで行うための環境がまだ整っておらず、そこを一緒に整える人を募集しておりました!

僕もそこに後々関わっていきたいなと感じたとともに今後がとても楽しみになりました!

RubyKaigi2016 1日目レポート

Ruby RubyKaigi イベント

Speeeは昨年に引き続き、今年もRubyKaigiのスポンサーとして応援しています。 めでたい!!!

Matzによるkeynote

弊社の技術顧問でもあるMatzのkeynote
Ruby3がテーマ。特に型についてMatzの考えを聞くことができたkeynoteでした。

社内のSlackでは「メソッドの戻り値の型が何か」についての推論はRubyでは厳しいのではないか、、、などの意見が出ていました。

Speee CMタイム!

そしてMatzのkeynoteの直後、質疑応答の直前という不思議なタイミングでSpeeeのCM!!

SplathonSpeee Cafe Meetupなどの効果もあってか
以前よりはるかに多くの方がSpeeeを知ってくださっていて、とてもうれしかったです!

これからもSpeeeは "Ruby日本一の会社" を目指してやっていきます!

ランチタイム

今年もRubyKaigiはお弁当が出ました!

お弁当

朝降っていた雨も昼には上がり
外で食べる。

景色

以下、いくつか印象に残ったセッションをご紹介します。

ErRuby: Ruby on Erlang/OTP

Erlangで書かれたRubyのインタプリタ紹介のセッションでした。

johnlinvc/erruby: ruby on erlang https://github.com/johnlinvc/erruby

序盤には丁寧なActor Modelの解説

またFutureオブジェクトを返り値として受け取ることで実現する非同期処理についても触れられていました。
foo|.barというシンタックスが印象的です。

A proposal of new concurrency model for Ruby 3

  • Rubyでの並列処理ががなぜ難しいのか
  • Guildと呼ばれるRuby3の新しい並列処理の仕組み

についてのセッションでした。

発表資料

いくつかある選択肢のうち、どの方法でスレッドセーフなプログラミングを実現するのか非常に興味深かったです。

How to create multiprocess server on Windows with Ruby

fluentdでも使われているServerEngineを使ったマルチプロセスをWindowsでどう実現したかについてのセッションでした。

ServerEngineについては以前の勉強会などで話を聞いて知っていたのですが
Windowsでマルチプロセスな動作を実現するためにCのレイヤーで様々な工夫がなされており、非常に驚きました。

会場全体の雰囲気について

去年に引き続き外国人の方が多く、楽しみにしていた「デカ外人クイズ」も見ることができたのでとても満足です!

最後にオライリーガチャの写真置いておきます。
2日目も楽しんでいきましょう!!

オライリーガチャ