Java 8 + Azure/AWS + MSB We are looking for a Technology Lead responsible for managing the Development team. 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 and Serverless architecture and Cloud Native solutions.
Work experience in front-end technology like Angular/React/Vue/Flutter and knowledge on Node JS.
Familiarity with concepts of OOPS, MVC, JDBC, and RESTful and Experience with JSON and Swagger Open API specification, microservices orchestration (choreography, orchestration, and state machines), service mesh, authentication, and authorization (IdP and OAuth2), testing patterns and automation, app reliability (Monitoring, Logging, and Observability).
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/ Spring Reactive), 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.
Experience and expertise in container-based architecture - Kubernetes, docker, CI/CD like Jenkins and Gitlab CI/CD.
Proficient understanding of code versioning tools, such as Azure Repo, Bitbucket, Git, GitLab etc.
Familiarity with build tools such as Ant, Maven, and Gradle.