Principal Software Engineer - .NET

We design, develop, and provide a technology platform for automotive dealership industry. We have a product suite of really cool software solutions for just about every department of our customer's business. 1/3 of all cars sold in the US and Canada are sold by companies using our products. We have software development teams in 4 states.

Here at the Draper, UT location we work on the CRM. The core of our product suite.

We offer:

Awesome products: analytics, marketing, finance, sales, service, customer experience, and data mining solutions

Advancement opportunities: DealerSocket is growing rapidly. We have made several strategic acquisitions in order to deliver even more services to our clients.


For a glimpse into our world:

Position Summary
Principal Software Engineers are responsible for software engineering activities as a member of a SCRUM team. They are expected to lead the
adoption and maintenance of best practices for software engineering while implementing solutions to engineering projects using cutting edge
technologies. They also mentor other engineers in those best practices through example, guidance and training. They have a proven track record
of successful team leadership and project implementation in a team setting.

Essential Duties:
Solve complex software engineering tasks
Troubleshoot and solve code level problems quickly and efficiently
Establish coding standards and best practices
Collaborate with members of a SCRUM team to ensure success (Product Owners, Engineers, QA, Designer)
Participate in all SCRUM related events such as Sprint Planning, Retrospectives and Backlog Grooming
Communicate effectively with team members, internal and external customers
Establish User Personas in collaboration with Product Management
Facilitate the decomposition of business requirements into Use Cases and Acceptance Criteria
Perform risk analysis on each work item completed by a SCRUM Team
Coordinate and participate in risk-based regression testing for a SCRUM Team
Participate in Deployment Testing exercises as needed
Comfortable working with no supervision and providing supervision to engineers
Mentor and train other Software Engineers
May be asked to participate in Quarterly Architecture Summits
Take the lead on challenging software engineering projects
Be a resource for multiple challenging software engineering projects at a time
Coordinate with external teams / stakeholders
Is a positive influence to unite teams to achieve success – has a “Can do” attitude
Maintain a holistic view of the project, never losing sight of the smaller details



Bachelor’s Degree in Computer Science or equivalent experience and knowledge


8+ Years Software Engineering
Engineering and Implementing enterprise level software applications
Leading engineering teams
Track record of successfully deploying enterprise quality solutions


Skills & Expertise (Advanced Level):



 JavaScript (Angular and/or React JavaScript libraries), jQuery, Bootstrap

HTML5 and CSS3
LINQ, Generics, Lambda expressions, extension methods, attributes
ORM Frameworks (Entity Framework, NHibernate)
IoC containers e.g. Autofac, Unity, MEF, Ninject
Web Services and serialization, XML, JSON, SOAP, WCF, REST
Design patterns and object-oriented programing
SQL Server and the SQL language
Memory management, performance tuning and profiling
Threading, async patterns and TPL/TAP plus .NET thread safe collections
SCM including branching and merging
Basic networking and infrastructure

Desired soft skills:

Accuracy and attention to detail
Professional demeanor
Works effectively in a team setting
Works efficiently across distributed teams
Aptitude for learning new technologies and concepts
Excellent time management skills and ability to prioritize
Manage several activities in parallel
Strong verbal and written communication skills
Strong organizational skills
Able to translate customer and business needs to technical solutions
Resilient to change

Apply Now Copy Link