To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skills, abilities, and competencies required.
- Solid understanding of Agile software development lifecycle process, such as Scrum.
- Comprehensive knowledge of and specific development experience in technologies that MAY include:
- SQL Server – Query construction, stored procedures, database design, performance analysis
- Web Services (WCF)
- XML including XPATH, XSLT, XSD
- C#, .NET Framework
- Visual Studio
- Identification and application of Design Patterns including façade, MVC, and standard OOP/OOD
- Proficiency in:
- N-tier and Enterprise Distributed Systems architecture
- Team Foundation Server (TFS)
- Unit testing
- Release/Configuration Management
- Performance Monitoring (CLR Profiler, Perfmon) and Load/Stress Testing
- Enterprise Library 4+
- Familiarity with Telerik products
- Experience and skills in facilitating and documenting technical and functional requirements as it relates to software projects and products.
- Ability to breakdown a requirement, create a high level design document from it, and code to that design.
- Capable of analyzing complex code to detect potential future problems.
- Has understanding of potential performance, security, scalability, and maintainability issues.
- Experience in software development and testing methodologies (performance/load testing, scaffolding development, interactive development, configuration management).
- Project management skills, including ability to define work plans, delegate work, monitor progress, and report scheduled variances and/or scope changes.
- Requires the ability to adapt to and work effectively within a variety of situations, individuals or groups, as well as understand and appreciate different and opposing perspectives.
- Requires the ability to effectively build and maintain friendly, warm relationships or networks of contacts with clients/customers.
- In-depth knowledge of software development best practices and the ability to provide technical assistance to junior staff members as needed.
- Requires the ability to compose and verbally deliver information of varying levels, using appropriate grammar, tone, inflection and non-verbal cues, while also listening to and correctly deciphering verbal communication delivered by others.
- Requires the ability and capacity to communicate ideas, facts and data in writing using appropriate grammar, syntax and sentence structure.
- Requires the ability to understand a situation by breaking it apart into smaller pieces, and/or tracing the implications of a situation in a step-by-step causal way.
- Requires the ability to understand a situation or problem by putting the different pieces together to see the bigger picture.
- Requires the ability and willingness to align his/her own behavior with the needs, priorities and goals of the organization.
- Demonstrated ability to prioritize competing demands and manage multiple concurrent tasks is required.
EDUCATION AND EXPERIENCE
- Must have Baccalaureate degree in an appropriate IT field such as Computer Science or Computer Engineering from an accredited U.S. college or university, equivalent foreign institution, or equivalent experience.
- Must have minimum of five years relevant work experience.
- Microsoft Certified Professional Developer (Enterprise) preferred.
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
This description is intended to describe the type and level of work being performed by a person assigned to this position. It is NOT an exhaustive list of all duties and responsibilities required by a person so classified. The job may require additional hours beyond the normal 40-hour workweek.