Principal Software Engineer
You will be part of the Engineering leadership team at ServiceTitan responsible for the technical direction of our product. We provide exciting opportunities to make an immediate impact in our rapidly growing startup. We are quality-minded, use the most modern tools on the Microsoft .NET platform, have an amazing culture, and love to solve complex problems. Over 50,000 people depend on our software to perform all their daily activities.
We are looking for someone to lead all technical aspects of an engineering team at ServiceTitan. We need a highly technical, forward-looking, leader who will own the technical vision of a squad and be accountable for the successful execution of that vision. We also desire those who can balance rapid iteration and development with high product quality expectations and who are innovative and comfortable with ambiguity.
As Principal Engineer you will :
- Own : Own from end to end the short and long term technical vision of your team
- Design & Revamp : 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
- Improve Efficiency : Build tools to increase efficiency of all our engineers; improve performance, processes, and quality across the whole engineering team
- Discover : Identify opportunities to extract or develop systems beneficial for multiple teams
- Empower : Mentor and guide Engineers across engineering as a whole
- 60% development / 40% working on everything else
- Teambuilding : Work closely with Recruiting in particular, interview candidates and co-own activities related to lead generation (e.g. tech talks) and screening (HackerRank tests)
- Strategy : Contribute to the roadmap and resource planning
- Measure Success : Determine metrics for success and constantly measure them
- Collaborate : Communicate effectively with cross-functional teams, engineers, Product Managers, customers, and partners
To be successful in this role, you'll need :
8+ years of industry experience, including with large scale enterprise web / saas applications3+ years of experience on senior engineering roles (designing APIs, abstractions, and tools used by other engineers)Expert-level knowledge of :
Microsoft .NET technology stack (C# / .NET, ASP.NET MVC, Web APIs) and SQL databases (Microsoft SQL Server or any other)HTML5 and JavaScript; experience such front-end frameworks as React and Knockout.js is a plusTaking existing monolithic applications to a domain based, service-driven paradigmExperience with large scale 3rd party integrationsBasic Microsoft Windows administration skills including IIS administrationPerformance / 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 and other tools that are typically used by developers on Microsoft technology stackContinuous integration and continuous delivery methodologies and tools (TeamCity or similar)Administration and building automation for Azure, AWS or other public cloud technologyAbility to empathize with our users and champion for their experience.Strong communication and technical writing skillsB.S., M.S. or PhD in Computer Science, Physics, Engineering or a related technical field.All your information will be kept confidential according to EEO guidelines.