We are currently seeking a software engineering lead to support, lead and transform our technology. This position reports to the Director, software engineering and will be responsible for supporting our scalable, elastic research discovery platform, which supports a major portion of the universities and colleges in the United States, including large state research institutions, Ivy League colleges, Liberal Arts colleges, law schools, business schools, community colleges, and medical schools and health centers.
The Software Engineering lead position serves as a subject matter expert for a specific team of software engineers (up to 6 resources) . In addition to writing code on complex systems and applications, this position provides direction on project plans, schedules, and methodologies. This position has direct reports.
Interface with other technical personnel and product owners to finalize requirements.
Develop and deliver new software features and defect fixes using agile development methodologies.
Successfully implement development processes, coding best practices, and code reviews, while guiding the team through incremental improvement.
Serve as the initial point of escalation for software development issues within specific areas of responsibility.
Keep up with new technology developments and make recommendations to the overall team.
Carry out management responsibilities in accordance with the organization’s policies, procedures, and applicable laws. Responsibilities include interviewing, hiring, and training employees; planning, assigning, and directing work; appraising performance; rewarding and disciplining employees; and addressing complaints and resolving problems.
Ensure all staff is provided with training and resources needed to perform their jobs to the most outstanding degree possible. Ensure all staff is provided with frequent feedback and coaching in order to meet and exceed individual and team performance goals consistently.
Manage and encourage new ideas from staff to foster improvements through innovations.
Empower the staff to be accountable and responsible for their own actions and decisions.
- Advanced knowledge of software development methodologies (e.g., Agile, Waterfall).
- Ability to partner and lead internal and external technology resources in solving complex business needs.
- Experience in Perl a plus
- Knowledge of Service Oriented Architecture, including REST standards and best practices.
- Strong knowledge and experience in development best practices.
- Strong understanding of normalized/dimensional data modeling principles.
- Experience with various resource models such as managed services and/or staff augmentation.
- Strong skills in setting, communicating, implementing, and achieving business objectives and goals through the direct management of others.
- Strong problem-solving experience involving leading teams in identifying, researching, and coordinating the resources necessary to effectively troubleshoot and diagnose complex project issues.
- Strong communication (verbal and written).
- Strong interpersonal, communication, and presentation skills applicable to a wide audience including senior and executive management, customers, etc., including diction/terminology and presenting information in a concise and effective manner to clients, management, and various departments using assorted communication mediums.
Experience (US only) and Education
- 7+ years of Software Engineering experience
- BS Engineering/Computer Science or equivalent experience required
- Experience in the following technologies:
- Python, Java, including JSP and Servlets
- PostgreSQL or Oracle (NoSQL databases a plus)
- Perl a plus
- Continuous Integration and TDD/BDD concepts
- Experience working in agile development methodologies
- Experience Scrum mastering
- Experience in NLP/Machine Learning