ASP.NET Developer Team Leader (BPM)

Overall Role Purpose of the ASP.NET Developer Team Leader
Responsible for the design, implementation and support of software solutions and system integration (including customer implementation and integration) to meet the specific business requirements of our client.
Responsibilities
People
Provide technical leadership and ensure that the team is consistently delivering working software to the standards and quality expected
Manage the development team by recruiting, training and mentoring developers, communicating job expectations and appraising their performance
Ensure that the team members are cross-skilled and no one person is solely responsible for any solution, task or activity.
Champion continuous learning so that the team skills continue to grow
Process
Work closely with the BPM team, business stakeholders, clients and IT to design and implement cost effective solutions to meet the specific needs of business and its customers.
Plan, direct and coordinate all software development related activities during the following broad phases of the software development life cycle (with a strong focus on Agile methodology):
Inception
Elaboration
Construction
Transition
Effectively communicate with the development team and business about best practices so that there is a common understanding about processes being followed
Stay abreast of the latest [Agile] software development methodologies and ensure the methodology is aligned with specific project needs.
Define and implement appropriate software development and support policies and procedures. Continue to explore process improvements and productivity improvements
Technology
Responsible for the architecture, design and development of software solutions within the client architectural framework and standards.
Responsible for the setup, documentation and maintenance of suitable development, testing and production software environments
Ensure a coherent enterprise architecture which supports the business architecture
Responsible for the support and maintenance of solutions
Ensure that the development technologies, frameworks and tools being used are up to date and aligned (in balance) with the business needs of our client. This is an ongoing process.
Ensure that source code and components are re-used across solutions and projects
Define and monitor the use of coding standards and best practices
Security of source code and backups
Proactively identify and assess problematic areas (including user concerns) and initiate appropriate solutions in time

Skills

Strong bespoke software development skills combined with good business acumen.
Proven solution design and implementation skills (bespoke development) based on tiered architecture.
Excellent analytical and problem solving skills. Must be able to translate business requirements into software requirements.
Ability to work to tight deadlines and within the constraints of a software project.
Strong UI design skills.
Solid modelling skills (preferably UML) incorporating:
Use Case Modeling
Domain Object modeling
Activity diagrams / process flow
State diagrams
Good communication skills (written and verbal)
Project management and organisational skills
Self-starter
Team player
Organised
Disciplined
Attention to Detail
Duties / Key Performance Areas
Technical Management and Leadership
Planning, coordination, and execution of development projects
Hold regular 1-on-1 meetings with all team members
Conduct regular code reviews to ensure standards are maintained and to mentor juniors
Prepare effort estimates for development work
Progress reporting (weekly)
Software Architecture
Ensure consistency and coherence in the technical design of solutions
Analysis and Design.
Ensure that solutions are designed within the constraints and priorities dictated by the business requirements.
Work closely with technical leads to ensure that the technical design (architecture and database) are in line with the architectural guide lines (whilst meeting the requirements).
Requirements Management.
Ensure requirements are clearly understood and modelled at an appropriate level of detail.
Clarify any ambiguity with the business user or team leader.
Ensure requirements are clearly understood and modelled at an appropriate level of detail.
Clarify any ambiguity with the business user or team leader.
Software Quality
Ultimately responsible for ensuring the team is consistently delivering working software to the quality standards expected
Minimize bugs and re-work

Qualifications and Experience
Education:
Relevant B.Sc. or B.Com Degree
Experience:
10+ Years professional software development experience
Extensive experience using Agile development methodologies
Extensive modelling experience (preferably UML)
Experience of Logistics and Supply Chain (highly desirable)
Technologies (Required):
C# (10+ Years)
SQL Server (10+ years) (Advanced T-SQL, SSRS, Optimization, Stored Procedure and Functions skills)
Entity Framework (5+ Years) (Code-First beneficial)
WCF / Web-API / Web-Services (10+ Years)
WPF / Silverlight (5+ Years) (Solid understanding of MVVM)
ASP.NET MVC (5+ Years)
HTML, CSS, JavaScript, jQuery, Angular (5+ Years)
MS Office Skills (10+ Years) (Advanced)
Technologies (Beneficial):
System Integration (Tibco and (or) Other Middleware)
Telerik (UI Frameworks and App Development Tools)
TFS (Team Foundation Server)
Twitter Bootstrap
NPM / Bower
Gulp / Grunt
LESS / Sass
SharePoint