Senior Software Engineer

  • Verint
  • Dec 20, 2022
Full time I.T. & Communications

Job Description

This is an exciting opportunity to join the Verint Cloud Platform development team to build challenging, high quality product features using the latest cloud technologies and techniques, which will serve our world-wide customer base.

The Sr. Software Engineer contributes to the design, development, and implementation of services on the Cloud Platform. The role utilizes proficiency and skills to work on projects. The engineer possesses experience with commonly used programming and design concepts, practices, and procedures and relies on pre-established guidelines to perform the functions of the position under minimal supervision. In addition, the role utilizes current experience and judgment to plan and accomplish goals.

Principal Duties and Essential Responsibilities

  • Designs, implements and tests complex software application/services/systems.
  • Responsible for mid-level designs and contributes to high-level designs.
  • Leads and participates in design reviews.
  • Provides effective communication with local and geographically distributed team members.
  • Participates in the testing process through TDD, test review and analysis, test execution, and certification of software.
  • Provides peer advisement to other Senior Software, Software and Associate Software Engineers, through code/design reviews and peer-programming efforts.
  • Interacts with Product Owner to ensure that specifications are satisfied.
  • Communicates design, reliability and maintenance problems to appropriate internal resources.
  • Responsible for debugging, troubleshooting and developing technical solutions in the form of software patches related to software errors.
  • Creates workaround solutions when product procedures have failed and ensures issues are resolved in a timely fashion.
  • Escalates urgent problems requiring more in-depth knowledge to appropriate internal resources. Escalates urgent issues to Engineering Management.

Job Metrics

  • The delivery of high quality product features to customers in a productive manner.
  • Development of product code within an agile process.
  • Design and automate tests whilst working with QA Engineers to create effective test plans.
  • Engage in some research of new technologies & architectures to improve product.
  • Work independently and with a remote peer group.
  • Contribute to daily stand-ups, sprint planning meetings and retrospectives.
  • Effective mentoring of guide junior staff.

Key tasks

Software Development

  • Designs and implements high quality, re-usable code. Ensure that code adheres to company software guidelines.
  • Employs TDD techniques and automate test cases & test harnesses to enhance quality of product functionality.
  • Incorporate Non-functional requirements into the design of the product features in order to deliver a high quality of service to customers.

Technical Innovation

  • Work on complex projects with some supervision and has latitude for judgment on own experience and expertise.
  • Assists less experienced peers.

Team collaboration with clear communication

  • Provide effective communication with distributed team members.
  • Escalate urgent issues to quality assurance and management.
  • Participate in Design and sprint planning reviews.

Process Adherence

  • Promote a cloud development ethos and culture
  • Follows Test Driven Development best practice
  • Development and management of automated build and deployment systems.
  • Contribute to or lead customer Support issue resolution and / or reviews.

Key interfaces

Internal

  • Development Manager
  • Software Developers
  • Architects
  • QA Engineers
  • Technical Writers
  • Support Engineers
  • DevOps and Cloud Operations

External

  • Partners
  • Customers
  • Vendors / 3 rd Party Suppliers

Key experience and Qualifications required

Summary:

  • Experience of developing software at scale for a minimum of 5 years is essential.
  • A solid understanding of Agile working practices and methodologies is essential with at least 2 years of experience.
  • Strong proficiency in Java programming of at least 5 years. And knowledge of various frameworks and open source libraries related to that stack.
  • Experience in Object Oriented analysis and design is essential.
  • The ability to demonstrate a working knowledge of and experience of cloud platforms such as Amazon AWS is essential.
  • Experience of developing micro services using spring boot is essential
  • Experience with deploying as docker containers is desirable.
  • Strong proficiency in either front end development technologies or developing REST based web services is desirable.
  • The ability to demonstrate experience in the automation of Software testing and build systems are essential.
  • Excellent analytical and problem-solving skills is essential
  • Ability to work both independently as well as in a dynamic, distributed team environment is essential.
  • The ability to demonstrate strong written and verbal communication skills is essential.
  • Ability to mentor less experienced developers is desirable

Industry specific:

Regarded as very knowledgeable/experienced in the following areas:

  • Experience of developing for a cloud platform such as AWS, Azure or Google cloud

Environment:

The ability to demonstrate Design and architect tasks within a delivery plan is essential.

  • The ability to work independently and within development teams in an agile manner is essential.
  • The ability to contribute to a cross-functional team in daily stand-ups, sprint planning meetings and retrospectives is essential.

The ability to work in a global environment and interface with remote groups is essential.

Location:

  • This role will be based in our Belfast office in the Titanic Quarter. Occasional travel to other Engineering sites may be required.

Specific Qualifications & Accreditations

Essential:

  • BSc in Computer Science, Information Technology, or Equivalent degree.

Desirable:

  • Any relevant Software Engineering Certifications.

Product/Technical:

Skills and experience in the following skill is essential:.

  • Cloud based development with Amazon Web Services or similar
  • Micro Services architecture.
  • Linux and/or Windows OS.
  • The Micro Services design pattern
  • REST API & SOAP API patterns
  • Linux and/or Windows

Skills and experience in one or more skills from the following list is essential:

  • Front end development technologies (JavaScript, HTML, CSS)
  • Developing/consuming REST based web services.
  • Use interface design and implementation which ideally incorporates Responsive Design, progressive enhancement, accessibility, localization and internationalization

Skills and experience in a two or more of the skills below is desired:

  • BDD principles with Cucumber.
  • TDD principles with either TestNG or Junit.
  • UI test Automation with Selenium.
  • Monitoring and Logging: ELK (Elasticsearch, Logstash, Kibana), Prometheus and Grafana.

Skills and experience in several of the skills below is desired:

  • Build tools such as Jenkins, Maven, as part of CICD pipelines.
  • Modern JavaScript frameworks such as React, or Angular.
  • Working knowledge of distributed source control solutions such as Git.
  • Packaging and Deployment Automation Docker, Amazon AMI, Kubernetes
  • Databases such as MS SQL / Oracle.

Professional/Task:

  • Experience in all phases of the software development life cycle is essential i.e. design, develop, test, support.
  • Experience working cross-functionally using an agile methodology, such as SCRUM is essential.
  • Experience of implementing Continuous Integration and Continuous Deployment/Delivery pipelines is desired.
  • Good problem-solving skills and troubleshooting skills that enable root cause analysis to be performed is essential.
  • Experience with estimating engineering effort, prioritizing tasks.