Job
Description
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
10-12 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, Cloud ( AWS, Azure), APIs, Continuous Delivery,
Event-driven architecture, Evolutionary architecture, etc., with a passion for
hands on coding.
·
Strong foundation
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, Azure or Google.
·
Work experience in Spring
boot 2.x , Spring cloud, Angular > 6 /React JS and knowledge on Node JS.
·
Familiarity with concepts
of OOPS, MVC, JDBC, and RESTful and Experience with WSDL, XML, XSD, JSON and
Swagger Open API specification.
·
Experience in NoSQL
(Mongo preferable) and RDBMS DB (Oracle,
PostgreSQL). Should be able to write complex SQL queries / procedure and
functions.
·
Design & Creating
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.