Let me introduce myself
My passion is creating ideal software. Just kidding – ideal software doesn’t exist.
I work as a Technical and Team Lead. My responsibilities include:
- Developing a deep understanding of the software domain.
- Engaging with clients to analyze domain challenges, gather requirements, and understand the reasoning behind new features or system enhancements.
- Translating vague client requirements into well-defined use cases.
- Designing and refining system architecture to address the collected use cases, working closely with my team through brainstorming and collaborative decision-making.
- Establishing project guidelines to ensure consistency, maintainability, and clarity in the codebase.
- Mentoring developers to follow best practices, helping them understand the rationale behind architectural decisions, and discussing improvements while supporting them with any challenges they encounter.

Knowledge of tech stack
It is essential to understand how a technology works, the reasoning behind its design, and the appropriate scenarios for its use. These are fundamental concepts that every developer, regardless of experience level, should be familiar with.
My tech stack includes:
- Java
- Spring
- Hibernate
- Build tools (Maven, Gradle)
- Docker and Kubernetes
- Apache kafka
- SQL
- GIT
- Google Cloud Platform
Design Skills
From a system design and best practices standpoint, things become more complex, as there is no one-size-fits-all solution. However, it is crucial to be familiar with various problem-solving approaches and know how to apply them effectively in real projects.
Here are some key aspects I consider important:
- SOLID principles
- Design patterns
- Refactoring best practices
- Domain Driven Design
- Ports and adapters architecture
- Microservices / Monolith architecture and patterns related to those architectures
- Test pyramid and ideas on how to properly test your code, etc.
Contact me
If you’re a developer looking to boost your career and learn from my expertise, or a company in need of a consultant to tackle complex challenges, feel free to reach out. I also offer training sessions for company employees, helping teams improve their technical skills and best practices. You can explore the services I offer for individuals here. If you represent a company, feel free to reach me out with your specific needs.