Sr. Software Engineer

Sorenson Communications Salt Lake City, UT

Sorenson Communications, a provider of industry-leading communication offerings with an emphasis on products and services for the deaf and hard-of-hearing, is seeking a full-stack senior software engineer to join our brilliant and friendly interdepartmental team to produce best-in-class Next Generation Workforce Engagement software product. This is an opportunity to join a great team in a rewarding, impassioned, and highly collaborative organization.

Qualified candidates must

* Love learning new things and finding creative solutions to unique situations

* Communicate clearly, think on your feet, and enjoy solving problems

* Be motivated and driven, enjoy helping and working with people

* Maintain a positive attitude, foster positive energy on the team, and stay cool under pressure

* Cultivate positive relationships with other groups, including Quality Assurance, Product Management, Operations, Information Systems, Marketing, and Outreach

* Participate in and take ownership of the software development process and software lifecycle

* Adhere to engineering best practices to develop high quality products

* Create secure, high-performance enterprise solutions

* Positively contribute to a challenging, rewarding, and fun environment

Essential Duties and Responsibilities

* Assist in establishing and maintaining best practices for the software engineering team

* Find innovate ways to rapidly promote, prototype, and bring solutions to decision makers

* Promote rapid application development tools and technologies

* Provide technical and team leadership in the design, implementation, and testing of .NET based web applications, services, and API's

* Provide oversight, guidance, and coaching of best practices with JavaScript, C#, .NET web API's, service, and application development to junior developers.

* Provide aggressive, attainable goals and time frames

* Drive standards based architectures and supporting services

* Follow engineering best practices writing automated unit, component, and feature level testing

* Support production environments by participating in deployments and by responding quickly to escalated issues, understanding that some of these events may happen during non-work hours (e.g. weekends, holidays, or overnight)

* Interface with other departments to communicate requirements, designs, testing, or other requisite topics

* Clearly communicate personal progress on development or other tasks

* Design, develop, and/or employ tools for automatically evaluating product quality, system performance and scalability

* Develop formalized documentation for feature development and Application Programmer Interfaces

* Document application metrics and logs, and develop tools for monitoring applications in production environments

* Positively contribute to a challenging, rewarding, and fun environment

* Maintain a positive attitude, and foster positive energy in the team

* Other duties as assigned by management

Qualifications, Education and/or Experience

* BS degree in CS, EE, or equivalent with excellent grades

* Professional experience using SQL or TSQL

* ASP.NET development experience -- Web Forms or MVC

* Knowledge of scheduling systems

* Excellent software design and problem analysis skills

* Ability to quickly learn new technologies and concepts

* Must be able to communicate technical concepts to non-technical people

* Must communicate effectively using written English, and either spoken English or ASL

* 5+ years of experience in Software Development using object-oriented languages such as C# or Java

Bonus experience

* Experience porting conventional web applications to microservies

* Familiarity with Docker, Angular 2+, React, Node, Express, Python, Mongo DB, SQL Server 2014+, and related technologies a big plus

* Development experience with .NET Core 2

* Development experience with mobile technologies (React Native or the like) on iOS, Android, and Microsoft mobile devices

* Development experience of scheduling systems

* Prior experience developing database solutions with Microsoft SQL Server

* Professional experience building high performance and highly available systems

* Prior experience optimizing queries and use of SQL Server tools such as execution plans, SQL profiler, and/or extended events

* An excellent working knowledge of Service-Oriented Architectures, Web Services, distributed systems, and related technologies

* Experience with GIT, Octopus Deploy, and Team City

Other General Requirements/Additional Notes

* Must be able to effectively communicate using written English, and either spoken English or ASL

* Must be able to effectively participate in and lead technical discussions with team members and other teams

* Positive attitude, team player, good interpersonal communication skills and able to work across company departments.

* Demonstrated ability to manage small to medium sized projects

* Dexterity of hands and fingers to operate a computer keyboard, mouse, power tools, and to handle other computer components

* Must be able to work at a computer for a full workday

* Sitting for extended periods of time

* Lifting and transporting of m