Contract Software Engineer

Vivint.SmartHome

  • Lehi, UT
  • Permanent
  • Full-time
  • 1 month ago
Job Description

We are searching for an experienced, enthusiastic, and innovative Senior Software Engineer. Working closely with Technology Team members, project managers, and business partners, this individual will provide technical leadership for design, development, implementation, and support of software solutions and systems integrations, primarily supporting Finance and Billing-related systems.

This person should be able to work on their own while at the same time being able to collaborate on a daily basis with other developers, QA Engineers, project managers, and business partners. While not at the office we communicate via chat, phone and video conferencing throughout the workday.

JOB RESPONSIBILITIES:
  • Maintain and improve current .NET Core C# applications (backend REST Microservices)
  • Design and engineer scalable, reliable, secure software solutions to solve complex business opportunities
  • Identify system performance, stability, and security deficiencies and design appropriate solutions
  • Help develop team standards and best practices that promote quality, consistency, and maintainability
  • Participate in architectural oversight committees to review and improve proposed solutions
  • Understand business goals, market trends, and technology advancements to anticipate change
  • Develop and maintain accurate and detailed process flows, diagrams, and technical specs
  • Contribute ~20% of time to production support, production operations, and other systems support activities including participating in on-call schedules and rotations
  • Collaborate and communicate with team members, project managers, and internal customers
  • Attend regular planning meetings, daily stand-ups, design reviews, quality assurance reviews, etc.
REQUIRED SKILLS:
  • 7+ years of software engineering experience using .NET/C#
  • Mastery of data types, algorithms, object-oriented programming
  • Experience working with REST services
  • LINQ / SQL experience and knowledge
  • Dependency Injection
  • Strong desire to do Unit Testing first (TDD)
  • Demonstrated problem solving ability
  • Ability to work on multiple tasks and deliver results with aggressive timelines (Weekly deployments)
  • Agile methodology experience
  • Excellent communication skills
  • Bachelor's Degree in Computer Science, Software Engineering, Information Systems, or equivalent
  • Not afraid to make changes to large applications Preferred (But not required): If you don’t have these, at least a willingness to learn while working on them:
  • Exposure to .NET Core, we use .NET Core 2.2 and moving towards 3.1
  • Microservice architectures
  • Domain Driven Design (DDD)
  • Experience with LINQ2DB, Entity Framework, RabbitMQ, NoSQL, Redis, Cosmos DB
  • Docker Containers, JIRA, Splunk
  • Architecture and engineering experience with billing, payment processing, and/or financial systems
  • Experience with continuous integration and automated deployment
  • Peer programming
  • Ready to learn new tech as soon as it is ready for use, we try to stay away from outdated technology. Experience with these models and processes: Source Control & Release Management, Circuit Breaker Patterns, Web Services, Windows Services, Console Apps, Relational and DocumentBased Databases
If you are an active Vivint employee, please apply through Workday by searching "Find Jobs".

Vivint