Bachelor's degree in computer science (or related discipline) required and 7 years of relevant work experience
Experience:
- 7 - 15+ years of experience in professional software development.
Qualifications desired:
Technical Competencies:
- 7+ years' experience in developing .NET technology solutions (other languages acceptable).
- 4+ years' experience in developing hosted web-based software solutions.
- 4+ years' experience in developing Unit and/or Integration Tests.
- 4+ years' experience with SQL Server or Oracle database technologies
- Experience with software architectural designs (5-Tier layers, Business Logic, Unit of work, etc.)
- Experience with software design patterns (i.e. Repository, Factory, Dependency Injection, etc.)
- Experience with software development processes for Waterfall and Agile/Scrum.
- Experience with software requirements assessment as well as implementation of such requirements.
- Experience with automated testing, continuous integration builds, and automated deployment processes.
- Experience with source code repositories and code check-in processes (i.e. TFS, Code Reviews, etc.)
Essential functions and responsibilities:
- In-Depth knowledge of technologies such as C#.NET, MVC & SPA, Angular for .NET, Entity Framework and code first database generation, Javascript & jQuery, CSS/HTML, TSQL and Stored Procs.
- In-Depth knowledge of tools used in .NET Software Development (Visual Studio 2012/2013, Entity Framework PowerTools, ReSharper, Team Foundation Server, SQL Server Management Studio, SSRS/SSIS packages).
- Lead the development team to ensure that software products deliver business value, are completed on time, are of high quality, and minimize technical debt.
- Lead the coding efforts within a project team. Clearly communicate actionable information to the project team.
- Develop and document software designs that emphasize usefulness/usability, stability, performance, and reusability.
- Assist with debugging efforts within the project team.
- Establish and uphold firm expectations and ensure that deliverables are self-certified prior to transitioning to the downstream consumers of the deliverable (QA and customers).
- Participate in the assessment and identification of project and/or business risks.
Nonessential skills and experience:
- Participates in Software Development, team, or individual meetings with management, preparing discussion topics and presenting information in a professional manner.
- Develops personal development plans and demonstrates progress to the established goals.
- Performs other duties as assigned by management.
Success factors/job competencies:
- Ability to be given direction once and apply logic in future tasks
- Must be able to effectively & efficiently multi-task, set and shift priorities and adapt to change
- Knows when to ask questions or when to resolve on own
- Excellent organizational, written and verbal communication skills a must
- Ability to handle sensitive and/or confidential material strictly in accordance with company policy, RMA guidelines
- Demonstrate flexibility and a willingness to learn
- Attention to detail
- Ability to present a positive and effective professional image in all settings
- Ability to articulate ideas to both technical and non-technical addressees
- Continuous attention to technical excellence (self-development)