Principal Software Engineer

ServiceTitan ServiceTitan · Enterprise · United States · Remote

This Principal Software Engineer role at ServiceTitan focuses on leading technical aspects of an engineering team, building distributed systems for scale, and delivering technical leadership. The role involves owning the technical vision, designing and improving critical systems, building tools for engineer efficiency, and mentoring engineers. While the company utilizes AI for features like scheduling and dispatch automation, the core responsibilities of this role are centered around traditional software engineering leadership and development, not direct AI/ML model building or research.

What you'd actually do

  1. Own from end to end the short and long term technical vision of your team
  2. Design, implement and improve critical systems and components powering ServiceTitan stack; improve the security, availability, reliability, and performance of our products; drive/participate in all major architectural and strategic decisions especially those relating to scale
  3. Build tools to increase efficiency of all our engineers; improve performance, processes, and quality across the whole engineering team
  4. Identify opportunities to extract or develop systems beneficial for multiple teams
  5. Mentor and guide Engineers across engineering as a whole

Skills

Required

  • Microsoft .NET technology stack (C# / .NET, ASP.NET MVC, Web APIs)
  • SQL databases (Microsoft SQL Server or any other)
  • HTML5 and JavaScript
  • Taking existing monolithic applications to a domain based, service-driven paradigm
  • Experience with large scale 3rd party integrations
  • Basic Microsoft Windows administration skills including IIS administration
  • Performance / reliability monitoring tools (e.g. New Relic, DataDog, Application Insights)
  • Log / Metric collection and analysis tools (e.g. Elasticsearch-Logstash-Kibana, DataDog, Interana)
  • Git, unit testing, debugging, profiling, Visual Studio, JIRA
  • Continuous integration and continuous delivery methodologies and tools (TeamCity or similar)
  • Administration and building automation for Azure, AWS or other public cloud technology

Nice to have

  • experience front-end frameworks as React and Knockout.js

What the JD emphasized

  • lead all technical aspects of an engineering team
  • proven ability to deliver technical leadership
  • strong process management
  • large scale enterprise web/SaaS applications
  • senior engineering roles (designing APIs, abstractions, and tools used by other engineers)