Jobs · Engineering · Washington

Principal Engineer, Mobile

Slate Auto · Washington, United States · 4 wk ago
Engineering$203k–$338k/yrFull-time
We need to output HTML fragment with sections: About the role? Actually the posting includes "About Slate" then "Who We Are Looking For" then "What You Get To Do" then "Required" then "Strongly Preferred" then "Salary Range" then "WHY JOIN TEAM SLATE?" etc. We need to use

for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). We should map content to these headings appropriately. We must not repeat job title as heading. No Job ID. Remove boilerplate: cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate, duplicated lines, application instructions. Also remove "WHY JOIN TEAM SLATE?" maybe it's not a required heading but could be considered "About the company"? But we only include sections when posting has real specific content. The "WHY JOIN TEAM SLATE?" includes values like Safety First etc. That's specific content; we could put under a heading like "About the company" but not in list. The allowed headings list includes About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. We could map: - About the role: maybe the "Who We Are Looking For" paragraph describing role. Could be "About the role". - Responsibilities: "What You Get To Do" (list of duties). - Requirements: "Required" (what you bring). - Qualifications: maybe "Strongly Preferred" could be qualifications? Or we could treat "Strongly Preferred" as "Qualifications" or "Skills". The list includes Skills as a heading. Could put "Strongly Preferred" under Skills. - Benefits: "Additional Compensation and Benefits" paragraph. - Pay: "Base Pay Range (Annual)" plus maybe mention equity etc. - Schedule: Not present; we should not create Schedule section if not present. We must not create sections with filler like "commensurate with experience". We have actual pay range. We need to preserve all substantive information, not invent or summarize away detail. So we need to include details from each section. We need to use
  • for any list of duties/requirements/benefits, and

    for prose. Thus we need to convert paragraphs into

    . For bullet-like lists (the responsibilities are many sentences each starting with a verb; we could treat each as a list item). The responsibilities section includes many bullet-like sentences separated by line breaks. We'll make each as

  • . Similarly for Required (list of bullet points). Strongly Preferred also list. Benefits: paragraph about medical etc. Could be a list? It says "Slate offers a wide range of competitive benefits, including medical, dental, vision, life insurance, disability insurance, vacation, and 401k." That's a list; we could make
    • each. Pay: we have base pay range and additional compensation mention. Could be

      with both. We must not include boilerplate like EEO statement, accommodation contact, etc. Also remove "WHY JOIN TEAM SLATE?" maybe we could treat as "About the company" but not in allowed headings; maybe we omit because not in list? The instruction: "Use

      for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule)." It says e.g., implying those are examples but we could use other headings? It says "Use

      for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule)." Likely they expect us to use those headings only. So we should map content to those headings. If a section doesn't match, we could still use a heading but must be one of those? Safer to stick to those. Thus we need to decide which content goes under which heading. Let's outline: - About the role: Could include "Who We Are Looking For" paragraph describing the role and maybe also "About Slate"? But "About Slate" is company description; maybe not needed. We'll put the description of the role under About the role. - Responsibilities: "What You Get To Do" (the bullet list of duties). We'll break each sentence into
    • . - Requirements: "Required" bullet list. - Qualifications: maybe "Strongly Preferred" could be qualifications? Or we could treat "Strongly Preferred" as Skills. But we have both Qualifications and Skills headings. Could put "Strongly Preferred" under Skills, and maybe leave Qualifications empty? But we must not create a heading with filler. So if we don't have specific content for Qualifications, we should omit it. So we will not include Qualifications heading. - Skills: Could include "Strongly Preferred" items (automotive software experience, EV charging, Protocol Buffers, scaling pre-GA to GA). Also maybe deep familiarity etc already in Required; but those are requirements not skills. We'll put the Strongly Preferred list under Skills. - Benefits: "Additional Compensation and Benefits" paragraph (medical etc) plus maybe equity program etc. We'll list each benefit. - Pay: Base Pay Range and mention equity/discretionary annual incentive. - Schedule: Not present, omit. We also need to include any other substantive info like "Own the overall build and release architecture..." etc which are responsibilities; we already covered. Now we must ensure we preserve all substantive information: we need to include all details from the posting, not summarizing away. That means we need to include each bullet point verbatim (or close). We must not lose any detail. Let's extract sections. First, "About Slate" paragraph: "At Slate, we’re building safe, reliable vehicles that people can afford, personalize and love—and doing it here in the USA as part of our commitment to reindustrialization. The spirit of DIY and customization runs throughout every element of a Slate, because people should have control over how their trucks look, feel, and represent them." Is this substantive? It's about company. Could be considered "About the role"? Not exactly. But maybe we could include under About the role as context. However the instruction says "About the role" heading for section headings (e.g. About the role...). It might be okay to include company description there. We'll include it as part of About the role. Next, "Who We Are Looking For" paragraph: "Slate is looking for a Principal Engineer to anchor the technical depth of the Mobile Experience pod. This is the senior-most individual contributor on the mobile team — the person who shapes architecture, sets the engineering quality bar, and personally closes the hardest technical gaps standing between our current build and a November GA launch. The Slate mobile app covers a wide technical surface: a React Native / TypeScript product layer, a custom native module for vehicle communication, a dedicated mobile backend-for-frontend, platform-level security and encryption, and integrations spanning EV charging, service scheduling, account management, and over-the-air update delivery. You need to be equally comfortable driving complex product features in React Native and reasoning through low-level native module behavior, and you should be able to step into backend service work when mobile product needs require it. You must be able to thrive and succeed in a fast-paced startup environment where your contributions have a direct impact on the company's direction and success and should not be hindered by ambiguity or competing priorities." We'll include that as prose under About the role. Now "What You Get To Do" section includes many bullet-like paragraphs each starting with a verb. We'll treat each as a list item. Let's list them: - Vehicle Communication and Native Module Engineering Serve as the architectural owner of the C++ Turbo Module that bridges the React Native JS layer to the vehicle Secure Gateway Module over USB/DTLS — setting direction, leading design decisions, and being the escalation point for the hardest debugging and performance issues in the native layer. Own the TypeScript/C++ boundary defined by the TurboModule Codegen spec — vehicle data polling, UDS diagnostic requests, CAN bus messaging, OTA update management, DTC operations, and security access — and ensure the team is building to that contract correctly. Provide architectural guidance on CAN decoder design and the shared CAN message definitions package; review and approve significant changes to the vehicle communication data model. Drive the DTLS session lifecycle architecture: certificate issuance, BFF-mediated vehicle security endpoints, and cryptographic operations within the native layer. Lead the evaluation and outcome decision on protobuf-based dynamic DID mapping to align vehicle communication with the source-of-truth data model. Apply and reinforce the Definition of Done for vehicle communication PRs in code reviews; serve as the technical bar for what constitutes a well-tested, merge-ready change in the native communication layer. - Mobile Application Architecture and Product Features Own the overall layered application architecture — from Presentation through Native Modules and Data Persistence — making binding calls on structure, patterns, and technology decisions as the app scales toward GA and beyond. Drive architecture and implementation across active epics: EV Charging, Service Scheduling, Vehicle Settings, and Key Management / Plugged-In flows; jump into hands-on implementation where the team needs technical leadership or the problem requires it. Set the standard for server state management patterns across the app — caching, synchronization, optimistic updates, and stale-while-revalidate behavior — and ensure consistent application across charging, vehicle data, and scheduling endpoints. Own the encrypted local storage architecture and its per-VIN partitioning scheme; provide direction on schema validation hardening across all storage reads and writes. Lead warm-start lifecycle hygiene: diagnose and resolve lifecycle risks across screens and establish preventative patterns the team applies going forward. Provide architectural direction on embedded WebView integrations — Account Management, Finance, E-Commerce — including secure session-token passing and native-to-web message bridge contracts. Own the push notification architecture end-to-end: backend integration approach, client-side token management and permission flow, deep-link routing strategy, and encryption requirements. - Backend-for-Frontend and Service Integration Provide technical direction on the mobile BFF — jump in to extend or debug service endpoints for charging, service scheduling, vehicle security, and auth flows when mobile product needs it. Own the mobile API client architecture: JWT refresh strategy, API key gating, and version-safe endpoint evolution that accommodates multiple installed app versions in the wild. Drive charging API ownership resolution and close any gap between mobile BFF needs and backend service contracts. Provide technical oversight on RepairPal BFF integration, ensuring the service scheduling flow is robust to backend latency, partial failures, and slot availability edge cases. - Observability, Quality, and Reliability Set the observability strategy for the mobile app: Datadog RUM configuration, structured logging architecture, and production crash reporting standards. Be the escalation point for the most severe production issue categories — native-layer crashes, DTLS session drops, and vehicle state failures — driving diagnosis and resolution across whatever layer the problem lives in. Partner with the QAM on testability: ensure new features and architectural changes are designed to be testable, provide the technical context the QA team needs to build effective test coverage, and unblock QA on gray-box testing at the vehicle communication layer. Lead performance profiling efforts using Datadog RUM: identify root causes of long JS tasks exceeding the >100ms threshold, set response time targets for user-initiated vehicle interactions, and drive the team toward those benchmarks. - Build, Release, and OTA Infrastructure Own the overall build and release architecture for iOS and Android: EAS Build pipeline, provisioning lifecycle, distribution strategy, and production submission process. Set the OTA update delivery strategy: define update channels, rollout policies, and rollback procedures; make the native vs. OTA boundary call and communicate it to the team and stakeholders. Own App Store and Google Play certification readiness; resolve platform compliance issues on both iOS and Android ahead of GA submission. - Technical Leadership and Cross-Team Collaboration Set technical direction for the MOB pod: produce Architecture Decision Records, lead design reviews, and surface blockers to the Engineering Lead before they become timeline risks. Mentor SDE IIs and SDE III

Similar jobs

Principal Mobile Engineer

TEKsystemsLa Canada Flintridge, CA· 1 mo ago
Information Technology$65–$88/hrapply on ars2.equest.com

Principal Mobile Engineer

MiniMedLos Angeles, California, United States· 1 mo ago
Engineering$138k–$234k/yrapply on mdtkangaroo.wd108.myworkdayjobs.com

Principal Mobile Engineer

SWITS DIGITAL Private LimitedLos Angeles, CA· 2 mo ago
Engineeringapply on candidateportal.ceipal.com