Summary
Amin Oruji is a Java software developer with 11 years of experience designing and delivering enterprise-grade, event-driven and distributed systems, currently building payments at SnappPay. He specializes in microservices architecture, concurrent and transactional systems, and has hands-on experience applying DDD, TDD, SOLID principles and patterns to financial services. His track record includes implementing SAGA for distributed transactions, converting synchronous service communication to asynchronous for scalability, and resolving real-world payment duplication bugs via resource locking and optimistic locking. Amin has repeatedly simplified domain models—introducing hierarchical user/account structures and Hibernate abstractions—to reduce duplication and ease extensibility across markets. Based in Tehran, he brings deep payments and e-commerce domain expertise and a practical focus on reliability and scalability in production systems.
11 years of coding experience
11 years of employment as a software developer
Bachelor's degree Computer Software Engineering, Bachelor's degree Computer Software Engineering at Azad University (IAU)
ACCP Computer Software Engineering, ACCP Computer Software Engineering at APTECH Computer Education
Persian, English