ユニファ開発者ブログ

ユニファ株式会社システム開発部メンバーによるブログです。

練習問題

こんにちは、ヘルスケア事業部のちょうです。最近並列処理の勉強で「 The Art of Multiprocessor Programming」という本をひたすら読んでいます。どうやらこの本はコンピューターサイエンス修士の教科書として使われるらしく、宿題も付いています。第一章の練習問題の中で、一問を選び、みなさんと一緒に検討しようと思います。

第一章なので、何を前提に学ばないと解けない程度ではなく、かつ選んだ一問は並列処理に詳しくなくても問題ないのでご安心ください。

続きを読む

Railsでメール送信方法を自作してみる

Webエンジニアの本間です。 昨日、Rails 6で追加される予定の Action Text の概要をDHHが紹介している 動画 を見て、「おぉ、なんかすごい!」と思い紹介しようかと思ったのですが、いかんせん時間が少ないのであきらめます(^_^;)

今回は、少し前にRailsのメール送信を独自に実装したいケースがあり、その時に調査、実装した内容をサンプルコードを交えて紹介しようと思います。

続きを読む

Serverlessconf Tokyo 2018に参加してきました

ひさびさにブログ書きます、ユニファのインフラ担当すずきです。

台風が24号がお強いですね。
先週末ServerlessConf Tokyo1日目と2日目参加しましたが、3日目は台風24号が来て中止になったようです。 24号と同じような軌道で25号も来ているので今週末も台風でイベント等中止になってしまうかもしれませんね。

では本題。 上の方でも書きましたが、今週末(9月28日(金)〜9月30日(日))とServerlessconf Tokyo 2018に参加していました。
※ 30日は中止

続きを読む

FaceNet の学習済みモデルを使って顔画像のクラスタリングを行う

お久しぶりになります、iOSエンジニアのしだです。
開発部ブログも更新する人が多くなって、前回からだいぶ日が空いたように感じます。

今回は、あるまとまった写真から顔を切り出して、FaceNetから特徴量を抽出しクラスタリングを試しました。
以下の FaceNet のトレーニング済みのモデルがあるので使用しています。 FaceNet は、Triplet Loss と呼ばれる基準となる Anchor と Positive の距離を近くに、Negative との距離を遠くにマッピングされるように学習されます。 顔画像から特徴ベクトルとして利用可能なのでクラスタリングなどのタスクに利用できます。

github.com

続きを読む

R&D エンジニアが考えていること

こんにちは。今年からユニファに新設されたR&Dチームで画像やバイタルデータの分析を行っている浅野です。今日は現在携わっている仕事の内容やその背後にある想いをご紹介したいと思います。

弊社で提供しているサービスのひとつに「ルクミー午睡チェック」があります。加速度センサーを使って園児が午睡(=お昼寝)中の身体の向きをチェックして自動で記録するものです。うつぶせ寝や動きの停止を検知してアラートを出す機能もあります。

f:id:unifa_tech:20180911123251p:plain 「ルクミー午睡チェック」公式サイト

このサービスは、5分おきに手書きで園児の様子を記録していた保育士さんの手間と、命を預かることの心理的負担を軽減することに役立っていますが、実はセンサーから得られる波形データ(例:下図)には身体の向きや動きの他にもたくさんの情報が含まれていると考えています。睡眠中にどれだけ寝返りや体動があったか、呼吸の深さや速さはどのように変化したか、いつもと傾向は同じかどうか。「息が荒くなる」という表現があるように、体調の変化が呼吸に表れることもあり、園児がどのような状態で午睡をしていたかをより深く理解することで大きな価値につながる可能性があります。どんな情報を誰にどのように提供するとサービス向上に役立つのか、日々考えながら分析を行っています。

f:id:unifa_tech:20180911111423j:plainf:id:unifa_tech:20180911111430j:plain
私が実際にセンサーを身につけて得られた波形。左: 1分間に15回のペースで呼吸した場合。右: 1分間に30回のペースの場合。右の方が波の山と谷の間隔が短くなっています。乳幼児は大人と比べてかなり呼吸が速いのが特徴です。

人生に寄り添うデータ分析

ところで、私はたくさんの午睡データを眺めてきたおかげで、 最近では加速度センサーの値の推移をみただけで園児の状況がリアルに想像できるようになってきました。例えば、下図のような波形(実例をもとにして作成した仮想データ)をみると、この子は最初なかなか寝付けなかったけど、保育士さんに抱っこしてもらったことで安心してすやすやと眠れたんだな、よかったなぁ、と少しほっこりした気持ちになります。

f:id:unifa_tech:20180911111437j:plain
とある園児の午睡ものがたり。データからここまで想像(妄想)できれば一人前(笑)

