Principal Software Engineer

Principal Software Engineer II - .NET/C#

The Company
DealerSocket is a leading provider of software for the automotive industry. Our mission is to drive the future of automotive, by simplifying the experience for its customers and partners with a suite of seamlessly integrated products. DealerSocket’s suite of products includes advanced Customer Relationship Management (CRM), innovative Digital Marketing and Websites, robust Vehicle Inventory Management, insightful Analytics Reporting, and solutions to streamline dealer operations such as Desking, Credit Reporting, Compliance, and a Dealer Management System (DMS) for dealers of all sizes. To put it simply: we help dealers sell and service vehicles more profitably, while improving their customers’ experience. The DealerSocket Team is more than 1,000 employees strong, serving nearly 8,000 dealerships.  We hire the best and brightest employees with offices in Dallas Texas (HQ), Southern California, Utah, Wisconsin, Kaliningrad RU, and Bangalore, India.  Visit careers.dealersocket.com to learn more about how you can join our winning team!

Job Information
Our challenge is to use modern tools, techniques, and methods to develop, modify, and/or update complex and extremely powerful systems.  Our customers and partners need applications that enable them to easily operate and expand their automotive business and efficiently manage their teams.  Equally important is our visualization of clients’ needs to provide them the information they need to understand how their business is performing and what changes could be made to improve their performance.
DealerSocket is seeking experienced software engineers who can leverage their skill-set to grow as part of an Agile SCRUM team.  They must be a quick learner and love challenging themselves to constantly raise the bar.  This opportunity requires strong problem-solving skills, an aptitude for team collaboration and open communication as they deliver efficient, well designed, and tested software for a positive user experience.  Innovative thinking and well-designed products with an emphasis on performance are a necessity to give our users the best experience possible.

Key Job Functions/Requirements
Hands-on experience with construction of complex engineering solutions and knowledge of software development methodologies
Deep dive on large-scale SaaS products and be prepared to assist architecture with setting the vision, organizing and evolving the code-base for the entire product
Collaborate and communicate effectively with product, infrastructure, DevOps, architecture, and engineering to guide an initiative's technical direction
Along with Architecture, meet one on one with tech leads to provide guidance and ensure work is moving towards vision
Assist in establishing and supporting coding standards
Stay current with industry standard tools and technologies
Engage in tribe-level ceremonies, including planning, grooming, product demonstrations, and retrospectives
Perform risk analysis on work items defined for an initiative
Assist in enabling and maintaining the continuous delivery pipeline and exhibit a DevOps mindset to enable autonomy of agile scrum teams
With guidance from Architecture, perform feasibility studies and proofs of concepts on new solutions or techniques which may be employed
Respond to trouble/support calls for production applications in order to make quick repair to prevent application outages
Create and/or update documentation to support development efforts. Documentation may include detailed specifications, implementation guides, architecture diagrams and/or design documents
Excellent time management skills and ability to prioritize
Able to translate customer and business needs to technical solutions
Resilient to change
Establish User Personas in collaboration with Product Management
Mentor and train other Software Engineers
Be a resource for multiple challenging software engineering projects at a time
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
Proficient in the following:
General foundation in enterprise computing including networking, infrastructure, virtualization, web tools and technologies, databases
Object oriented design principles (SOLID), design patterns, enterprise integration patterns, Microservice architecture
Familiarity with non-functional software qualities (resilience, maintainability, etc), and experience implementing related design patterns and analyzing trade-offs

Education
Bachelor’s Degree in Computer Science or equivalent

Minimum Experience
10+ years

Specialized Knowledge & Skills
Proficient in C# .NET
Proficient in MVC and Web API
Experience with LINQ, Generics, Lambda expressions, extension methods, attributes
Experience with ORM Frameworks (Entity Framework, NHibernate)
Experience with IoC containers e.g. Autofac, Unity, MEF, Ninject
Experience with Web Services and serialization, XML, JSON, SOAP, WCF, REST
Experience with Unit testing using mock objects
Experience with design patterns and object-oriented programing
Experience with SQL Server and the SQL language
Experience with JavaScript, jQuery, Bootstrap
Experience with Test Automation
Experience with Leading engineering teams
Experience with HTML5 and CSS3
Experience with Memory management, performance tuning and profiling
Experience with Agile Management Tools (i.e. Confluence, JIRA, VersionOne)
Experience with Queueing
Experience with threading, async patterns and TPL/TAP plus .NET thread safe collections
Experience with SCM including branching and merging
Experience with RDBMS
Experience with and implementing enterprise level software applications
Experience with JavaScript Unit Testing frameworks (Protractor, Jasmine or QUnit)
Experience with Cloud Application Design (i.e. AWS, Serverless, Container, Docker…)
Familiar with basic networking and infrastructure
Familiar with React or Angular JS
Knowledge of Stream Processors (i.e. Kafka)

Perks & Benefits 
Medical, Dental, Vision, 401k
Company-paid Life & Disability Insurance
Paid Vacation, Sick Days & Holidays
Paid Parental Leave
Wellness Program that pays up to $200 per year
Collaborative & Open Office Environment

About DealerSocket 
DealerSocket is a leading provider of software for the automotive industry. Our mission is to drive the future of automotive, by simplifying the experience for its customers and partners with a suite of seamlessly integrated products. DealerSocket’s suite of products includes advanced Customer Relationship Management (CRM), innovative Digital Marketing and Websites, robust Vehicle Inventory Management, insightful Analytics Reporting, and solutions to streamline dealer operations such as Desking, Credit Reporting, Compliance, and a Dealer Management System (DMS) for dealers of all sizes. To put it simply: we help dealers sell and service vehicles more profitably, while improving their customers’ experience. The DealerSocket Team is more than 1,000 employees strong, serving nearly 8,000 dealerships. Visit careers.dealersocket.com to learn more about how you can join our winning team!

Apply Now Copy Link