Sr. Software Engineer

Next IT, a Verint company, has an immediate need for a Sr. Software Engineer to work out of our Spokane Valley, WA office.  The Sr. Software Engineer contributes to the design, development, and implementation of the Alme Cognitive Integration Platform that interfaces with various other system components to expose functionality and data through APIs. Utilizes proficiency and highly developed skills to work on complex projects. Possesses experience with commonly used concepts, practices, and procedures. Relies on pre-established guidelines to perform the functions of the position under occasional supervision. Utilizes current experience and judgment to plan and accomplish goals. 

Principal Duties and Essential Responsibilities:

• Designs, implements and tests complex software applications.

• Responsible for mid-level designs and contributes to high-level designs.

• Leads and participates in Design Reviews.

• Provides effective communication with geographically distributed team members.

• Supports and/or installs software applications/operating systems.

• Participates in the testing process through test review and analysis, test execution, and certification of software.

• Escalates urgent issues to Engineering Management.

• Can provide peer advisement to other Senior Software, Software and Associate Software Engineers, through code/design reviews and peer-programming efforts.

• May interact with Business Analyst to ensure that specifications are satisfied.

• Communicates design, reliability and maintenance problems to appropriate internal resources.

• A Senior Software Engineer may function in a Support Role with the following added responsibilities: 

• Responsible for debugging, troubleshooting and developing technical solutions in the form of software patches related to software and setup 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.

Minimum Requirements:

• BS in Computer Science, Software Engineering or other related degree or an equivalent combination of education and experience

• 5+ years of software development experience.

• 5+ years C# programming experience

• 5+ years of front end development technologies (JavaScript, HTML, CSS)

• Experience developing/consuming REST based web services 

• Experience in fault-tolerant or highly available, distributed systems.

• Familiarity with standard concepts, practices, and procedures within software design and development.

• Experience in Object Oriented analysis and design.

• Successful completion of Verint’s background screening process including, but not limited to, employment verifications, criminal search, OFAC, and SS verification; and successful completion of a credit check for travel related roles.

Preferred Requirements:

• Experience in real-time or high-performance computing (primarily on Windows server platforms).

• Cloud based development experience with Amazon Web Services or similar preferred

• Experience with build tools such as Gradle, Maven, and Jenkins is a plus 

• Experience with leveraging JavaScript libraries as well as using package managers like NPM.

• Working knowledge of distributed source control solutions such as Git and TFS

• Relies on limited experience and judgment to accomplish goals.

• Ability to learn third party documentation while designing and writing code based on this documentation as a sole source of information.

• Ability to work both independently as well as in a dynamic, distributed team environment.

• A certain degree of creativity and latitude is required.

• Ability to adhere to strict delivery schedules and successfully manage multiple projects simultaneously.

• Exceptional analytical and problem-solving skills.

• Strong time management, written and verbal communication skills

• Exceptional attention to detail

• Experience with larger-scale software development projects is a plus.

• Knowledge of various Software Development Methodologies (particularly Agile) and experience in all stages of the software development lifecycle is a plus. 

• General understanding and proven real world design experience with operating system fundamentals (multi-processing, multi-threading, inter-process communication, disk I/O, network I/O, memory allocation, etc.).