Evolv Technologies Holdings, Inc.posted 1 day ago
$150,000 - $200,000/Yr
Full-time • Senior
Waltham, MA

About the position

Evolv’s R&D team is looking for an experienced and innovative principal software engineer to provide technical leadership, improve software engineering practices, and be hands on with our team of SW engineers with expertise in embedded, real-time, and computer vision. In Evolv's fast-paced development environment the R&D team is continuously innovating new features and integrating complementary technologies into our products.

Responsibilities

  • Demonstrate technical depth and earn the respect of senior developers.
  • Mentor junior developers.
  • Review code and architecture during the first 30 days.
  • Submit PRs for small changes from day 15.
  • Pair with junior developers on a regular basis.
  • Define and communicate a clear architectural vision and roadmap for real-time embedded Linux systems.
  • Submit production-quality pull requests (PRs) for small to medium-sized features or improvements by day 30–45.
  • Identify and resolve at least one performance bottleneck or technical debt issue in the existing codebase.
  • Actively participate in architecture and design discussions, contributing ideas and identifying potential risks or improvements.
  • Evaluate current CI/CD and build automation processes; propose at least one improvement or optimization.
  • Familiarize yourself with the full software development lifecycle at Evolv, including DevOps, QA, and hardware integration touchpoints.
  • Lead the design and implementation of a major new feature or system component, from concept to deployment.
  • Translate complex mathematical algorithms into optimized, production-ready C++ code.
  • Drive performance benchmarking and optimization initiatives, improving system efficiency and scalability.
  • Serve as a go-to technical mentor for the C++ team, helping to elevate the overall engineering skill level.
  • Lead at least one internal technical workshop or knowledge-sharing session.
  • Influence and improve cross-functional workflows, particularly around testing, deployment, and system reliability.
  • Help define and enforce coding standards, design patterns, and best practices across the team.
  • Provide input into long-term architectural decisions and product roadmap planning.
  • Contribute to a culture of continuous improvement, innovation, and psychological safety.
  • Maintain and improve existing C++ codebase with a focus on performance, reliability, and scalability.
  • Identify and resolve software defects and performance bottlenecks.
  • Collaborate with cross-functional teams including SQA, DevOps, and hardware engineers.
  • Participate in code reviews and mentor junior developers.
  • Contribute to system design and architecture discussions.
  • Support build automation and CI/CD pipelines.
  • Translate mathematical algorithms into optimal C++ code.
  • Build C++ software components that follow industry-standard design patterns, development methodologies, and deployment models.
  • Design and implement real-time systems with deterministic performance and low-latency requirements.
  • Develop multithreaded applications using modern C++ concurrency primitives, thread synchronization, and lock-free programming.
  • Integrate ML inference engines into fast-path pipelines with minimal latency impact while optimizing control software for embedded systems and real-time hardware interfaces.
  • Perform technical performance benchmarking and analyses to support engineering decisions.
  • Write clean, well-documented, and testable code.
  • Maintain quality throughout software development through peer code review, unit and functional testing.

Requirements

  • Experience in C++ programming and software development.
  • Strong understanding of real-time embedded systems.
  • Experience with computer vision technologies.
  • Ability to mentor and lead junior developers.
  • Experience with CI/CD and build automation processes.
  • Strong problem-solving skills and ability to identify performance bottlenecks.
  • Experience with multithreaded application development.
  • Familiarity with mathematical algorithms and their implementation in C++.

Nice-to-haves

  • Experience with machine learning inference engines.
  • Familiarity with DevOps practices.
  • Experience in leading technical workshops or knowledge-sharing sessions.

Benefits

  • Equity as part of your total compensation package.
  • Medical, dental, and vision insurance.
  • Flexible Spending Accounts (FSA).
  • A 401(k) plan (and 2% company match).
  • Unlimited vacation policy.
  • Quarterly stipend for perks and benefits that matter most to you.
  • Tuition reimbursement to support your ongoing learning and development.
  • Subscription to Calm.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service