We are looking for a Solution Architect responsible for building Java applications. This includes anything between complex groups of back-end services and their client-end (desktop and mobile) counterparts. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and product quality is essential.
Responsibilities
Senior professional with 13+ years of experience.
Translate application storyboards and use cases into functional applications.
Design, build, and maintain efficient, reusable, and reliable Java code.
Ensure the best possible performance, quality, and responsiveness of the applications.
Identify bottlenecks and bugs, and devise solutions to these problems.
Help maintain code quality, organization, and automatization.
Managing team and successfully delivering the project.
Skills
Working experience in an agile software development environment with a good understanding of the principles of agile architecture. Strong collaborative mindset for collective decentralized decision making.
Demonstrate strong technical skills with a deep understanding of modern architectural styles and practices such as Microservices, Containers, AWS Cloud (good to have Azure), APIs, Continuous Delivery, Event-driven architecture, and Evolutionary architecture, with a passion for hands-on coding.
Strong foundational knowledge of software architecture concepts, patterns, principles, and quality attributes. Ability to consistently apply them in real-world scenarios with a pragmatic, system thinking, and problem-solving mindset by analyzing architecture trade-offs for delivering high-quality, sustainable solution architecture.
Proven leadership skills with a proactive, positive, and growth mindset. Ability to foster and motivate programmers for delivering with craftsmanship. Good personal skills to continuously engage and communicate with an egoless empathetic mindset.
Experience and expertise in delivering architectures for large software solutions meeting critical business purposes. Ability to proactively discover technical debts and continuous improvement opportunities of existing live systems. Work closely with the product owner and enterprise architects to influence and prioritize technical backlog items.
Proficient in Java & Java EE, with a good knowledge of its ecosystems and skill to write reusable components/Java libraries.
Deep familiarity with cloud platforms such as AWS (mandatory), Azure (good to have), or Google (good to have).
Work experience in Spring Boot 2.x, Spring Cloud, Angular > 6 / React JS, and knowledge on Node JS.
Familiarity with concepts of Generative AI, LLM, OOPS, MVC, JDBC, and RESTful. Experience with WSDL, XML, XSD, JSON, and Swagger Open API specification.
Experience in NoSQL (AWS DynamoDB preferable) and RDBMS DB (Oracle, PostgreSQL), In-memory Database. Should be able to write complex SQL queries / procedures and functions.
Design & create database schemas that represent and support business processes.
Work experience in Spring framework (Spring Core / Spring Batch / AOP / Spring Data / Spring JDBC / Spring Boot), Hibernate ORM. And working experience in Spring Security and OAuth2 implementation.
Experience with messaging technology like JMS, Active MQ, IBM MQ, and experience with Apache Kafka.
Good to have experience in container-based architecture Kubernetes, Docker, CI/CD like Jenkins and GitLab CI/CD.
Implementing automated testing platforms and unit tests.
Proficient understanding of code versioning tools, such as RTC, GIT.
Familiarity with build tools such as Ant, Maven, and Gradle.