データ分析で大事なのは技術的なことだけでありません。ドメインの知識も総動員してデータの背後にある人生に寄り添う。そこから見えてくる仮説をまたデータや理論に戻って検証する。想定と異なる結果が出たら、それが実世界で何を意味するのかをまた考える。常に複眼で物事を捉えることでまだ誰も手にしていないインサイトを引き出すことが可能になります。

また、ユニファでは午睡データ分析だけでなく、保育園内の日常を撮影したたくさんの画像データから様々な技術をつかって有用な情報を引き出すことにも挑戦しています。園児の安心安全と豊かな学びの場をつくりたい。園での様子を保護者にフィードバックすることで家族コミュニケーションを豊かにしたい。そんな想いでデータと向き合っています。

保育の世界を変えるエンジニア募集中

弊社では一緒に働く仲間を大募集中です。少しでも興味を持たれた方はぜひ声をかけてください!

ユニファ 株式会社の採用/求人 | 転職サイトGreen(グリーン)

ユニファ株式会社の採用/求人一覧 - Wantedly

経験者採用の裏側。

こんにちは。エンジニアの田渕です。

暑くなったり寒くなったりやけに台風が多かったり……。。。今年の夏は体調管理が難しいですね。 しかしながら、延々と続くかに思われた猛暑も最近は少しマシになり、夜には秋の虫が鳴くようになりました。 このまま涼しくなってくれるといいなあ。

最近、各種求人サイト等でユニファのエンジニアの採用情報を色々と掲載しております。 ご応募頂く前にこちらを見て頂いている方もいらっしゃるようですので、 今日は募集している私たちがどんなことを考えているか、その裏側を書いてみたいと思います。

※募集状況等は刻々と変化していきますので、ご興味をお持ち頂いた方は各種求人情報等で最新の情報をご確認ください。

ユニファ 株式会社の採用/求人 | 転職サイトGreen(グリーン)

募集要項の裏側

私は、ユニファに来るまでは比較的大きな会社のエンジニアでした。 稀に採用に携わることもあったのですが、私に決定権はなく、人事の方が中心で進められている採用活動でした。 その後、初めての転職活動を行いユニファに入社した訳ですが、転職活動自体が初めて、右も左も分からず。。。 応募用書類を用意するにもどんな情報が欲しいのか今ひとつ分からずあたふた……な感じでした。 そこからユニファに来て、エンジニア自身で採用活動を行う形になりました。 「採用される側」から「採用する側」になって、かなり転職活動や採用というものに対しての見方が変わったのを感じています。

新卒採用と違い、経験者採用では「これまでにやってきた仕事の実績、持っているスキル」をお伺いして検討していく形になります。 そのため、応募をして不採用になった場合は、あたかもこれまでのキャリアを否定されたかのように捉えがちですが、実は違います。 例えば、私はWebエンジニアですが、一口にWebエンジニアと言ってもその働き方は業界や会社の規模などによってまちまち。 きっちり設計が完了したものを形にするエンジニアもいれば、思い描く絵すら無いところから作り始めるエンジニアも居ます。 10の会社があれば、10通りのエンジニアの働き方があると考えて良いと思います。 それに加え、ベンチャーのような状況変化の早い会社では(まさに現在のユニファの様な感じですが)「今のタイミングではこういう人が欲しい」という求人が殆どです。

ここでポイントなのは、「今のタイミングでは」というところ。 もともと働き方に幅のあるエンジニアという仕事に対し、更に時限制の条件がついているのです。 ここまで来ればなんとなくお分りかと思いますが、つまり「来て欲しい」と思っている人物像が、結構ピンポイントだということになります。

そんなに条件がはっきりしてるなら応募条件とかに書けばいいじゃないか?とお思いかもしれません。 が、あまりに細かすぎる応募条件は、そもそも読んで貰えなかったり(苦笑)応募の意欲を削いでしまうことにも繋がります。 書いたことによって誤解を与え、応募の機会さえ奪ってしまうこともあるでしょう。 また、文字で表現することが難しい部分(例えば現在のメンバーとの相性や、人柄の部分だったり)もあるため、どうしても募集要項等に完璧に反映することが出来ません。

これは恐らく弊社に限ったことではなく、「募集要項の内容満たしてると思って応募したのに断られたよ!」ということが起こるのはそういうことです。

ご縁がなかった!?事情は色々。

せっかくご応募頂いたのにお見送りにさせて頂く、あるいは逆にお断り頂くこともありますが、その理由をいくつか書いてみたいと思います。

今のユニファにはマッチしない

