Applied R&D Software Engineers research, architect, design, develop, and test software for our products, services, systems and tools. They define, create, integrate, verify and modify SW/system components and utilize innovative solutions to meet customer requirements and specifications. They apply principles and techniques of computer science, engineering, and mathematical analysis.
Mandatory skills:
Bachelor of Engineering Degree and minimum 8 years’ experience Hands on experience in developing applications using Java/Spring, Hibernate, J2EE, Javascript/ReactJS, Postgres & MariaDB, SQL, Microservices and REST API. Expert in containerization (Docker, Kubernetes), cloud native architecture Software Delivery technical skills such as CI/CD, Automated Deployments, Automated Testing, Build Servers, Software / Source Code Configuration Management. Platform automation tools (DB Management, Jenkins, GITHUB) Workflow tools such as JIRA desirable Experience in component design and development based on cloud native principles and leading development of Microservices Experience with shell and groovy-scripting. Write well designed & high-quality testable code Integrate software components into fully functional platform Language: Java, Spring boot REST services and API's usage and design (JSON, REST, Swagger) Logging and Analysis: EFK stack (Elastic Search, FluentD, Kibana) Worked on Database: Experience on any of SQL/No SQL DB Automation/CI/CD experience: Jenkins, GIT Message Broker like Kafka/RabbitMQ Monitoring and Alerting: Prometheus, Grafana
Other skills:
Experience with C, shell / Python and Ansible Agile, DevOps, Scrum, Kanban Methodologies Exposure to Streaming TechnologiesLead & perform development activities of high complexity features. Lead technically and support a small team / multiple features in the completion of a project/stream. Lead technical discussions with peers about enhancements/improvements in own area(s) of expertise. Create parts of architecture (small/basic) with focus on performance & scale. Drive non-functional requirements within team. Effectively handles complex customer issues. Improves the code base with the outcome measurable product behavior. Owns complex features and ensure delivery completion with quality.
Other responsibilities: