Reporting to the Sr. Director, EDM & Application Services, the Technical Director, Application Architecture; will have broad responsibilities for leading the development and deployment of the University's business critical applications including but not limited to the Student Information System. The Technical Director provides expertise in architecting, designing, developing and implementing solutions for the existing and newly developed applications of the Student Information System using the Django Python web framework.
The Incumbent is responsible for working with infrastructure and enterprise architects and establishing application architecture standards in the area of micro-service based applications. The Technical Director evaluates and implements new standards that can be standardized across development areas. Incumbent establishes development best practices in the area of application architecture, use of libraries, code standards, DevOps and integration. API development and establishing API COE is also part of the goal.
In addition, the Architect oversees the analysis, project scope, issue resolution and change analysis to complex, interrelated systems that cross multiple platforms -- including the Mainframe, SQL Server and LINUX -- to fulfill complicated requirements. The Architect is responsible for enhancing the applications as well as supporting ongoing needs and meeting customers’ expectations and service level agreements.
- Leads the architectural vision for system design using modern technology stacks with a core focus on reusability, scalability and performance at scale
- Responsible for providing end to end solutions by analyzing and gathering requirements, devising solution design and implementation of solution.
- Leads all phases of application development, including requirements, analysis, construction, testing, and deployment to ensure the quality of the system is enhanced.
- Writes scalable, testable, and maintainable code; review code using high-quality coding standards and methodologies
- Engages with business analysts, project managers, UX specialists and clients on all phases of a client's project.
- Coordinates and prioritizes development, maintenance tasks, deployment and integration activities and insures synchronization between changes to mainframe SIS and SSOL and related applications.
- Leads a team of backend, Django/Python developers in the implementation of highly-scalable, secure production systems.
- Mentors fellow engineers on best practices, architecture, and problem solving; lead and empower your team to achieve maximum potential.
- Establishes code standards and opine on architectural decisions; research and propose new technologies and methodologies.
- Strategizes and executes breaking apart our platform into smaller and more modular pieces; re-architects areas of the platform to increase scalability and performance.
- Collaborates with IT stakeholders to design and build platform services that meet key product and infrastructure requirements
- Produces both high-level and detailed designs for platform-level services.
- Author’s clean, scalable, modular, secure, well-structured and testable code.
- Defines patterns and develops reusable components and libraries.
- Design and implement microservices with thoughtfully-defined APIs.
- Takes ownership of designed services and platform components through to delivery.
- All other duties as assigned.
- Bachelor's degree and/or its equivalent required. Advanced degree desirable.
- Minimum 7-9 years’ related experience.
- Strong application development background using object oriented programming languages such as Java, Python and strong UI/UX and SQL expertise is desired.
- Strong experience with synchronous and asynchronous interfaces and microservice and RESTful API development is a must.
- Knowledgeable about other technologies and able to suggest integration solutions, including third-party APIs.
- Hands-on experience with Docker, DevOps, Jira, Jenkins and Git is desirable.
- Comfortable with web and application server operation (Apache Tomcat).
- Extensive programming experience using Python/Django, node.js
- Strong back-end skills with Python and Django/Flask/Pyramid.
- Excellent knowledge of Relational database such as MS Sql Server, MySQL.
- Hands-on experience in Apache Kafka and JSONAPI.
- Ability to solve problems while considering timeliness, effectiveness, and practicality in addressing product needs.
- Ability to design an application architecture for infrastructure & feature development teams.
- Ability to technically lead and coach infrastructure and full-stack software engineers.
- Ability to implement full-stack application architectures that are secure and can scale with load.
- Ability to research and prototype emerging technologies
- Ability to develop scalable and fault tolerant APIs
- Ability to work with API authorization specifications, such as OAuth
- Ability to make difficult decisions between the perfect solution and the one that can be delivered on time.
- A deep understanding of ORMs and their impact on relational database.
- Designed and built REST APIs.
- 5+ years’ of experience developing in Django Python Web Framework.
- Demonstrated excellence in a variety of competencies including teamwork/collaboration, analytical thinking, communication and influencing skills, and technical expertise.
- Familiar with Project Management concepts and tools.
- Basic Front-End skills using a modern framework.
Equal Opportunity Employer / Disability / Veteran
Columbia University is committed to the hiring of qualified local residents.