私もこれまでにお会いした方の中で「ああ、来年だったら一緒に働きたかった。」とか「三年後だったら……」などと感じたことは多々ありました。 現時点では必要とされているスキルや経験が不足していても、「あと一年後だったらきっと条件を満たしていただろうな」と言ったパターンです。 弊社にそういった経験をゆっくりと積ませてあげられる土壌があれば良いのですが、残念ながらまだまだ発展途上の弊社では、ゆっくりとは時間が作れないのが現実です。 ご入社頂いて、弊社の事業スピードの中で無理なくその方の良い部分を伸ばしていけるかどうかを確認させて頂いております。

その方の描いているキャリアプランがユニファの今後とマッチしない

面接においては、応募頂いた方のこれからのキャリアプランや、実現したいこともお伺いしています。 仮に現時点のその方が現在のユニファで求めているスキルをお持ちだったとしても、お話を伺った結果、今後のユニファでそのキャリアを実現することが難しいと判断した場合には、面接の結果としてご本人にその旨をお伝えした上で次に進むかどうかを検討頂いています。 その結果、「それも込みでぜひユニファに」、と言ってくださる方もいらっしゃいますし、残念ながら応募者の方からのお断りとなることもあります。

「採用されなかった=
これまでのキャリアの否定/今後の可能性の否定」ではない。

ユニファにおけるエンジニアの経験者採用は、ご応募頂いた方が現在の弊社の「今のタイミングではこういう人が欲しい」という人物像にマッチしているか、ということを見ているものです。 したがって、お見送りは「これまでのキャリアの否定」でも、「今後の可能性の否定」でもありません。 単に「現在のユニファの状況と応募者の方の状況がマッチしていなかった」それだけのことです。

ですから仮にご縁がなかった場合でも、必要以上に落胆して頂く必要はありません。 単にちょっとタイミングが合わなかった、ただそれだけのことです。

さいごに

転職というのは応募頂く方の人生の中でそれなりに大きな決断だと思っているので、妥協や迷いのある中で採用の通知をお出しすることはお互いにとって良くないことだと考えています。 採用活動を通し、自分自身が転職活動をしていた頃に不採用の通知を頂いた会社さんに対しても、ちゃんと向き不向きを見てくれたんだなという感謝の気持ちが強くなりました。

面接では弊社のことも色々とお話させて頂いております。 また、これだけ色々堅苦しく書いておりますが、おそらく面接自体はかなり緩い雰囲気で実施しています。

もしも今、応募しようかどうしようか迷っている方がいらっしゃったら、「ちょっとユニファのエンジニアの顔見に行ってやる!」くらいの気持ちでお話だけでも聞きに来て頂けると嬉しいです。

ではでは!

テクトモ #5 で私と Python について話してきました

 先日 8/23(木)に、テクトモという勉強会シリーズの第5回に登壇させていただきました。

techtomo.connpass.com

 このシリーズではエンジニアやデザイナー向けに、未来×希望×キャリアをテーマに情報発信を中心としたイベントを開催されていて、以前 R&D チームの志田がこのシリーズの第3回に登壇しました。

techtomo.connpass.com

 この時私は一参加者として参加していたのですが、懇親会で主催者の方とお話しさせていただく中で、登壇させていただくこととなりました。

プレゼン資料

 第5回のテーマは「Pythonエンジニアが描く未来と希望〜キャリアを中心に考えるLT大会〜」ということで、私はこれまで業務のメイン言語としては Python を使っていたことはなかったのですが、必要に応じてツールとして Python を使っていたことはそれなりにあったので、これまでのキャリアを踏まえてどんなシーンで Python を使っていたかということを、多少の Ruby との比較を交えてお話しさせていただきました。

 当日使用した資料はこちらです。今回は Prezi で資料を作成しました。

わたしとPythonの出会い、別れ、再会、そしてこれから

f:id:akanuma-hiroaki:20180827231048p:plain

まとめ

 当日は私を含む4名のLTがあり、その後その4名でパネルディスカッション形式で会場の参加者からの質問に答えるという形で進みました。アットホームな雰囲気で、参加者の方にも楽しんでいただけたようです。

 Python については AI系技術や IoT などの領域で中心的に使われている言語であり、今後さらに利用範囲が拡大していくと思っています。現状のユニファでのメインの言語は Ruby ですが、 R&D チームでは Python をメインとして使用し始めていますし、ユニファの業務でもさらに活用されていくものと思われます。

 ユニファでは Python を活用してAI系技術領域で活躍したいエンジニアを募集しておりますので、興味のある方はぜひご連絡ください。

【サーバサイドエンジニア】家族×ITで家族コミュニケーションを変革する自社サービスのAI系技術サーバサイドエンジニアを募集!