2025年のソフトウェア開発振り返り


Main

2025年の開発の振り返りを今更ながらしておきたい。

しっかり触った技術は以下の通り

  • Flutter
    • Dart
  • AEM
    • Java
      • Sling
    • HTML & CSS
    • React.js
    • Devops
      • Elastic Search
  • Python
  • Neovim + Tmux

今年はかなり色んな技術を触った。業務では今までで一番多くの種類を触ったかもしれない。

今年は結構大きめなProjectにTLとしてアサインされてから、BEのタスクを多くやった。 メイン言語はJavaだったが、サポートツールをPythonで書くことも多かった。

Java

Java自体は前からやっていたけれども、Javaの作法がなんとなく分かってきた気がする。デバッガーを使うためにIntelijで過ごす時間も多かった。 InternetではJavaをレガシー言語として、バカにする風潮があって、そんなイメージでやっていたが、書き始めてみると好きになた。まぁKotlinがあるならできればKotlinで書きたいけど。

Python

AIのおかげで、小さい便利ツールを作るのがとても簡単になった。そういう時にやっぱり軽くて簡単に実行できるPythonがまず筆頭になる。あとuvが便利。

Flutter

今年はReact NativeではなくFlutterだった。RNとは全く違う考え方のクラスプラットフォーム開発で、なぜ人気なのか理解した。OSをまたいでもレイアウト崩れがあまり起きないのが良い。(もしかしたら最近のRNは良くなってるのかもしれないけれども)。

DartはコンパクトなJavaという印象で、Flutterは宣言的UIフレームワークだから、JavaとReactの経験があれば、苦労することなく慣れるだろう。

Kotilin

個人開発ではKotlin Jetpack Composeを使ってアプリを作った。クロスプラットフォームは今のところあまり人気はないが、Kotlin Multiplatformが最強なのではないかと思っている。

新しい技術を触ることの心理的抵抗は小さくなってきている。それは自分の開発者としてのMaturityが高まっていると思いたいが、AIによる所も大きいだろう。コードでわからないことがあっても"Explain this"で理解できる。常に質問できる存在があるということは、新しいことに挑戦するときの不安を和らげてくれる。

これは自分に取ってかなり新しい内容で、正直あんまりまだ何ができるか分かっていない。が、そりゃ、システムを安定的に運用しようとなると、こういう技術が必要になるのは分かる。今まで存在を知らなかったのが不思議なぐらい。

Keyboard

  • Kanata
  • Keyball39 & ish
    • Seaside

今年はキーボードを2台組んだ。 Keyball39とその狭ピッチ版のKeyball39ishだ。それぞれSeasideを使ってBLE無線化している。

これによって、自作キーボードはエンドゲームを迎えた感じがある。これ以降新しいキーボードを探すということをしなくなった。

Kanataを使い始めたのも大きい。Laptopの備え付けキーボードにレイアリングの概念をつけることができるのでラップトップ一台で仕事をすることが増えた。

その影響で、机と椅子を売って、2ヶ月ほど机なしで仕事していた。と言ってもほぼ出社していたので家で作業することはあんまりなかったのだけれども。

Viture Proを買って、寝ながら作業する事も増えた。

「入力」という行為は奥が深い。物理キーボードをカスタムすることもできるし、KanataのようにVirtualKeyboardをカスタムすることもできる。そもそも、タイピングをする必要性もAI時代に必須ではなく、音声入力も使える。

コンピューターとのコミュニケーションの研究はこれからも続けたい。

Neovim + Tmux

これが自分の中ではかなり大きな変化だった。

移行して、いかに自分の開発作業が、Editorの影響を受けているか分かった。Nvim以降まではCursorを使っていたが、VSCodeに詳しくなると当然ながらVSCodeの理解が深まる。対して、NvimとTmux、CLIの理解を深めることはコンピューター、OSの理解を深めることになると思う。

VSCodeの外で開発する。このシンプルなアイディアによってコンピューターが持っているもっと多くの可能性を引き出せることができるようになった。

今のところ、VSCodeを使うことは、ローカルでExcallidrawを書く以外使っていない。Cursorのサブスクリプションはcursor-agentのために残している。

Management

TLとして、各開発者にどのように働いてもらうかについてはよく考えた。ビジネスの要望に対して、技術的なソリューションを見出し、それを技術者でない人に説明することも多かった。学生の頃やっていた家庭教師や塾講師の経験が活かされている感じがする。 ここでもExcalidawが大活躍した。

AI

Curosrをよく使っていたが、Nvim以降はClaudeをよく使った。

日々是好日

振り返ると1年たくさんの経験をさせてもらった。が、大切なのは、1日1日技を磨くこと、理解を深めることだと思う。それが積み重なって1年後、見える果実となる。 ソフトウェア開発は楽しい。