Summary:
Plans, designs, develops and tests software systems or applications for software enhancements and new products including cloud-based or internet-related tools. Most companies should be able to match to a specific software development engineer position. Use this position if company does not breakout software development positions such as Software Engineer (Applications) (5141-5146) or Software Engineer (Systems) (5161-5166).
Duties & Responsibilities:
BasicQualifications:- BS or MS in Computer Science, Computer Engineering, Software Engineering, or related field
- Excellent English-language written and verbal communication skills
- 2+ 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
- 2+ years of experience developing single page application (SPA) web applications using HTML5, CSS2/CSS3, and JavaScript
- 2+ years of experience using Angular with TypeScript and/or AngularJS , NGRx, Cypress
- Experience with addressing cross-browser compatibility issues
- Experience with version control systems (Bitbucket/Git preferred)
- Experience developing automated unit tests
PreferredQualifications: Experience with some or all of the following:
- UI libraries incluBding Mapbox, Leaflet, and Highsoft Highcharts
- Tools such as Node Package Manager (npm), Bower package manager, and Grunt task runner
- JetBrains WebStorm or other JetBrains tools
- Atlassian tool suite, including JIRA, Confluence, Bitbucket/Git, Bamboo
- JFrog Artifactory artifact manager
- Linux backend environment (RHEL or Oracle Linux preferred)
- Development of UI for applications using a Microservices (preferred) or Web Services architecture
- Design, development or use of RESTful APIs supporting JSON or XML in a Java environment
- Experience with Elasticsearch, Logstash, Kibana (ELK stack)
- Deployment of applications in a Kubernetes container environment (Docker, Helm charts)
- Behavior-driven or test-driven development
Additional Job Description
Duties/Responsibilities:- Work effectively and efficiently with others on the R&D development 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
- Develop new user-facing features, following established UI/UX design guidelines
- 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:
Angular, NgRx, NodeJS, JavaScript,TypeScript,Cypress,Linux,Docker,Kubernetes