freehire launches on Product Hunt on 26 August.

Follow →

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

See also

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available