TECH PLAY

株式会社カケハシ

株式会社カケハシ の技術ブログ

394

この記事はカケハシ Advent Calendar 2023 の 13日目の記事になります。 今年はPart2もあるのでぜひそちらもご覧ください! はじめに こんにちは!KAKEHASHIでおくすり連絡帳 Pocket Musubi というサービスを開発している星川です。チーム内では主にFlutterを利用したスマートフォンアプリ開発を担当しています。 このおくすり連絡帳アプリには、薬剤師と患者さんがオンラインでやり取りする、オンライン服薬指導という機能があり、患者さんはスマートフォンで薬剤師とビデオ通話を行うことが可能になっています。 このようなビデオ通話や画像などのコンテンツを扱う場合は、…
はじめに はじめまして。 Musubi 開発チームで SRE を担当している、家事育児 🧹🍳👧 の負担率がイレブンナインの大山です。 この記事はカケハシ アドベントカレンダー🗓 part2の 12 日目の記事です。 そして入社してそろそろ 2年になりますが初投稿です。 この記事 is 何 ゆるふわスクラムをしていた私(38歳)がはじめてガチのスクラムにチャレンジし、継続的に課題を解決しながらスプリントを走った備忘録です。 また課題に対するカウンターや、スプリントを 4回ほどこなしたイマココの所感をまとめています。 記事のタイトルにあえて年齢を入れたのは下記の対象読者に向けた意図がありました。 …
はじめに こんにちは!エンジニアリングマネージャーの小田中(@dora_e_m)です。 この記事はカケハシ Advent Calendar 2023 の 12日目の記事になります。 https://adventar.org/calendars/8587 今年はPart2もあるのでぜひそちらもご覧ください! https://adventar.org/calendars/8728 この記事ではタイトルのとおり、新規事業のプロダクト開発チームにおいて新任のエンジニアリングマネージャー(以下、EM)がどのような役割を担うのか、私自身の実体験をもとに紐解いていきます。 前提: カケハシに存在するEM、開…
こちらの記事は カケハシ Part 2 Advent Calendar 2023 の 11日目の記事になります。 こんにちは、AI在庫管理バックエンドエンジニアの安藤です。 今回は、在庫管理システムをテーマにXPを意識した取り組みを行ったのが大変だっ楽しかったので、その振り返りをしようと思います。 トライしたこと 先日、自分たちが普段気づいていないことに気づける機会を開発ディレクターの指示のもと作ってもらいました。 普段の開発のなかではなかなかアグレッシブな試みは難しいため、在庫管理のプロトタイピングを改めて試すなかでいくつかの制約を設けることで普段なんとなくやりすごしてしまっていることに気づ…
本エントリはカケハシ Advent Calendar 2023 の 11日目の記事です。 今年はPart2もあるのでぜひそちらもご覧ください! カケハシのVP of Engineeringの湯前(@yunon_phys)です。皆さん、目標設定と評価は順調ですか?私はこれまで何年にも渡って、様々なメンバーの目標設定や評価をしてきました。残念ながら、こうすれば良い目標設定や評価が出来る!という銀の弾丸は無さそうです。でも、こう考えたら目標設定はやりやすいかも、こうすると評価はより納得感のあるものになるかも、というのはあります。 そこで今回は制度を施行・運用していく立場の人間として、目標管理と評価制…
こちらの記事は カケハシ Advent Calendar 2023 の12月10日の記事になります。 はじめに こんにちは。カケハシで機械学習エンジニアをしている木村です。 私は今年の8月に入社してMusubi AI在庫管理の開発を行なっています。カケハシでは入社時のオリエンなどのプログラムがとても充実していますが、AI在庫管理のプロダクトは多数のモジュールで構成されておりそれらを少人数でカバーしていることもあって開発面でのオンボーディングには時間がかかってしまいます。 その中で顧客からの課題解決のタスクがエンジニアにとってオンボーディングを進める上で良いタスクだと感じましたので、顧客課題から…
こんにちは。カケハシでソフトウェアエンジニアをしている椎葉(@bufferings)です。私の所属するチームでは先日「質とスピード」についてのふりかえりを実施しました。この記事では、チームが「質とスピード」をふりかえってどのようなことを話し合い、何を決めたのかご紹介します。 この記事は カケハシ Part 1 Advent Calendar 2023 10日目の記事です。今年のカケハシのアドベントカレンダーにはPart 1とPart 2があるので、両方とも楽しんでいただけると嬉しいです。 カケハシ Part 1 Advent Calendar 2023 カケハシ Part 2 Advent C…
はじめに こんにちは!プロダクトマネージャーの高橋です。 こちらの記事はカケハシAdvent Calendar 2023 Part2の9日目の記事になります。 adventar.org Part1もあるのでぜひそちらもご覧ください! adventar.org カケハシに入社して4か月が経ちました。入社してからは新規事業で薬局向けの新規SaaSプロダクトを担当しています。 この記事では、前職まではECなどtoCプロダクトを中心に経験してきた僕がtoBプロダクトに挑戦してみてどうだったかを書いていこうと思います。 toCプロダクトとtoBプロダクトで感じた違いや学び直し 医療バックグラウンドがない…
本記事は カケハシ Advent Calendar 2023 9 日目の記事です。 adventar.org Musubi 開発チームの加藤です。1 年ぶり ですね。 皆様は 2023 年をいかがお過ごしでしょうか。 今年 Musubi 開発チームは多くのリソースを使って技術的負債の解消を行いました! 今回はその内容の一部を報告します。 バックエンドの完全サーバレス移行🎉 2022 年から、サービス開始時の AWS Elastic Beanstalk から、AWS Lambda + Amazon API Gateway のサーバレス構成へ移行を開始しており、今年ついに完了しました! 移行のモチ…
カケハシに興味を持ってくれた人と会話する中で働き方の部分でも多くの質問をいただきます。 そこで普段いただくような質問に対してこの記事で回答してみようかなと思います。 前提 チーム個別で異なる部分もあるので、全社共通な質問内容に対する回答を記載しています。 よくいただく質問 リモートワークについて リモートワークをしている人が多く、特にエンジニアはほとんどの人がリモートワークで、北は北海道、南は沖縄まで全国に散らばって仕事をしています。 かくいう自分も入社して3年経ちますが、出社した回数は片手で数えるくらいです。 リモートワークで働く人が多いので、リモートワークナレッジのようなものの高まりは感じ…
カケハシでデータサイエンティストとして働いている蓑田です。 こちらの記事は カケハシ Advent Calendar 2023 の8日目の記事になります。 今回はTensorFlow Probability(以降、TFPと呼ぶ)を使って独自の確率分布を定義するための方法について書いていこうと思います。 みなさんさまざまな領域でデータを活用されていると思いますが、得られたデータの背後には色々な事象が存在しています。たとえばカケハシでは薬局での処方データや採用している医薬品のデータが得られていますが、同じ効用でも複数のメーカーの医薬品を扱っていたり1、毎年メーカーが切り替わっていたりします。医薬品…
こちらの記事は カケハシ Part1 Advent Calendar 2023 の8日目の記事になります。 こんにちは! カケハシでMusubi Insightの開発を行っている高田です。 Musubi Insightは、立ち上げ当初よりフロントエンドフレームワークにAngularを採用していましたが、この度、React(Next.js)にリプレイスしました。 今回は振り返りも兼ねてその経緯やリプレイスまでの流れ、リプレイスを通して得られたメリットなどをまとめていきます。 ※技術的な内容はまた別記事にまとめたいと思います。 なぜリプレイスしたのか? Musubi Insightはカケハシの中で…
こちらの記事はカケハシ Advent Calendar 2023の7日目の記事になります。 adventar.org こんにちは、カケハシで Musubi 開発チームのバックエンドエンジニアをしている関です。 Musubi の開発工程でたまに発生するヒューマンエラーやルーチンワークを Semgrep を利用して削減することができたので記事を書かせていただきます。 Semgrepとは Semgrep は、コードのセキュリティやバグを見つけるための静的解析ツールで、パターンマッチングとプログラムの抽象構文木(AST)を使用して、検索パターンや条件に一致するコードを見つけます。これにより、コード内の…
はじめに こちらの記事は カケハシ Advent Calendar 2023 の 7日目の記事になります。 adventar.org カケハシの患者リスト開発チームでスクラムマスターをしている松本と申します 患者リスト開発チームでは、10月以降技術負債解消の取り組みを変更しました この記事では、チームで抱えていた技術負債の解消についての悩みとチームでどうやって解決したかについて、書きたいと思います 患者リスト開発チームでの技術負債の定義 患者リスト開発チームでは以下のような問題を技術負債と捉えております ソフトウェアの内部的な問題 設計上の問題点 自動化できるはずの箇所の手動処理など セキュリ…
この記事は カケハシ Advent Calendar 2023 の19日目の投稿になります。 東 浩稔(あずま ひろとし)と申します。 私は、カケハシでデータプロダクトのPdM(プロダクトマネージャー)を務めております。 2023年の7月に入社し、全社のデータ利活用を促進するため、データプロダクトの整備・強化に取り組んでいます。 今回は、9月にDatabricks AI World Tour Tokyo 2023で発表した「 データガバナンスの視点から見たデータメッシュアーキテクチャ 」を元に 当社のデータメッシュアーキテクチャの詳しく掘り下げて解説いたします。 本書を読むことで得られること データメッシュアーキテクチャを段階的に検討するための手法やヒントが得られます。 当社はなぜデータメッシュアーキテクチャか? 当社では、患者様や薬剤師様の医療体験を向上させるため、さまざまなプロダクトを活用し、目的に応じた最適なソリューションを提供しています。これらのプロダクトはそれぞれ専門チームが担当し、今後も新たなプロダクトの追加に伴い、担当チームが増加する見込みです。 このような状況から、中央組織であるデータ基盤チームが複数のプロダクトチームのETLを担当することはスケールしきれないことが予測できました。今後のプロダクトや組織の拡大に備え、データプロダクトを再構築する必要性が生じました。 その結果、各プロダクトチーム(ドメインチーム)が、自身のデータに責任を持つデータメッシュアーキテクチャを採用し、データ利活用もスケールすることを目指しました。 ※図:中央集権型(データレイク)と分散型(データメッシュ)の比較 データメッシュアーキテクチャを推進するヒント(全体像) 私が入社した時点で、すでにデータメッシュアーキテクチャが採用され、そのためのデータプラットフォームが稼働していました。(図1の原則3の箇所) ところが、実際の運用では、中央組織がETLを担当する体制が継続していました。この状況は、人員不足によりアーキテクチャを整備するためのリソースが不足していたことや、アーキテクチャのポリシーが不透明であり、ドメインチームが適切に利用できる状態にはないことが主な要因でした。(下図1の原則1と2の箇所) ※図1:データメッシュ4つの原則 そのため、まずはデータメッシュに適合するためのデータアーキテクチャのポリシーの整備から着手することにしました。 データメッシュアーキテクチャを含むアーキテクチャ設計には、複数の論点があり、これらの整理する際には前後関係を考慮しないと矛盾が生じたり、設計の破綻や整合性の欠如が起こる可能性があります。 したがって、データアーキテクチャをレイヤー別に整理することにしました。以下に、データメッシュアーキテクチャを整備するために検討が必要なレイヤーを示します。 ※図2:データアーキテクチャの検討レイヤー データアーキテクチャでは、下記のような検討すべきポイントがあります。それぞれを各レイヤーに分けて検討をします。 コンプライアンス 論理アーキテクチャ 接続方式 セキュリティ データ品質 物理アーキテクチャ レイヤー別の検討ポイント 以降に、各レイヤーでの検討の論点を整理します。これらは上から順に整理します。 1. コンプライアンス コンプライアンスレイヤーは、法的規制や業界の標準に準拠し、データのプライバシーとセキュリティを保護する基盤を提供します。 本章では、個人情報法および医療情報システムの安全管理に関するガイドラインを解釈し、実装すべき安全管理措置などをデータプロダクトとして検討します。 下記に、検討するポイントの例を記載します。 情報区分の定義 情報区分ごとの安全管理措置 仮名化/匿名化の加工方針 暗号化方針 冗長化方針 モニタリング方針 アクセス制御方針 ライフサイクルごと方針の定義 取得 利用 保存 削除方針 2. 論理アーキテクチャ 論理アーキテクチャは、データの流れや処理方法を体系的に組み立て、データアーキテクチャの全体像を整理する上での基盤となります。 本章では、上位のコンプライアンスの実装方針に基づき、データをどのステージに配置するか、それらのデータをどのようなフローで運用するかを検討します。 ※図:論理アーキテクチャの例 下記に、検討するポイントの例を記載します。 メダリオンアーキテクチャのステージにおけるデータの配置と、それに基づくインタフェースの検討 Bronze、Silver、Goldへのデータ配置 データ提供者が公開するインターフェイス Bronze、Silver、Goldをさらに細分化し、仮名加工情報、匿名加工情報を配置するステージの検討 3.接続方式 データ連携は、データソースとデータプロダクト間、データプロダクト内でのデータ提供者と利用者間での共有を可能にするプロセスです。 本章では、上位の論理アーキテクチャの方針に基づき、連携の方式、プロトコル、方向、起動タイミング等を検討します。 ※図:連携方式の例 下記に、検討するポイントの例を記載します。 連携方式 バッチ連携、ストリーム連携等 データ連携方向 Pull型、Push型等 データ形式 ファイル、メッセージ等 起動タイミング スケジューラー、イベントトリガー等 4.セキュリティ データセキュリティは、データの保護と管理の側面から検討します。 本章では、上位の論理アーキテクチャとデータ連携の方針に基づき、アクセス制御、暗号化、監視と検知等を検討します。 下記に、検討するポイントの例を記載します。 ロールの定義 データプロダクトを利用するロールおよび権限モデルの定義 アクセス制御 論理アーキテクチャで定義されたインターフェイス、データステージごとのアクセス制御方針等 暗号化 通信や保管時の暗号化 暗号化アルゴリズムの強度 サーバ、クライアントのどちらで暗号化を行うか 監視と検知 論理アーキテクチャで定義されたインターフェイス、データステージごとの監視と検知のレベルの定義 5.データ品質 データの価値を最大限に引き出すためには、品質が重要です。 本章では、上位のレイヤーに基づき、データ品質の重要性にフォーカスし、正確性、完全性、一貫性、信頼性等のデータ品質について検討します。 下記に、検討するポイントの例を記載します。 データ品質 データ品質の特性の中から採用する項目 データ品質の確認箇所 論理アーキテクチャで定義されたデータステージごとの品質を確認する箇所 役割分担 データ品質の特性ごとに、ドメインチームとガバナンスチームのそれぞれが実施する内容を定義 データ品質のレベル 確認範囲のレベル設定 必須項目と任意項目の定義 エラーレベルに基づいたアクション方針 6.物理アーキテクチャ 物理アーキテクチャは、データの処理とストレージの実装方法を考慮し、システム全体の効率性と信頼性を確保します。 本章では、上位のレイヤーに基づき、具体的なコンピュートリソース、データストレージ、ネットワーク構成などの物理アーキテクチャを検討します。 当社では、DatabricksとAWSを利用しています。これらの機能を使用して実際の設計を行います。 下記に、検討するポイントの例を記載します。 ワークスペースとアカウントの分離 Databricksのワークスペース AWSアカウント管理 ストレージ ストレージクラス データの保持期間 暗号化 コンピュートリソース Databricksのリソース SQL Warehouseのクラスタサイズ まとめ この記事では、データメッシュアーキテクチャの段階的な検討を通じて、物理アーキテクチャの設計プロセスについて解説しました。 今回は、詳細な解説はしていないため、今後も継続してデータプロダクトについて発信していく予定です。 この記事が皆様のお役に立てれば幸いです。 最後に 当社では、日本の医療体験をアップデートするため、薬局のDXに取り組んでいます。そのために、センシティブな個人情報を安全に保護しつつ、最大限活用するためにデータメッシュアーキテクチャを採用しています。 このようなチャレンジングな環境で成長し、当社のミッションやビジョンに共感いただける方は以下からのご応募をお待ちしております。また、カジュアルな面談も随時受け付けております! ランキング参加中 プログラミング
こんにちは! AI在庫管理で開発ディレクターをしている、兼平という名の🐷が好きなものです。 この記事はカケハシ アドベントカレンダー part2の6日目の記事です。 去年筋トレしたくてカケハシに転職した という話を書いてから1年が経ったので、これまでの筋トレの日々をふりかえりたいと思います。 一緒に筋トレしてくれる仲間が増えた! プロダクトのPMFを目指すフェーズの中、日々メンバーも増え、なかなか状況が追いきれずに1人で悩むことも多い日々を過ごしていました。 そんな中、2月に同じロールで自分よりツヨツヨでマッチョな同僚さんがjoinしてくださり、フィードバックをもらうことでトレーニングが加速し…
こちらの記事は カケハシ AdventCalendar 2023 の5日目の記事です。 はじめに こんにちは。カケハシのAI在庫管理チームに所属している梅田です。 私は2年程前に、カケハシのCS(カスタマーサクセス)チームに加わりました。 カスタマーサクセスとは、プロダクトを利用していただいているお客様に伴走し、お客様の業務がより良くなるようにサポートする役割を担う仕事です。 そしてタイトルの通り、今年の10月から新たな役割としてフロントエンジニアとしてのキャリアをスタートさせました。 このブログでは、これまで開発やプログラミングの経験がまったくなかった私が、CSの仕事からエンジニアへと進むこ…
こちらの記事は カケハシ Part1 Advent Calendar 2023 の5日目の記事になります。 こんにちは、カケハシで Musubi Insight のバックエンドエンジニアをしている末松です。 Musubi Insight ではデータ集計バッチに AWS の GlueSparkJob を採用しているのですが、この GlueSparkJob のログレベルを設定することで CloudWatch へのログ収集(DataProcessing-Bytes)にかかっていたコストを98%も削減することができました!! GlueSparkJob を使われているエンジニアの方にぜひ知っておいていた…
こちらの記事は カケハシ Advent Calendar 2023 の 4日目の記事になります。 こんにちは。カケハシでエンジニアをしている今川です。 今回はこれからフロントエンドの技術選定をする方向けに、どんな技術・ツールを使えばいいかのヒントになるような記事を書いていきたいと思います。 ただし、本記事では個人的な好みというよりは、npm trendsやGitHub Star Historyなど客観的な指標からどんな技術が世間に受け入れられているかの比較にしていきたいです。 もちろん数値などの比較以外に、ドキュメントを読んだり使ってみたりすることも重要だということは言うまでもないと思います。…
カケハシでデータサイエンティストをしている島吉です。 こちらの記事は カケハシ Advent Calendar 2023 の4日目の記事になります。 A/Bテストなど、ある2つのグループ(2群)の特徴に差があるのか検証したい場面があります。このとき、t検定などの仮説検定の手法を用いることで、有意差があるかどうかを判定できます。しかし、有意差があると判定されたときの2群間の差が、検証したい差の大きさと一致しているかどうかは、直感的にはわかりにくいと感じることがあります。そこで、仮説検定に代わる方法を調べてみたところ、ベイジアンA/Bテストという方法が見つかったので、それについて紹介します。 ベイ…