ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

CloudFormationのCustomResourceでデータベースを作ってみた

こんにちは、プロダクトエンジニアリング部のちょうです。最近ひたすら既存システムの自動化をやっています。その中で、TerraformとCloudFormation両方を使っていました。TerraformあればCloudFormationが必要ないと思う方もいるかもしれませんが、CloudFormationを使ってTerraformができないことを可能にするCloudFormationのCustom Resourceを紹介しようと思います。

まず簡単にTerraformとCloudFormationの特徴を比較します。

Terraform CloudFormation
プラットフォーム AWS, GCP etc AWS
構文 HCL
リソース定義
JSON/YAML
リソース定義
IDEサポート(JetBrain)
それ以外Web Designerある
リソース状態 tfstateファイルで管理 AWSが管理
オンライン実行 Terraform Cloud(有料) 画面で変更および実行できる(無料)
入力 環境変数
tfvarsファイル
Terraform Cloud(有料)
作成・更新時に環境変数、JSONファイル
作成後AWSが管理
ロールバック機能 なし、途中で失敗すると止まる/crash あり
AWS API 最新ではない
例えばECS Serviceの一部設定など
最新
拡張機能 Golang Custom Resource
(SNS/Lambda)
続きを読む

Rubyの並行処理についてまとめてみる

あいわらず鍋ばかり食べているWebエンジニアの本間です。 ただ、鍋の種類はごま豆乳鍋から寄せ鍋に変わりました。

さて1ヶ月以上遅れになりますが、 Ruby 3.0 が無事リリースされました。 まずはリリースに携わった全ての皆さま、本当にありがとうございます。 また今回は念願のメジャーバージョンアップであり、Ruby 3x3の達成おめでとうございます! 速く、使いやすくなったRubyをこれからもバリバリと使わせいただこうと思っています。

そのRuby 3.0で並行処理関連の2つの機能が追加されました。

  • Ractor
  • Fiber Scheduler

これらを見て「そういえばRubyの並行処理って何があるんだろう?」という疑問が浮かびました。

また、過去にこのようなエントリを投稿していたこともあります。

tech.unifa-e.com

新しい機能が追加されたタイミングで過去の機能も含めて整理しておきたいと思い、このエントリを書こうと思いました。

続きを読む

個別最適に陥らないために考えたこと

こんにちは。ユニファでプロダクトマネージャーをしている井口(いのくち)です。

先日、他社のプロダクトマネージャーと会話した際、「1つのプラットフォーム上で複数のチームが同時に開発*1をすると、チームごとに個別最適に陥る場合があるよね。」という話になりました。私も個別最適な選択をしてしまい、後から仕様をひっくり返してしまった苦い経験があります。

私たちは個別最適に陥らないために、どんなことができるのでしょうか?今回は私なりにたどり着いた、個別最適を抜け出す対処法をご紹介したいと思います。

*1:実装だけでなく、要件定義やデザイン設計などプロダクト開発全般を指しています。

続きを読む

2021年の最新のユニファ開発チームを知って頂くために

こんにちは。 ユニファのエンジニアマネージャーをしております田渕です。

今年も早くも15日を過ぎまして、「もう今年の24分の1が終わったね。」と会話していたら「時間に追われている人の言葉だ。」と横からツッコミを頂きました。 確かに!と思います。

昨年末は二度目の取り組みとなるアドベントカレンダーで盛り上がりまして、おかげさまで沢山の方に閲覧頂けました! 継続は力なり、ということで、開始当初は殆ど閲覧くださる方もおらずひっそりと更新しておりましたこちらのブログも、更新すると一定の方が見てくださるようになりました。

2021年の初めのブログは何にするか?と若干ハードル高く悩んでおりましたが、難しく考えずに社内の他のブログに乗っかろうユニファ開発チームの最新の情報をお届けしようと思います。

www.wantedly.com

続きを読む

年の瀬に自分の弱さに向き合ってみる(もしくは弱さを書き散らかしてみる)

皆様メリークリスマス。ユニファでCTOをしてます赤沼です。

2020年も残り僅かですね。ユニファアドベントカレンダーも最終日。メンバーの協力のおかげで今年も無事に完走できました。

adventar.org

アドベントカレンダーのゴールの記事として適当なのかどうかは自信がないですが、心理的安全性の醸成もまずは自分が弱さを晒すところから、課題の改善もまずは現状認識から、ということで、今回は自分の弱さを書き散らかしてみます。そして年末年始には改めて2020年を振り返ってみたいなぁなどと思っています。

スケールしているか?

