Tomasz Zielichowski
I am an enthusiastic software engineer primarily involved in the JVM world. I’ve been interested in programming since I first saw a computer in 1997. However, my first 10 years were spent playing computer games. (In retrospect, I don’t regret a single minute of it). Over time, I learned the C/C++ language and from high school, through college I used it studing all the wonderful low-level stuff. I programmed microcontrollers and had a great time doing projects using STM32. (Such as a house light that turns on when you clap).
Over the last decade I’ve been a software engineer involved with the JVM ecosystem. I’m very interested in domain-driven design, software architecture and how to choose the right solution for a given problem. I am not emotionally attached to any of the patterns like layered architecture, hexagonal architecture, event sourcing, frameworkless, anemic domain model, rich domain model, etc. The key is to know how and when to use them. As someone said: “In software engineering there are no good choices there are only trade-offs.”
I think I have worked with most of the hot technologies in my career, here are some of them:
– Java, Kotlin, Python, C++,
– Sql/NoSql databases,
– Aws/Azure cloud,
– Sns/Sqs/RabittMQ/Kafka,
– Docker/Kubernetes,
– …
However, I believe that technologies come and go, while certain programming fundamentals remain unchanged over the years.
I consider myself as a backend developer, but from time to time I happen to work in the frontend. However, I believe that 95% (my magic number, not confirmed by any research) of applications needing frontend can be written using server-side rendering with htmx.
I use the nickname JavaCaptain only because it is easier to remember than my name.
What I Do
Software Development
From concept to completion, I bring your unique ideas to life as powerful digital solutions, improving efficiency and driving growth. Elevate your business with my specialized software development services.
Full Stack Development
Enhance your web presence with comprehensive full stack development. I provide end-to-end solutions, ensuring both the front-end and back-end work harmoniously. Customized to your specific requirements, my services guarantee performance and scalability. Partner with me to create cutting-edge digital applications.
Event Sourced Solutions
Unlock the power of event-sourced solutions with my specialized skills. I design and implement scalable, reliable systems that evolve seamlessly with your business needs. Harness the benefits of event-driven architecture for enhanced performance and flexibility. Let’s revolutionize your technology foundation together.
Software Design and Architecture
Microservices Architecture: Design and implement microservices-based architectures, promoting modularity and scalability.
Testimonials
I had the pleasure of working closely with Tomasz, as he was the technical lead for our OCPI integrations. Besides quickly becoming a subject-matter expert in a complex area, I found Tomasz to be very easy and pleasant to work with, even though we only collaborated together remotely. There were also many times when Tomasz went above and beyond to support and help developers from other companies with troubleshooting. Tomasz would be a major asset to any company that is searching for a fast learner, self-starter, and team contributor.
![Monta](https://javacaptain.com/wp-content/uploads/2024/08/puya.jpeg)
Puya Neda
Working with Tomasz was very pleasant experience. He is very calm and methodical during his work. Always trying to reach optimal solution but keeping in mind that sometimes choosing easier path might be more beneficial. Great developer, trying to always improve his skillset. Not only coder but also engineer who is interested in big picture and architecture. I must say that having Tomasz alongside during problem solving situation is a win.
![LeoVegas Group](https://javacaptain.com/wp-content/uploads/2024/08/kamil.jpeg)
Kamil Czyżnielewski
Tomasz is a strong programmer and architect with strong opinions on code quality and choosing the right tool for the job. Good focus on building in transparency in the systems so they can be operated in production. Helpful in helping others on the team.
![Monta](https://javacaptain.com/wp-content/uploads/2024/08/morten.jpeg)
Morten Andersen