Lead the design and architecture of end-to-end enterprise software solutions.
Analyse business requirements and translate them into scalable and effective technical solutions.
Define solution architecture, integration patterns, technology frameworks, and technical standards.
Provide technical leadership and guidance to software development and engineering teams.
Design and review Java, Spring Boot, and Microservices-based applications.
Design enterprise integration and messaging solutions using technologies such as IBM MQ, Kafka, Solace, JMS, Apache Camel, Spring Integration, and Spring Cloud Stream.
Design and support batch processing solutions using Spring Batch and Spring Boot Batch.
Develop and review API, service integration, and event-driven architecture designs.
Work with relational and NoSQL databases, including MS SQL, Oracle, IBM DB2, and Cassandra.
Ensure solutions meet requirements for scalability, performance, availability, security, and maintainability.
Provide architectural guidance on authentication and authorisation solutions, including OAuth 2.0.
Work closely with development, infrastructure, DevOps, and project teams throughout the software development lifecycle.
Review technical designs and implementation approaches to ensure compliance with architectural standards and best practices.
Identify technical risks, dependencies, performance issues, and potential bottlenecks, and recommend appropriate solutions.
Conduct architecture reviews, technical workshops, proof-of-concepts, and solution discussions with relevant stakeholders.
Prepare and maintain solution architecture documents, technical specifications, system diagrams, and integration designs.
Support troubleshooting and performance optimisation of enterprise applications where required.
Evaluate emerging technologies and recommend appropriate solutions to improve system capabilities and efficiency.
Technical Skills
Core Technologies
Java / JDK 11
Spring Framework
Spring Boot
Spring Boot Microservices
Spring Batch / Spring Boot Batch
Spring Integration
Spring Cloud Stream
Hibernate / JPA
JMS
OAuth 2.0
Integration & Messaging
IBM MQ
Apache Kafka
Solace
Apache Camel
Zookeeper
Enterprise integration patterns
File processing
SAX / StAX Parser
Dozer Mapper
JiBX Model Mapper
Hazelcast
Netflix Components
Database Technologies
MS SQL
Oracle
IBM DB2
Cassandra
Monitoring & Logging
ELK Stack
Additional / Legacy Technologies
HTML
JavaScript
VBScript
C#.NET
VB.NET
WCF
ASP.NET
Windows Services
Crystal Reports
Requirements
Bachelor's degree in Computer Science, Information Technology, Software Engineering, or a related discipline.
At least 8+ years of relevant experience in software development, technical architecture, solution architecture, or enterprise application development.
Strong hands-on experience in Java and Spring-based enterprise application development.
Proven experience designing and implementing Microservices and Spring Boot solutions.
Strong understanding of enterprise integration, messaging, and distributed systems.
Experience working with multiple relational and NoSQL database platforms.
Strong knowledge of software architecture principles, design patterns, API design, and integration methodologies.
Experience working with large-scale, complex, or high-volume enterprise applications.
Strong analytical, problem-solving, and decision-making skills.
Excellent communication and stakeholder management abilities.
Ability to provide technical leadership and work collaboratively with cross-functional teams.
Experience in Agile/Scrum development environments will be an advantage.
Preferred Skills
Experience designing event-driven and distributed architectures.
Experience with high-volume transaction processing systems.
Exposure to cloud platforms and DevOps practices.
Experience in application modernisation, system migration, or legacy system transformation.
Experience working with enterprise-level clients and complex technology environments.
Ability to assess existing systems and recommend improvements, optimisation, or technology modernisation.