私が入社してから5年の間に、会社全体としても開発チームとしても何倍にも大きくなりました。残念ながら私の力不足で離脱するメンバーもいましたが、今年だけで考えても多くのメンバーが入社してくれました。また、7月には組織構成を大きく変え、それによってさらに開発チームが大きくなりました。

チームはスケールしました。では私自身は適切にスケールできているのか?数年前の規模の時と同じつもりでやっていないか?逆に大企業のようなつもりでやっていないか?

今はまだ残念ながら適切なスケールはできていないと思っています。どちらかというと大きさに囚われ、メンバーから見ればすぐに変更して当然なことも、大所帯になったことで変更にブレーキをかけたくなる部分が強くなってしまっているなと時折感じています。

自分は今の規模の開発チームのトップが務まる人間なんだろうか。自分には向いてないのではないかと思う一方で、いやいや向き不向きとか甘っちょろいこと言ってないで、やるべきことはやれるようになれよ、と思う自分もいるわけです。他社のCTOのブログなどを読む度に、すごい、参考になる、と思うと同時に、自信を失う自分もいるわけです。

組織は作れているか?

多くのマネージャーやCTOの役割の一つは、メンバーが仕事がしやすい環境を提供していくことかと思います。特にCTOは開発組織のトップであり、良くも悪くもCTOのスタンスが開発組織に大きく影響を及ぼします。では私は良い環境を提供することができているのか?メンバーがハードワークしたくなるような組織を作れているのか?

開発者は、面白い仕事、面白い環境があれば、何も言われなくてもどんどん動きます。それらを用意するのが自分の仕事だと思いますが、まだまだ不十分だと日々感じています。

リーダーとしてはどうか?

結局自分はリーダーとしてどうなのか?経営陣の1人としてバリューを出せているのだろうか?全然不十分だなと思いいつも悩みます。まだまだメンバーの力を引出し切れてはいない。メンバーからはどう見えているのか。自分は強力なリーダーシップを発揮するタイプではない。メンバーからしたらトップは自信満々にチームを強く引っ張って欲しいと思っているのではないか。こんな風に自分の弱さを出すのはマイナスなのではないか。

一方で、自分が向いてないことを無理にやろうとするのは、結局チームにとってもマイナスなのではないか。できる人に任せた方が早くてクオリティも高い。自分が退いた方がチームのためなら退くべきだとも思うのです。

みんなの助けがあってこそ

結局、自分1人では大したことができないなぁといつも思うのです。プロダクト開発にしても、組織作りにしても、みんなの助けがないと大したことはできません。今までも散々助けてもらっているわけですが、来年も助けてもらえるよう、助けたいと思えるようなチームを作っていけたらと思っているわけです。

そしてさらに多くのメンバーの助けを必要としているので、しょうがない、助けてやるか、と思われた方はぜひ一度お話しさせていただければと思います。

unifa-e.com

来年は少しでも自信を持ってできていると言えるようにしたいと思いつつ、それではみなさま、良いお年を。

保育所マッチング(入門)

こんにちは。機械学習やデータ分析に加えてインフラ周りでも修行中の浅野です。今年の始めにさいたま市が導入した保育所マッチングシステムがトラブルを起こしたというニュースがありました。それをきっかけに保育所マッチングではどのような技術が使われているのか興味をもったので少し調べてみました。このユニファアドベントカレンダー24日目の記事ではその技術の基礎的な部分について書いてみようと思います。

続きを読む

なぜアイデアは複数の問題を一気に解決するのか? 〜 宮本茂の名言へのとある解釈

さいしょに

はじめまして、プロダクトデベロップメント本部で副本部長をやっています西川です。 UniFaアドベントカレンダーの23日目、メリー・クリスマス・イブイブの記事をお届けします。

さて、唐突に話を始めてしまいますが、マリオの生みの親でお馴染みの任天堂 宮本茂さんの名言のひとつに、

アイデアとは複数の問題をいっぺんに解決するもの

という言葉があります。

(おそらくはCEDEC 2008での)初接触から今に至るまでずっと深い共感を覚え続け、また、仕事の仕方に強い影響を受け続けてきた、私にとっていわゆる「座右の銘」のひとつです。

しかし、ずっと「なぜ、そうなのか?」「だからどうすればいいのか?」を明確な言葉にすることができないままでいました。

それが先日、散歩中に何の脈絡もなく突然、「あ、これだ」と自分なりの理解が急にクリアな言葉・論理・映像として浮かんできました。

せっかくなのでどこかでいつか文章としてまとめておきたいな…と思っていたところで、社内で今年もアドベントカレンダーやるよという声が上がってきました。

そういうわけで本日のテーマは、宮本さんの名言への自分なりの解釈を記したいと思います。

続きを読む