Responsible for the overall delivery process of a software application or service, including design, development, testing, deployment, production application support (e.g., troubleshooting)and maintenance with a focus on automation. Lead and mentor a team of software engineers in designing, developing, and maintaining software solutions. Utilize Java, Kafka, Camunda, and Kubernetes to develop high-quality software. Leverage Docker and Cloud Computing technologies to create scalable and efficient software solutions. Use scripting languages to automate tasks and enhance the functionality of our software solutions. Implement automated testing frameworks including Junit and Katalon to ensure the quality and reliability of our software. Contribute to all phases of the development lifecycle by ensuring that best practices are followed. Manage the end-to-end requirements process by using tools to define the set of processes and approach for each project, and handle issue resolution. Conduct peer reviews and assess the impact and opportunity of new technologies to enable new capabilities. Oversee the successful development and execution of software modules by using new and emerging products, technologies, and applications. Participate across the project lifecycle to ensure requirements are met to stakeholder specifications. Analyze data and reports to understand business problems and validate solutions once they are live. Perform technical analysis for new features and technical projects. Write technical documentation including architecture diagrams and sequence diagrams. Act as team lead as needed to provide leadership to less experienced professionals. Apply knowledge of J2EE. Apply scripting skills. Utilize Spring, SpringBoot, Maven, SQL database, and No SQL Databases. Designing and developing microservices using Spring Boot. Implementing inter-service communication using REST or messaging systems like Kafka. Managing application cache using Redis Cache for better performance of applications. Integrating Micro Services with databases like Cassandra, Solr, Cosmos, PostgreSQL and Oracle using Spring Data JPA, JDBC for persisting user data in secured manner. Build Camunda workflows to process orders in the required sequence. Implementing partitioning strategies, indexing policies, optimizing query performance, and managing request units (RUs) for Cosmos. Developing search functionalities using Solr query syntax, implementing faceted search, filtering, and sorting. Managing authentication and authorization of user login using roles and groups. Ensuring compliance with security standards and best practices by encrypting data within all the application transits and storage. Containerize applications using Docker for consistent deployment across different environments like Dev, QA, UAT and Production with Environment specific configurations. Manage container orchestration using Kubernetes for scalability, reliability, and security of Containerized Microservices, to handle High volume of transactions. Setting up monitoring and alerting for application performance, health, and any alerts for any possible critical errors. Using tools like ELK stack and Dynatrace for logging and monitoring. Managing external configurations using azure app config. Using Profiling tools for optimizing application performance. Designing and modeling business processes using BPMN (Business Process Model and Notation) services. Creating and maintaining process diagrams in Camunda Modeler. Implementing process logic using Java, JavaScript. Writing unit tests using JUnit and Mockito. Ensuring high test coverage. Participating in code reviews and providing constructive feedback. Documenting application designs, configurations, and best practices.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level