Software Developer Supervisor
Essential Duties and Responsibilities:
* Manages and leads a team of developers. Works with the Senior Software Development Manager to ensure that team members are assigned to software projects and work is completed.
* Aligns with the software development leadership team on technical and process standards/patterns. Promotes standards and patterns amongst direct reports.
* Mentors team members on technical patterns, best practices, and coding standards.
* Coaches team members and guides them in roles that align with their skills and passion.
* Interviews, hires and trains new software development team members.
* Provides performance reviews, appraises performance and resolves conflict with team members.
* Provides leadership example to team members and provides feedback, training plans, and motivation to drive overall performance improvement in service delivery.
* Takes an active part in application development. Works as a leader within the team, making recommendations on architectural and code recommendations.
* Develops, maintains, optimizes and redesigns existing software applications.
* Assesses new technologies and patterns, making recommendations to the larger software development team.
* Works effectively with members from different departments.
* Conducts relevant training.
* Assesses new technologies, programming languages and tools.
* Occasional travel for training, meetings or trade shows may be required.
The above statements describe the general nature and level of work being performed in this job. They are not intended to be an exhaustive list of all duties, and indeed additional responsibilities may be assigned, as required, by management.
Education and Experience:
* Bachelor's degree in Computer Science or related field required, Master's degree preferred.
* 4 years of hands-on experience with software development with both server-side and client-side programming/scripting languages required.
Knowledge and Skill Requirements/Specialized Courses and/or Training:
* Ability to manage a software development team.
* Demonstrate interpersonal and leadership skills required to interact with staff, colleagues, management and internal/external customers.
* Advanced experience with the development and support of web and/or mobile applications using programming/scripting languages such as Ruby, Swift, Objective-C, Go, Python or Java.
* Experience developing web applications using a MVC framework such as Ruby on Rails a plus.
* Strong iOS, Swift, and UIKit development skills are a plus.
* Experience with Agile development methodologies, preferably Scrum/Kanban.
* Advanced experience with version control software such as Git.
* Ability to work effectively with little supervision and strong attention to detail in a team environment.
* Requires the ability to work on multiple projects at the same time.
* Individual must be highly motivated and self-directed.
* Excellent troubleshooting skills.
* Excellent written and verbal communication skills.