Ongoing evaluation (test) of feature design – proactively work with others to identify issues or potential risk areas with the architecture (performance etc.)
Distill requirements from feature level into implementation level tasks
Develop features using best practices and ensure it fits with the architecture for the product
Ensure the right work is being done, work with Team Lead to know that product qualities like, unit tests, automation, throughput, capacities, security & performance will be sufficient
Ensure design and implementation work meets the stakeholder’s requirements
Ensure that the feature design is correct for operations, as well as deployment and sustainability
Support departmental and team initiatives
Work with Team Technical Architect and Lead to define, document, and communicate coherent feature design
Communicate relevant risks and issues to Team Lead and other relevant team members inside and/or outside the team
Provide technical leadership to less experienced members of the team – mentor, coach, continuous improvement
Take responsibility for technical implementation and decision making including the delivery of features
Identify, monitor and resolve feature related issues; escalate if individual resolution is not possible
Review documentation and guides created by more junior members of the team
Guide Software Engineers on how to create sufficient, complete documentation and guides that help onboard new people to the team
Maintain communication with stakeholders and ensure changes to any previously agreed solutions are communicated; understand evolutionary paths
Work with assigned partners to ensure an effective and productive relationship, both within the product house and the wider regional Verint support organization.
Prioritize and resolve technical problems and assist others with the same
Ensure the prioritization of scope (including defects) is understood
Understand the development process and suggest improvements to it
Identify areas of technical risk in a feature and options to de-risk
Support opportunities to address technical debt as part of a release
Support the design process and ensure it complies with product architecture
Support planning as regards estimates, dependencies, risk areas, and sequencing tasks
Minimum Requirements:
Bachelor’s degree in computer science, Engineering or related field
5 years experience in design and programming large scale applications through all phases of the software development life cycle including testing, implementation and auditing
Experience with REST API/microservice applications: Java, Spring Boot, Spring Cloud, junit
Experience with databases: PostgreSQL, SQL Server,
Ability to take ownership of assignments and drive to resolution
Ability to work in a fast-paced, high-energy environment
Knowledge of behavior driven development practices using technologies such as Cucumber
Experience of software automation tools such as Selenium
Experience of writing clean, readable and maintainable code
Knowledge of software performance testing and profiling tools
Experience of version control systems e.g. GitHub
Advanced knowledge of an IDE e.g., Eclipse, IntelliJ IDEA
Experience of continuous integration systems e.g. Jenkins, Harness
Successful completion of a background screening process including, but not limited to, employment verifications, criminal search, OFAC, SS Verification, as well as credit and drug screening, where applicable and in accordance with federal and local regulations
Preferred Requirements:
Experience with containerized runtime environments: Docker, Kubernetes
Experience with Cloud hosting services: AWS, Azure
Experience with Application Performance Management systems: NewRelic, AppDynamics, ELK