Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
The Software Development Manager leads a team of software developers in the application development, unit testing, and integration testing of the company's portfolio of products using a wide range of technologies, programming languages and systems.
Essential Duties & Responsibilities:
- Provide technical and team leadership in all areas of application development.
- Manage the day-to-day activities of the development team while adhering to the company’s overall development strategy as defined by the Development Manager.
- Utilize established development tools, guidelines and coding conventions including but not limited to Visual Studio, ASP.NET, SQL Server, HTML, CSS, JavaScript, Database Stored Procedures and C#/VB.NET to develop world-class software applications.
- Coach and develop team members on the development of high-quality code and applications.
- Perform regular design and code reviews with development team members to confirm use of best practices and identify opportunities for one-to-one mentoring and development.
- Optimize performance of the agile-development lifecycle by ensuring consistent, successful sprints by working to reduce blocking issues for the team.
- Contribute to meeting project and product development goals on-time and on-budget.
- Actively participate in the definition of both functional and non-functional requirements of a system and define the development strategy, standards and support tools.
- Translate business requirements into an application by implementing the best strategy to ensure design meets performance, usability, reliability, and scalability standards.
- Translate complex functional and technical requirements into detailed development tasks.
- Prioritize tasks assigned to the development team based on priorities communicated by senior management.
- Ensure the technical team develops detailed documentation for all source code.
- Participate in and manage the release process as instructed by the Development Manager.
- Maintain team’s current technical knowledge to leverage rapidly changing technology through formal and informal team training.
- Accurately estimate the duration of design, development, and testing tasks.
- Build an effective development team by recruiting and retaining talented high-performance developers, and conducting effective performance reviews of team members.
- Contribute to and enforce the technology policies, organization, and processes that produce predictable, efficient development of world-class software.
- Monitor task queues and issue-logs; allocate resources to ensure on-time completion of tasks and resolution of issues / bugs.
- Develop, foster, and enforce team accountability to meet commitments.
- Complete special projects and assignments as assigned.
Job Requirements
- Bachelor’s degree in Computer Science or equivalent.
- Minimum of 7 years of hands-on development experience based in the Microsoft technology stack, including IIS, Windows Server, .NET, and SQL server.
- Minimum of 3 years of leadership experience as a technical lead, senior developer or similar role.
- Minimum of 2 years of hands-on agile development lifecycle experience.
- Microsoft Certified Technology Specialist (MCTS) certification.
- 80 Hours of Director or VP approved training course / lab work in effective management skills / methods, business soft skills, communication, time management, task management, project management, business analysis or relevant work experience.
- 40 Hours of Director or VP approved training course / lab work in web application development technologies or relevant work experience.
- Solid hands on experience in the following languages/tools/environments:
- MS .NET Framework 3.5, 4.0, 4.5 (WCF, WPF and WF)
- Visual Studio .Net 2010/2012
- C# .NET, VB .NET
- AJAX, JavaScript, jQuery, HTML5, CSS 3.0
- XML, XPath, XSLT, DOM and XML schemas
- OOP and UML
- MVC
- Relational Databases
- PL/SQL
- SQL
- MSSQL
- ETL
- Integration Services
- Reporting Service
- Analysis Service
- Experience in eLearning applications, Experience in Enterprise Resource Planning (ERP) and/or Document Management (DMS) systems.
- Hands on experience leading SCRUM agile development teams through sprint planning, sprint development cycles and sprint retrospectives.
- Strong ability to provide accurate time estimate of development tasks based on high level requirements.
- Strong ability to self-manage workload and appropriately respond to changing business priorities to contribute to project success.
- Strong ability to design classes, methods and other code libraries in organized, logical and easily maintainable structures.
- Proficiency in Windows Architecture; APIs, Windows Services and Web Services.
- Experience with Enterprise Service Bus (ESB) architectures.
- Expert understanding of Microsoft Solutions Framework (MSF) for Agile Software Development and other Agile Software Development frameworks.
- Positive, proactive and motivated self-starter with ability to balance team and individual responsibilities.
- Expert knowledge and experience with build and release management.
- Must be a high-energy leader able to delegate and mentor effectively, yet get deeply involved with work when required to achieve results or demonstrate effective behavior.
- Excellent written and verbal communication skills.
- Experience in quality assurance processes/tools.
- Strong analytical and problem solving skills.
- Excellent leadership skills.
- Excellent time management skills.