Recent History

I haven't blogged here in over a year. I probably don't have to explain this, everyone has been going through the same thing, so I'll skip those details. Since this is my development blog, I'll spend a little time putting in details of the things I've been up to in the last year or so.
Slack App Development
I developed a couple of Slack apps and spent a good amount of time writing Javascript for those. Writing Slack apps is reasonably productive, however I really wish Slack would take the time and make their API surface more regular. Often times the parameters for an incoming event has a different shape than another API. Often you are very limited in what UI elements you can choose for certain jobs. Often you have to spend a whole lot of time saving data away somewhere else just so you can get it to the next screen in a flow through state or whatever.
Spring Boot Server Development
I spent a good amount of time writing Spring Boot last year and this year. That's a crazy ecosystem, but there is a lot of documentation on how to do it, and the results were reasonably predictable. If I need to write server side code, I would likely consider doing this again, and use Kotlin for it. In fact, I have recently started a server side development using this.
GraphQL
As protocols go, GraphQL is currently still my favourite way to get an API off the ground. I've worked on this both from the client side and the server side now, and both angles provide a nice experience. I'll be learning some Federated GraphQL shortly, so that'll be interesting. Most recently I've discovered, and really enjoy, graphql-kotlin which generates the schema from the Kotlin code, and this is a really nice way to develop. Very little code. No schema writing by hand.
AWS
I spent a lot of time learning to deploy server apps to AWS. I guess all I can say is why, Amazon? Why do you have to make this so hard? The amount of policy based security hangups is overwhelming sometimes. Learned to do this using Terraform, and this takes a lot of the sting out of it once you finally have all of your resources set up correctly. The difficulty is understanding all of the resources you might need to get a service deployed and running.
Android
Android has been changing so fast lately, that it's hard to keep up with it all the time. Recently Jetpack Compose has been getting closer to a general availability release, and that's really encouraging. Getting rid of XML layouts is like a dream come true. I have found the mental model of UI development with Jetpack Compose can take some getting used to. It's so easy to break the model by performing some sort of side-effect. It's something I'm sure I'll get better at over time.
Kotlin Multiplatform Mobile
I had evaluated this tech for usefulness last year, and finally have pulled the trigger on it for a shared GraphQL client for a new app my current team has been developing. I think it's finally ready for major projects. Things I want are better coroutine Flow support for iOS but I'm sure those things will happen.
Kubernetes
A recent technology choice. Coupled with Terraform, this seems to be a really nice way to deploy server systems. So far, really liking that I can use the same Terraform scripts to deploy locally as well as remotely. I do have quite a bit less to learn compared to deployment to AWS, so that's a good thing. Early days with this one, I'm late to the party, obviously.