satake.blog logo
Published on

技術スタック

かしこまった書類には書かない細かいことも書けるだけ書く。本職エンジニアをやめる可能性大なので今までのまとめにでもなればなと。 そのうち経歴の方も書く

技術スタック概要

汎用プログラミング言語・データ記述言語

言語と言えなくないものは全部突っ込みます

  • JavaScript: 8年くらい断続的に触っています。おもにWeb, Node.js, GAS で使っています

  • PHP: 4年間触っていました。PHP5.4から7.0.3くらいの過渡期でした。おもにMinecraft PEのサーバーで使っていました

  • HLSL: 3ヶ月くらい触って勉強を諦めました。Minecraftや自作3DCGのシェーダー開発で使いました

  • Java: 3年くらい断続的に触っていました。おもにAndroidアプリの開発で使いました

  • Kotlin: 1ヶ月触っただけの素人です。これもAndroidアプリです

  • C#: 1年くらい触りました。Windows用FormAppの開発で使いました

  • C: 5年くらい断続的に触りました。おもにArduinoなどのマイコンプログラミング、後述する42 Tokyoの活動で触りました

  • C++: 3ヶ月くらい、雰囲気とノリだけ覚えられる程度でPaizaで触りました

  • Ruby: 2ヶ月くらい実務で改修に関わりました。超古いRailsで触りました

  • Python: 2年くらい断続的に触っています。Jupyter Notebookをちょっといじったり、社内ツールのLambdaを改変したり、くらいのほぼ素人です

  • TypeScript: 2年くらい所属企業で触っています。Node.jsアプリケーションとWebフロントエンド(Nuxt, Next.js)で使っています。

  • Go: 1年半くらい所属企業で触っています。Webアプリケーションとジョブワーカーを開発しています

  • Bash: 4年くらい断続的に触っています。最低限はできます。500行くらいのスクリプトならそんなに嫌な顔せず読めるくらい

  • VBA: あまり触りたくないですが一応経験が何回かあるくらいです。使ったシートは1,000行くらいのデータ量です

  • Rust: 勉強中でほぼ未経験です。構文がまだ覚えられない

  • Wasm: ちょっと勉強したけど忘れました

  • Markdown: 6年くらい触っています。言わずもがなですが。Discord, GitHubでよく使っています

  • HTML: 7年くらい断続的に触っています。

  • CSS: 7年くらい断続的に触っています。

  • MySQL: 2年半くらい実務で触っています。いまはバージョン5系から8系にがんばって上げようとしてます

  • Terraform: 勉強中で、まだコーディング経験はないです

  • Makefile: 2年ほど個人と実務で触っています。縁あって謎にMakefileの成り立ちを猛烈に調べたことがあります。特殊構文は調べながらであれば使えます

  • Dockerfile: 最低限の知識があります。調べながらであればそんなに苦なく書けます

  • docker-compose: 最低限の知識があります。調べながらであればそんなに苦なく書けます

フレームワーク・ライブラリ

  • .NET Framework(Form App): バージョン覚えていないです。ほぼ素人です
  • jQuery: 難なく読めるくらいには触れました。書く時はけっこう調べる感じになると思います
  • Nuxt / Vue: 実務で1年半ほど使っています。Vue2です。バージョンアップで破壊的変更が多くて、もう使いたくはないような感じがします
  • Next.js / React: 実務とこのブログで半年ほど触っています。基本が少し分かるくらい
  • GraphQL: 実務で1年半ほど。プロジェクトの規模的には不要だなと思っていて改修しようと思っています
  • Ruby on Rails: 実務で2ヶ月ほど。かなり古いバージョン
  • GORM: Go製ORM。実務で1年半ほど。個人的にも会社的にも、セキュリティリスクが高すぎてもう使いたくはない。
  • go-chi: GoのHTTPルーターライブラリ。実務で1年半ほど。

クラウドインフラ

特記事項がある項目だけ。基本的に実務では基礎知識と運用経験がちょっとあるくらいで、専任で触る人も別にいたのでそこまで詳しくはないこともある。

  • AWS
    • コンピューティング
      • EC2: 個人と実務で2年半ほど。ASGを作るなどした
      • EKS: 実務で1年ほど
      • ECS: 実務で半年
    • データストア
      • RDS: 個人と実務で2年半ほど。おもにMySQL。いまMySQL 5系から8系へのアップグレード調査中
      • OpenSearch: 実務で半年ほど。引き継ぎの真っ最中で勉強中
      • ElastiCache(Redis): 実務で1年ほど
      • S3: データ保存, 静的ホスティング, CDNとして利用
    • その他マネージドサービス
      • Amplify: 実務で1年半ほど。Preview Branchが便利だが、インフラのエキスパートがいるならEC2でコンテンツ配信してもいいなとか思う
      • Route 53, ACM: 個人と実務で3年ほど
      • CloudFront: 2年ほど。CDNがメイン
      • Organizations: 実務で2年ほど。Organizationの移管なども実施経験あり
      • CloudWatch: 実務で2年ほど
      • Config: 実務で1年ほど
      • CloudTrail: 実務で1年ほど
      • StepFunctions: 実務で半年ほど
  • Microsoft Azure
    • ユーザー管理(Azure Active Directory): 実務で2年半ほど

デバイス / OS

  • Windows 7, 10, 11: 8年くらい個人と実務で使っています。PC自作歴4年ほど
  • MacOS Big Sur - Sonoma: 3年くらい個人と実務で使っています
  • Ubuntu 18 - 22: 2年くらい個人と実務で使っています
  • Raspberry Pi 2, 3: 個人と実務で3年くらい使っています
  • Arduino nano: 個人で3年くらい使ったことがあります
  • その他LinuxベースのOS: AlpineとかArchLinuxとかRaspbian(現Raspberry Pi OS)とか

開発のプラクティスでモダンなやつ

今のところは全部ノリと勢いでやってます。私のプロジェクトでやるにはちょっとオーバーかなとか思っている

  • オブジェクト指向プログラミング
  • ドメイン駆動設計
  • クリーンアーキテクチャ
  • 依存性注入
  • アトミックデザイン