Senior Software Engineer II

Senior 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
· Assumes end-to-end ownership of solutions as part of Agile SCRUM team, which includes assisting in development of testing automation and other key quality aspects
· Partner with product owners and other Agile SCRUM team members to determine new features and user stories
· Participate in code reviews to ensure that each increment adheres to original vision as described in the user story and all standard resource libraries and architecture patterns as appropriate
· Assist in establishing and supporting coding standards
· Engage in all Agile ceremonies including planning, grooming, product demonstrations, and team retrospectives
· Exhibits DevOps mindset where Agile SCRUM team is accountable for product from inception to sunset
· Respond to support incidents 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
· Share knowledge among members in Agile SCRUM team
· Demonstrate excellent communication skills and effective collaboration in a team-oriented environment
· Aptitude for learning new technologies and concepts
· 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
· Comfortable working with no supervision and providing supervision to associate engineers
· Mentor and train other Software Engineers
· Take the lead on challenging software engineering projects
Proficient in the following:
· Unit testing as well as coding in 1-2 languages (e.g. Java, C#, etc.)
· Object Oriented Design (OOD) and analysis
· Application of design patterns
· Application of non-functional software qualities such as resilience, maintainability, etc.
· Applying behavior-driven testing techniques

Education
· Bachelor’s Degree in Computer Science or equivalent

Minimum Experience
· 6+ years

Specialized Knowledge & Skills
· Proficient in C# .NET
· Proficient in MVC and Web API
· Experience with .NET Core
· 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 programming
· Experience with SQL Server and the SQL language
· Experience with JavaScript, jQuery, Bootstrap
· Experience with ECMAScript / ECMAScript Next
· Experience with HTML5 and CSS3
· Experience with Memory management, performance tuning threading and profiling
· Experience with NoSQL databases (ie: Document Store, Key-Value Store, Distributed databases, Graph databases, …)
· Experience with Agile Management Tools (i.e. Confluence, JIRA, VersionOne)
· Familiar with Queuing technologies (Kafka, RabbitMQ, …)
· Experience with threading, async patterns and TPL/TAP plus .NET thread safe collections
· Experience with SCM including branching and merging
· Familiar with Cloud Application Design (i.e. AWS, Serverless, Container, Docker…)
· Experience with front-end technologies (NodeJS, ReactJS, Redux, Redux-Saga, Redux-Form, JSS, Axios)
· Experience with Engineering and Implementing enterprise level software applications

Apply Now Copy Link