Job Description

JOB DESCRIPTION

POSITION SUMMARY
The Lead Software Engineer is a senior team member responsible for leading, guiding, and mentoring a team of technologists of varying skill levels to successfully implement complex and performant cloud-based software solutions. The successful candidate must be a highly skilled and motivated Software Engineer possessing leadership skills along with extensive knowledge and expertise designing, implementing, and testing highly scalable and fault-tolerant serverless and container-based apps executing in the cloud. The successful candidate keeps abreast of emerging technologies and is a fast learner.
The successful candidate will work closely with Enterprise and Solution Architects to design cloud-based solutions that provide automation support for Client programs and initiatives. Other responsibilities include assisting the Technical Manager with long-range planning, working with the Scrum Master to conduct sprint planning based on product roadmap and delivery schedule, and supervising feature development activities.
ESSENTIAL FUNCTIONS AND RESPONSIBILITIES
  • Provides technical leadership, guidance, and direction to all team members while assuring the Client Cloud Foundation guidelines are met and the Client Cloud Center for Excellence best practices are followed.
  • Possesses expert knowledge and experience in component-based and object-oriented design and programming.
  • Possesses strong knowledge and experience designing microservices and/or container-based applications in the cloud that are component-based, cost-effective, resilient, scalable, support concurrency and code reuse.
  • Demonstrates ability to solve complex problems using divergent thinking resulting in innovative solutions.
  • Practices test-driven development ensuring 100% code coverage by automated unit and integration testing.
  • Continuously evaluates and adjust the team's software development processes and tools to improve software quality and team efficiency.
  • Continuously evaluates technology stack to ensures languages, frameworks, and tools are relevant for cloud-based development and are up-to-date.
  • Works closely with Technical Manager, Product Owner, and Requirements Analyst to ensure functional, system, and data requirements are clear, concise, and understood by team.
  • Possesses strong verbal and written communication skills demonstrated by ability to successfully communicate technical details to audience comprising business, technical, and executive staff.
PRINCIPAL RELATIONSHIPS
  • Internal Contacts:
    • Establish and maintain frequent communication with teams and units within the Client. Maintain contacts with staff in all other departments as required.
  • External Contacts:
    • Interact with external customers and vendors as needed.
MINIMUM QUALIFICATIONS
  • 7 + years of directly-related work experience in a professional position in software development or a related field.
  • Related Skills & Other Requirements:
  • Minimum 7+ years of professional experience designing, building, and managing web-based applications and cloud-based, internet-scale applications.
  • Expert knowledge and hands-on server-side programming experience using JavaScript, Node.JS or Python
  • Expert knowledge of microservice architecture and design patterns.
  • Expert knowledge and experience in component-based development. Candidate can clearly distinguish between component-based vs object-oriented development.
  • Expert knowledge and experience in asynchronous programming and event-driven messaging.
  • Strong knowledge of AWS cloud ecosystem. AWS Certified Developer, AWS Certified Solutions Architect, or AWS Certified DevOps Engineer certification is a plus.
  • Strong knowledge and experience with test-driven development to include hand-on experience with automated testing tools such Mocha, Jest, Chai, JUnit, Pytest, Cucumber, Selenium.
  • Strong knowledge of relational (SQL) and noSQL database technologies.
  • Strong knowledge and experience working in an iterative development environment using Agile/Scrum. Experience establishing and evolving lean, agile development processes.
  • Experience in establishing software development guidelines and in performing code and design reviews
  • Experience in documenting design and architecture artifacts and presenting artifacts for architectural review
  • Effective communication skills are required along with a strong focus on customer service and the ability to clearly discern client needs.
  • Ability to effectively coordinate and multiple responsibilities simultaneously with fast, flexible work style.
  • Knowledge of Higher Education related software applications is a plus.

Application Instructions

Please click on the link below to apply for this position. A new window will open and direct you to apply at our corporate careers page. We look forward to hearing from you!

Apply Online