Position: Senior Software Engineer
Location: St. Louis, MO ***Day 1 Onsite***
Note: Local profiles will be preferred
Nice to have : Security Fundamentals – SSH, File Transfer Protocol – SFTP, exposure to reactive system and Microservices.
Job description:
Must haves-
· Has ability to write secure code in Java language
· Understands and implements standard branching (e.g., Gitflow) and peer review practices. Move the team towards trunk based development
· Has skills in test driven and behavior driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality. Ability to keep the full testing pyramid healthy - Has skills to author test code with lots of smaller tests followed by few contract tests at service level and fewer journey tests at the integration level
· Able to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors
· Understands the use of basic design patterns (e.g., factory, adaptor, singleton, composite, observer, strategy, inversion of control)
· Understands and implements Application Programming Interface (API) standards and cataloging to drive API/service adoption and commercialization and effort estimation
· Experienced in agile and modern SDLC practices (Scrum/Kanban/Continuous Delivery/DevOps/Quality engineering) and the delivery situations they are used for
· Experience in Continuous Integration (CI) and Delivery (CD) concepts, and capabilities to support automation, pipelines, virtualization, and containerization
Nice to have-
· Familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability management
· Infrastructure as code and cloud first software development knowledge experience preferred.
· Has ability to write code (in languages such as Java, Python, Ruby, Bash, Perl, Groovy) to build automation tasks that are repeatable and efficient
· Apply tools (e.g., Sonar, Zally, Checkmarx ) and techniques to scan and measure code quality and anti-patterns as part of development activity
· Understands use cases for advanced design patterns (e.g., service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from the gang of four) to implement efficient code
Any Graduate