Senior Front End Software Engineer 🔥
Kensho’s AI Toolkit group develops the software that delivers Kensho’s AI capabilities to our customers. Our teams are small, product-focused, and intent on shipping high-quality code that best leverages our efforts. We’re collegial, humble, and inquisitive, and we delight in learning from teammates with backgrounds, skills, and interests different from our own.
As a Senior Frontend Engineer in the AI Toolkit group, you will develop reliable, secure, and performant web apps that deliver our toolkit to non-developer customers. You will collaborate with colleagues from Design, Machine Learning, Product, and Infrastructure, as well as with other engineers within AI Toolkit. You have a demonstrated capacity for depth, but are comfortable working with a broad range of technologies. You are a thoughtful, deliberate technologist and share your knowledge generously.
At Kensho, we believe in flexibility-first, and give our employees the opportunity to work from where they feel most productive and engaged (must be in the United States). We also value in-person collaboration, so there may be times when travel to one of our Kensho hubs (NY/DC/MA) may be required for team meetings or company events on a monthly or quarterly basis.
What You'll Do:
- Design, develop, test, document, deploy, maintain, and improve software
- Manage individual project priorities, deadlines, and deliverables
- Work with key stakeholders to develop system architectures, API specifications, implementation requirements, and complexity estimates
- Test assumptions through instrumentation and prototyping
- Promote ongoing technical development through code reviews, knowledge sharing, and mentorship
What You'll Need:
- At least five years of direct experience developing web applications within a team
- Thoughtful and efficient communication skills (both verbal and written)
- Experience developing web applications using a variety of tools
- Experience turning abstract business requirements into concrete technical plans
- Experience working across many stages of the software development lifecycle
- Sound reasoning about the behavior and performance of loosely-coupled systems
- Proficiency with algorithms (including time and space complexity analysis), data structures, and software architecture
- At least one domain of demonstrable technical depth
Technology You'll Encounter:
- TypeScript, React, Node.js [1]
- Git, Jsonnet, Jenkins, Docker, Kubernetes