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 activities such as time and work 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
Ability to manage multiple priorities and parallel projects with strong organizational, time management, and project leadership skills
Ability to lead small teams virtually
Experience with REST API/microservice applications: Java, Spring Boot, Spring Cloud, junit
Experience with SQL/NoSQL databases: PostgreSQL, SQL Server, MongoDB, DynamoDB
Experience with ETL and data warehouse
Experience with database query optimization and performance troubleshooting
Experience with GIT
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 with software automation tools such as Selenium.
Experience working in both legacy and greenfield codebases.
Experience writing clean, readable and maintainable code.
Knowledge of software performance testing and profiling tools
Experience with version control systems e.g. GitHub
Advanced knowledge of an IDE e.g., Eclipse, IntelliJ IDEA
Experience with 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, GCP
Experience with Application Performance Management systems: NewRelic, AppDynamics, ELK