Manage team of developers to finish software development projects, including collect business needs, develop solution, assign tasks to developers, manage the progress, test the result, consolidate source code, deploy to server, publish to production.