こんにちは。
テックリードのTerukiです。
今日はOh my teethでの開発環境を紹介してみようかと思います。
採用活動を少し強化しているので、参考になればと思います。
使用技術スタック
大きく分けると.NETとReactです。
以前はPHPやVueもありましたが、技術スタックを統一するために大規模な移行作業を過去に行っています。その時の記事も書いているので興味があれば是非ご確認いただければと。
バックエンド
基本的にASP.NET Coreで作られています。
.NETは毎年メジャーバージョンアップがありますが、ここ数年はプロジェクトのバージョンを変えるだけでそのままバージョンアップが完了してしまうくらいには後方互換性が強いです。
もちろん破壊的変更自体はあるのですが、ニッチな機能関連なことが多いので通常の使い方をしている時にはほとんど影響がないのが非常に良いです。
(なぜかLaravel等と比較してあんまり流行ってない感じがして、個人的には悲しいところです)
フロントエンド
ほぼすべてをReactで実装しています。
考え方自体は少し難しい感じがありますが、慣れると非常に綺麗な設計を作ることができるのが良きです。
公式サイトにもReactを使いたいところでしたが、パフォーマンス自体も重要であるため一部のプロダクトではHonoXでhono/jsxを使って実装しているところもあります。
hono/jsxはReactではおなじみのAPIをほぼそのまま使えるので、Reactを知っている人なら結構そのまま使えるんじゃないかと思います。
開発ツール
基本的には好きなやつを使っていいよというスタンスではありますが、とはいえよく使われているものがあるので紹介。
.NET
.NETの開発には、Visual StudioかJetBrains Riderが使われています。
私のような昔から.NETを触っている人はVisual Studioを使っていますが、最近参画された方やMacがメインの開発環境の人はJetBrains Riderを使っています。
機能的にはどちらもほとんど揃っていて、割と好みの問題です。
どちらもGitHub CopilotなどのAIアシスタントが使えるので、最近はこれらも活用しながらコーディングしている人が多いです。
React
ReactはVisual Studio Codeで実装している人と、JetBrains WebStormを使っている人で二分されています。
これももはや好み説ありますが、開発メンバーは思い思いのツールを使っていそうです。
ちなみに私はVisual Studio Codeを使っています
データベース関連
基本的にデータベースのマイグレーションはEntityFramework Coreで出力していますが、DDLの実行は手動で行っています。
データベース操作については今はもう100% DataGrip固定にしています。
いろいろなデータソースにDataGripだけで接続できるのでそもそも便利ではあるのですが、紹介しきれないような細かい便利な機能がたくさんあるのでこれだけは全員統一してもらうようにしています。
AIアシスタント
最近は特にAIにコードを書いてもらうことが増えてきています。バックエンドはまだ難しい部分もありますが、フロントエンドのデザイン調整などは確実に人間がやるよりも早くやってくれるので部分的には重宝しています。
今はGitHub CopilotとJetBrains AI Assistantがメインで使われていますが、今後も良さそうなものが登場したら試してみたいところですね。
Oh my teethの開発でのごく一部の紹介ではありましたが、基本的に好きなツールを使ってもらって良いというスタンスでいます。
今後もいろいろなツール等が出現すると思いますが、都度都度試して便利なものは導入していけるような組織にしていきたいですね。
Oh my teethについて
Oh my teethでは未来の歯科体験を創るために日々活動しています。
Techチームではより良いユーザー体験を提供するべく、Webフロントエンドからバックエンド、スマホアプリに機械学習モデルなど、さまざまなプロダクトを開発しています。
一緒に未来の歯科体験を創りませんか?興味がある方は是非こちらを確認してください。
カジュアル面談も可能なので気軽に応募してみてください!
