My experience of programming in 2024
I would consider, being at the edge of tech stacks these days. As being only working for myself for one year, to make a confident prediction, where the world is moving. I want to be at the cutting edge. My mind is often thinking about the next big things. And that’s where I want to share my personal experience now.
Next big things to me are not the next Hype, next big thing is the trend which is going to stay.
And AI is definitely one of these trends. Because without AI I wouldn’t have gotten so far in one year, as I got now. Learning with AI and knowing how to use AI, makes u already a step ahead of the competition.
My Tech stack in 2024
- Svelte-kit, my favorite frontend framework because I hate frontend, and using a library like skeleton is making things simple, to get clean reactive frontends.
- Kotlin, my Programming language I have learned to love already in University. It’s a great language to write backend services and to get things done. Together with Spring Boot and Axon Framework an indeed versatile combo of backend systems.
- Event Modeling, my favorite Project Management Methodology. It’s a great way to model your software and to get a clear understanding of what you are building. It’s a great way to communicate with your team and to get things done.
- And the industry classics are
- Docker
- Kubernetes
- Git
- Kafka
My personal prediction is, that having JS/TS, Kotlin and Rust in your tool belt is a great way to be prepared for the future.
My Software Architecture
- Eventsourcing
- CQRS
- Vertical Slices
Why? Because I am able to return to other Architectures when I have the need to solve a Problem differently.
My Experience with Programming in 2024
So what is my experience with programming in 2024? It’s a great time to be a programmer. The tools are getting better and better and the world is at a crazy point. A point where AI accelerates software development so quickly.
I am definitely not typing as much as I used todo, and I can feel that in my wrist which is now more relaxed. So what do I do?
I am pretty sure nobody is reading this blog, at least for now, that’s why I share it.
When I code, I have a vertical Software Project, that means, I have the small features all contained with itself to stay encapsulated. I do this in frontend and backend. And all I need is to tell my AI what I need. For this sake I am using cursor. Cursor scans, all my files and folders by their vector database, to use the files which are similar to what I have to implement. My code is very simple straightforward, that means, it comes up with the solution I need.
The Code follows the typical CQRS Architecture, meaning I can say “Give me a new feature which does xxx automatically after xxx”.
What cursor is doing, it generates me all the boilerplate, it comes up with the tests, the business edge cases, the frontend components, the automation processor, the right events and commands.
The most tedious work I have todo is to just look what’s being generated, click accept, run all tests and thats done.
The challenge which sometimes arises at least for this time in November, is that when I have an integration test, with hidden dependencies due to multiple automation processors, I have to mock a lot of code. I haven’t come up with that solution to specifcially test one functionality, since I don’t aim to write E2E tests.
I am pretty sure, that I will come up with a solution for that, but for now, I am happy with the results I get.
Results are here, yesterday I have implemented 6 slices within 30min. Not really the most difficult ones, but they had all patterns included.
From State Change, State view and Automation Processor.
Pretty impressive. So when I don’t have too much to mock automatically, I am pretty fast in implementing new features.
New features which are not only tested, but also documented. And the best is, when I have issues, I can cherry pick this feature, create a new branch and test it independently.
That enhanced my developer experience so much, that I can develop features now as fast as my creativity sparks.
Using this advantage I want to build startups now.
Security
If you ask 5 different Security Experts, you will get 5 different answers. I am aware of using existing Security components for oAuth2, or other role based systems. Since I haven’t developed “yet”, a system this critical I will ask these 5 different Security experts to see what’s really, needed and important. I am personal a big fan of security, that means, I like challenging the pen-testers in my network and I will utilize them, when time is right. As long, I am not there, I don’t want to share too much about how I am implementing security, since I know that is a security leak itself. :D.
Conclusion
Coming back, I am planning to implement new apps within days, with enterprise architecture. That’s my goal already for 2025.
My only worry for now is, how do I finance this. But as I know in life, things come when they are needed. Taking risks, is opening opportunities.
Maybe next I will write about my experience of AI and how I am using it to my advantage.