Software Architect
Summary
Designs and leads enterprise Java/Spring Boot microservices, messaging systems (Kafka, IBM MQ), and batch processing, ensuring scalable, secure solutions across relational and NoSQL databases.
Key Responsibilities:
• 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.
• 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.
Key Competencies:
• Solution Architecture & Technical Design
• Enterprise Application Architecture
• Java & Microservices
• System Integration
• Technical Leadership
• Problem Solving & Analytical Thinking
• Stakeholder Management
• Communication & Presentation Skills
• Technology Evaluation & Decision Making
• Team Collaboration