TrueCar, Inc.
Software Engineer 2
Requirements
Candidates must have a BS/MS in Computer Science or equivalent experience with a strong background in JavaScript and modern web frameworks like React and Redux. Proficiency in software engineering fundamentals, version control, and experience with modern web development tools is required.
Responsibilities
The Software Engineer 2 will design, code, test, and maintain software solutions using front-end JavaScript frameworks to create single-page applications. They will also collaborate with cross-functional teams to troubleshoot defects and ensure high-quality product delivery.
About the role
The Opportunity: TRUECar is seeking a Software Engineer 2 who applies engineering principles to the design, development, maintenance, testing, and evaluation of software and systems. The ideal candidate will be skilled in JavaScript and is passionate about evolving technologies like React, Redux, GraphQL, and Apollo. In this role, reporting to the Sr. Director of Software Engineering, you’ll be focused on coding and testing, while working alongside product managers, front-end and back-end engineers, and designers. We love engineers who solve challenges end to end, communicate well with team members, and deliver a high-quality product and user experience. How you will contribute to TrueCar’s success: Design, code, test, and maintain software solutions using front-end JavaScript Frameworks, such as React, to create universal/isomorphic, single-page apps for consumer and dealer-facing websites. Conduct unit testing, integration testing, and system testing for the code you write using tools like Cypress, Mocha, or Jest, to ensure the quality and reliability of software. Develop reusable components that can be leveraged across all our web apps, using JavaScript frameworks. Analyze end-users’ needs and develop software solutions that meet those needs. Work closely with other engineers, developers, analysts, and stakeholders to ensure effective communication and collaboration in the development process. Identify and troubleshoot software defects and issues, and provide timely solutions. Create and maintain documentation for software development, processes, code, and deployment. Stay updated on industry trends, new technologies, and best practices in software engineering. Your Expertise: BS/MS in Computer Science or equivalent work experience Proven experience building web software or mobile applications - professional or open-source experience writing JavaScript, as well as with a JavaScript MVC framework in a Single Page Architecture (most notably, React and Redux but also including AngularJS, Backbone.js, Knockout or Ember.js). Familiarity with standard JavaScript async patterns (e.g. closures, callbacks, promises, error handling). Experience with modern version control systems such as git or Mercurial. Solid grasp of software engineering fundamentals and their practical application Firm understanding of modern HTML/CSS. Have delivered great technology quickly and understand how to ship in a fast-changing environment. "Self-starter" attitude, the ability to make decisions independently, a willingness to take ownership of problems, and a strong desire to learn and grow. Ability to facilitate meaningful discussion around complex issues and to convince others about technical trade-offs, as well as work with key stakeholders to effectively solve problems and drive decisions. Experience managing initiatives & meetings within a team and multi-person, multi-week projects. Familiarity with Babel or TypeScript and ES6/2015+ features Experience with Node.js Experience using Ruby on Rails Experience deploying apps to AWS Well-versed in Agile processes such as Continuous Integration and Deployment Automotive industry experience