As Lead Software Engineer, a typical day might include the following: Lead the specification, design, implementation, and test of firmware/software systems. Understand hardware and software interactions, and collaborate with Hardware Engineers. Lead the development of designs and test documentation. Mentor Engineers, Associate Engineers, and Technicians. Serve as a technical contact for internal customers.