Director of Software Engineering
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 Director of Software Engineering 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. They will also manage, coach, and develop software engineers on the team to pursue technical challenges and advance their careers.
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. You go out of your way to mentor and support those around you. You have strong emotional intelligence and have experience managing a diverse staff of engineers.
What You’ll Do
-High level technical planning: meet with stakeholders to identify and manage technical dependencies between planned work items
-Anticipate technical issues and make architectural and design decisions to avoid them
-Manage a team of engineers to support their overall growth and development
-Data modeling and API design - work with 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
-Documentation - write it all down (and draw when necessary)
-Assist engineers with implementation by providing insight into best practices and design decisions
-Coordinate design tasks between long-term projects (refactors and new features/products/services) and short-term projects (bug fixes, minor features, and stability/usability improvements)
-Contribute in cross-functional coordination, architecture discussions, and prioritization planning in a highly collaborative environment
What We’re Looking For
-Required knowledge: - REST, HTTP, and Internet/web/cloud fundamentals - Up-to-date knowledge of .NET Core and C#
-Strong computer science fundamentals, with or without a formal degree -Extraordinary attention to detail -High degree of emotional intelligence -Experience managing a team of engineers -Strong hands-on technical skills and a desire to contribute to coding and architecture -Excellent written, verbal, and visual communication skills -Interest in New Classrooms’ mission and education initiatives in general
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.
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.