背景
今新規プロダクトを0から設計構築といったことが発生したときに
エンジニア組織メンバーの属性を一切考慮せずに
自身がやりたい前提で考えてみた。
個人が使いたい技術を並べただけなので
ベストプラクティスとかは考慮していません。
あくまでも技術は手段。
フロントエンド
TypeScript + (React + Next.js)
かなー
TypeScriptは現状CDKで使っているので
場合によってはフロントエンド側も携われたりするのかなと思ってこの選択。
バックエンド
GO言語
実際に業務では使ったことなくチュートリアルレベルだけど
速度も快適で使いやすかった気がするw
ゴーファーくんとたわむれたい。
時点でPython
AIがこれだけ蔓延っている現在だとPythonをやっておけば
しばらくは職に困らないのではという安定感。
インフラ
今までほぼAWSしか触ってこなかったけども、
クラウドであればAWSでもGoogleCloudでもAzureでも
いいかなと考えている。
円安の今場合によっては国産クラウドも選択肢に入れるかもしれない。
APMツール
Datadog
今でも使っているし、
犬のアイコンに癒される。
VCS(Version Control System)
GitHub
オクトキャット!
Bitbucket、Codecommit, GitLabも使ったことあるけど
IssueやGitHubActionsや、他ツールとの連携のしやすさなどで
一歩抜き出ている気がする。
もうCopilotなしでは開発ができない体になっているので。。
IaC(Infrasturcture as Code)
Terraformかな。
CDK や CDKTFも使っているけど
やはり安定感使いやすさが○
プロバイダーが豊富なので
理論上Datadogの設定も全てTerraformで管理できる。
唯一のデメリットはHCLの書き方を覚えないといけないことだが、
moduleをうまく利用すればコンフィグを書くだけ。
楽しさは。。ないかもしれないw
CI/CD
GitHubActionsもしくはCodebuild(AWSの場合)かな。
マネージドが楽
Terraformの重要度にもよるけど場合によっては
HCP Terraform(旧Terraform Cloud)も選択肢に入れるかもしれない。
HCP Terraformの名称にまだ慣れないw
https://japan.zdnet.com/article/35218132/
コンテナ
Docker Desktopは使わないようにする。
ローカルで利用する場合はDocker Engineだけをインストールする。
企業規模に応じて課金されるのと
WEBUIは不要なので。
なのでクラウドのアーキテクチャもAWSであればECSを利用する前提の設計になる。
Kubernetesも興味あるので選択肢に入る。
プロジェクト管理
JIRAが慣れてはいるけど
Backlogも使ってみたい。
GitHub機能のProjectでも実現可能なのか試してみたい感はある。
ドキュメント管理
Confluenceがあまり好きくないので
Notionかな
Notionを使うのであればプロジェクト管理も必然的に
Notionになるのかな。
使ったことないのでイメージわかず。
コミュニケーションツール
Slack
Slackはやっぱり便利。
エディタ
VSCodeで統一
拡張機能便利だし無料だし
番外編
開発端末
MacBook Pro のUSキーボード Arm 16GB 以上
JISキーボードはもうわからないw