Software Engineer II
Responsibilities:
- Active participation in various scrum ceremonies such as Story grooming, sprint planning sessions etc., and contribute towards identifying technical risks, alternate solutions to various problems etc.
- Plans, participates and performs the technical work of an assignment.
- Contributes to the implementation, automated unit and integration testing, code reviews, debugging and integration of code of extreme complexity across multiple concurrent projects.
- Is authentic, transparent, holding self accountable. Collaborates with others
- Is willing to ask difficult questions and take risks. Greets challenge and change as opportunity
- A highly motivated fast learner who can self-start and "figure out what needs figuring out”
- Good verbal and written communication skills. Ability to effectively document artifacts and processes then explain them to others.
- Perform proof of concept on new technologies and software on demand.
Requirement:
- Bachelor in CS or Engineering with 3+ years of experience or Master in CS or Engineering with 1+ years of experience.
- Mandatory Skills, Knowledge and Experience :
- Minimum 2 years' experience in Web Application Development using Java/J2EE related technologies, Expertise in OOAD principles and methodologies
- Good experience in Java application development frameworks and technologies: i.e. Apache tomcat, Spring and JSON/XML/Ajax
- Minimum 2 years' experience in developing Java/JEE based web applications based on micro-services architecture (REST APIs, using Spring Boot, )
- Proficient in programming disciplines like object-oriented principles, design patterns, data structures and unit testing (TDD using junit).
- Experience in managing and developing OSGI bundles
- Experience in development under Linux environments.
- Experience with Cloud computing using AWS such as S3, DynamoDB, SNS, SES, EC2
- Experience with databases (Postgres/MySQL/NoSQL DB), persistence frameworks, and SQL.
- Knowledge in handling complex data structures and well versed in developing multithreading applications.
- Minimum 1 year experience with GitHub, Docker, CI/CD frameworks (Jenkins)
- Minimum 2 years' experience using Scrum based software development methodologies
- Experience, instincts, and enthusiasm around testing, testability, and automation
- Excellent verbal and written communication skills. Ability to effectively document artifacts and processes then explain them to others
- Proficient in development under Linux environments.
- Experience with different communication protocols like MQTT, OPC_UA, Serial, SiLA2
- Experience with any public Cloud IoT service.
- Development experience with Python, JavaScript, Ajax, Bootstrap, HTML 5, CSS and Angular JS is a plus
- Experience with development on one or more mobile platforms a plus.
- Experience with Kubernetes is a plus.