Software Development Manager
The Public Library of Science (PLoS) - San Francisco, CA

This job posting is no longer available on The Public Library of Science (PLoS). Find similar jobs:Software Development Manager jobs

We are currently seeking a Software Development Manager to lead our software development team, including QA engineers, within our rapidly growing San Francisco office. The successful candidate will manage a team of strong/opinionated individuals in the development of Ambra, an Open Source publishing platform, and associated technologies.

We are looking for a candidate who likes fast paced software development life-cycles based on Agile/Scrum methodologies, understands business goals and priorities, has experience working closely with Product and Project teams, and thrives on getting the best performance from talented individuals. You will be expected to commit code to software products based on Java and J2EE technologies. This position reports directly to the IT Director.

  • Manage a high performance development team. Set team policies, remove obstacles, coach and mentor the team, have weekly 1:1 meetings, resolve conflicts, design career paths, and identify professional growth opportunities.
  • Lead the team’s development using Agile/Scrum methodologies. Map the team’s work to business objectives. Allocate tasks to resources when appropriate.
  • Work closely with the Product team on feature requirements, break down large projects into smaller components, and help estimate engineering tasks.
  • Manage the QA process, work with the QA engineers to define quality control objectives for each Sprint, review and tune QA processes, and guide testing automation efforts,
  • Run Planning Poker sessions, task break-downs sessions, design and code reviews, and Retrospectives.
  • Review engineering process workflows for continuous integration and continuous deployments. Put efficiency improvements into action.
  • Work with the ScrumMaster to maintain Sprint artifacts like the Burndown chart, Task Board, velocity, and the other associated engineering tasks for each Sprint.
  • Help define releases, schedule platform upgrades, and review production deployment plans.
  • Interface with third-party developers, contractors, vendors and partners, and help to define requirements for integrations with external parties.
  • Maintain engineering documentation and champion Agile/Scrum best practices.
Qualifications and Experience:
  • 8+ years of software development experience with an emphasis in consumer web applications, content management systems or electronic publishing systems.
  • 5+ years of engineering management experience with at least 1 year managing a team using an Agile methodology, preferably Scrum.
  • B.S. in Engineering or Computer Science or equivalent experience.
  • Proven ability to lead a small development team in a demanding, fast-paced environment.
  • Experience using Agile/Scrum methodologies for iterative software development.
  • Expert in Java application development with experience using tools like Struts 2 (Webwork), Spring, and Maven.
  • Experience with dynamic scripting languages such as Ruby or Python.
  • Strong understanding of software design patterns, SOA architectures, and API design.
  • Experience with continuous integration and continuous deployment.
  • Experience working with software engineering management systems, such as Trac, Jira, etc.
  • Experience with Test Driven Development a plus.
  • Familiarity with selecting and implementing Open Source technologies, and knowledge of how community driven software development works.
  • Knowledge of user interface design and usability analysis of content delivery systems a plus.
  • Extremely capable communicator; able to understand business requirements and create concise technical requirements for communicating between business owners and developers.
  • Strong organization and problem solving skills that include the ability to respond to changing business priorities.
  • Proven ability to build effective relationships with management, peers and subordinates.
  • Must be self-motivated, have the ability to multi-task and have a flexible and positive attitude.
  • Excellent analytical and problem solving skills.
  • Strong written, verbal, and presentation skills are required.
  • Must have good planning and organizational skills.