Summary:
Duties & Responsibilities:
Basic Qualifications:
· BS or MS in Computer Science, Computer Engineering, Software Engineering, or related field
· Excellent English-language written and verbal communication skills
· 10 or more years of software development experience, using an Agile methodology (e.g., SCRUM or Kanban), including design, development, and testing activities.
· Experience in developing complex commercial software products
· 10 or more years of software testing using Python and Java
· Experience developing applications using a containerized Microservices architecture
· Experience with Java microservice frameworks such as Spring Boot, Quarkus, Micronaut, Javalin
· Experience with designing, developing and using RESTful APIs supporting JSON or XML
· Experience developing automated unit tests
· Experience of working in a CI/CD software development pipeline
· Experience with version control systems (Bitbucket/Git preferred)
· Apache Maven / Gradle
· Experience working in a Linux environment (RHEL or Oracle Linux preferred)
· Relational databases (e.g., PostgreSQL)
. Linux and VMWare
Preferred Qualifications: Experience with some or all of the following:
· Swagger API framework
· Kubernetes and Docker
· Elasticsearch, Logstash, Kibana (ELK stack)
· Monitoring system performance with tools such as Prometheus and Grafana
· Apache Spark
· Cucumber automated tests
· JetBrains IntelliJ IDEA or other JetBrains tools
· Atlassian tool suite, including JIRA, Confluence, Bitbucket/Git, Bamboo
· Behavior-driven or test-driven development
· Deployment of applications in a cloud-hosted environment
· Python programming
Duties/Responsibilities:
· Work effectively and efficiently with others on the R&D team to develop a winning product roadmap
· Continue to expand, focus and leverage personal and team knowledge base and technical abilities in constant pursuit of developing a superior product
· Follow the Agile Product Development model to constantly optimize feature, time to market and project budget while maintaining an uncompromising high level of product quality
· Execute full software development life cycle (SDLC)
· Use Behavior-driven Development or Test-Driven Development to deliver well-designed, tested code
· Provide ongoing maintenance, support, and enhancements
· Develop automated software unit tests and integration tests
· Integrate software components into a fully functional software system
· Troubleshoot and debug existing systems
· Provide recommendations for continuous improvement
· Be an effective, contributing team member, improving technologies, and consistently applying best practices
Pre-Requisites / Skills / Experience Requirements: