Sr. Software Engineer

US -CA-San Clemente

Share This Job

Job Description

Who we are:
Founded in 2001, DealerSocket is an industry leading automotive Customer Relationship Management (CRM) and dealership training provider, serving auto dealers throughout the US, Canada and Australia. Based in San Clemente, California with offices in Provo and Draper, Utah, DealerSocket has won numerous awards and industry recognition such as Best Overall Company Globally.

Job Purpose Summary:
Senior Software Engineers are responsible for software engineering activities as a member of a SCRUM team. They are expected to adopt and maintain best practices for software engineering, while implementing solutions to engineering projects using cutting edge technologies. They also mentor junior engineers in those best practices through example, guidance and training.

Skills & Requirements

Essential Job Duties

  • Solve complex software engineering tasks
  • Troubleshoot and solve code level problems quickly and efficiently
  • Create automated unit and integration tests
  • Follow established coding standards and 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
  • Stay current with industry standard tools and technologies
  • Establish User Personas in collaboration with Product Management
  • Facilitate the decomposition of business requirements into Use Cases and Acceptance Criteria
  • Document and execute Acceptance Tests
  • Automate Acceptance Tests when/where possible
  • Perform risk analysis on each work item completed by a SCRUM Team
  • Coordinate and participate in risk based regression testing for a SCRUM Team
  • Maintain the Test Case Library
  • Participate in Deployment Testing exercises as needed
  • Comfortable working with little to no supervision and providing supervision to associate engineers
  • Mentor and train other Software Engineers
  • May be asked to serve as Scrum Master
  • May be asked to participate in Quarterly Architecture Summits
  • Take the lead on challenging software engineering projects

Job Qualifications

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

Experience:

  • 6-10 Years Software Engineering
  • Agile/SCRUM
  • Engineering and Implementing enterprise level software applications
  • Leading engineering teams

Skills & Expertise (Advanced Level):

  • C# .NET 4.0 Framework or higher
  • LINQ, Generics, Lambda expressions, extension methods, attributes
  • ORM Frameworks (Entity Framework, NHibernate)
  • IoC containers e.g. Unity, MEF, Ninject
  • Web Services and serialization, XML, JSON, SOAP, WCF, REST
  • Test Case Management
  • Test Automation
  • Unit testing using mock objects
  • Design patterns and object-oriented programing
  • SQL Server 2008/2012 and the SQL language
  • RDBMS

Skills & Expertise (Intermediate Level):

  • ASP.NET MVC and Web API
  • JavaScript (Angular and/or Knockout JavaScript libraries), jQuery, Bootstrap
  • HTML5 and CSS3
  • 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

Other Abilities:

  • 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

Physical Demands (Travel, etc.)

  • Available to solve critical issues as necessary