Lead Software Engineer

About the Team

Software Engineering designs and develops the services and applications used to deliver our flagship program, Teach To One: Math. Our engineers span a range of backgrounds, skill sets, and experience levels, but are all high-performing, dedicated, and fantastic to collaborate with. With full support from a leadership team that gets it, we are rebuilding our entire technology platform in order to scale to the future of math education.

About the Role

The Lead Software Engineer owns the complete big picture of everything built by Software Engineering -- every API, every data model, every interaction, and how everything fits together. Working with multiple project teams to make the best design decisions possible while maintaining a coherent overall platform is their core responsibility. They provide the master blueprint for everything our engineers develop, so this role requires architect-level experience.

About You

You seek out worthwhile challenges, thrive in complexity, and find satisfaction in making complicated things simpler. Your technical depth is matched by your depth of character; nothing is ever "someone else's problem" to you. Your teammates can always count on you in a pinch; you exhibit grace under pressure. You're always learning and always improving. You let nothing stand in your way because success is the only option when serving the greater good.

What You'll Do

Data modeling and API design - work with other engineers, business analysts, and stakeholders to identify the format or "shape" of the data and the ways in which it should be manipulated by our system

System architecture planning - define how to segment our current system into a sane network of services and define their interactions

High level technical planning - meet with stakeholders to identify technical dependencies between planned work items

Coordinate design tasks between long-term projects (re-factors and new features/products/services) and short-term projects (bug fixes, minor features, and stability/usability improvements)

Documentation - write it all down (and draw when necessary)

Assist other engineers with implementation by providing insight into best practices and design decisionsWhat We're Looking For

Required knowledge:

Service-oriented architecture

REST, HTTP, and Internet/web/cloud fundamentals

Security

.NET Core and C#

Microsoft Azure or Amazon Web Services

Ideal knowledge:

JavaScript, especially TypeScript and Angular

Python

Relational databases, especially Microsoft SQL Server

MongoDB (which we're only using for distributed caching)

OAuth 2 / OpenID or other token-based authentication

Extraordinary attention to detail

Excellent written, verbal, and visual communication skills

Application Information

Equal Opportunity

All qualified applicants will receive consideration for employment without regard to age, race, creed, color, national origin, ancestry, marital status, affectional or sexual orientation, gender identity or expression, disability, nationality or sex.

Work Authorization

In compliance with federal law, all persons hired will be required to verify identity and eligibility to work in the United States and to complete the required employment eligibility verification document form upon hire.

Similar jobs you might like