Overview and Summary:|
Urban Science is currently architecting our next generation web-based Business Intelligence framework. This framework will provide a best in class application development platform supporting the rapid development and implementation of web based decision support applications. This framework will include best of breed technologies, including: complex mapping; data mart integration; extensible MVC web tier; dashboards; and OLAP reporting.
The Sr. Software Developer will be responsible for software design and implementation. This individual will be seen as an expert in their field of technology and will have hands on development responsibilities along with leadership and mentoring responsibilities for developers and junior developers. Additionally, this resource will may assist in the enhancement of our current web application framework as needed.
Essential Duties and Responsibilities:
Program and implement new functionality for the Urban Science software applications. (including design, design reviews, coding, code reviews, unit testing, and configuration/release management).
Participate in the development of design specifications with other members of the software development team.
Adhere to, support, and continuously improve processes.
Collaborate with Practice Leadership and Business Analysts to identify client needs and ensure congruence with Technical Development capabilities, including design and development of new products.
Create necessary technical documentation in support of programming and design activities such as release notes, code comments, use cases, and training materials and load into TFS (Team Foundation Server).
Assist with the development and delivery of technical training on new applications and application updates.
Be capable of independent design for high complexity Component or Module .
Show proper utilization of industry standard design patterns.
May mentor other developers.
Perform peer code and design reviews.
Provide detailed effort estimates to team and project managers.
Qualifications - Education and Experience:
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, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Ability to learn and use PSP (Personal Software Process) and TSP (Team Software Process).
Comprehensive knowledge of and specific development experience in technologies that MAY include:
Web Services (WCF, ASMX, WSE 3.0)
Workflow Foundation (WF)
XML including XPATH, XSLT, XSD
C#, .NET Framework along with basic knowledge of IIS
Identification and application of Design Patterns including façade, MVC, and standard OOP/OOD
ADO.NET and Entity Relational Modeling including SQL Server database design and implementation experience, Visual Studio Database Project, Transact SQL (T-SQL), Views, Object-Relational Mapping tools, and Stored Procedures.
N-tier and Enterprise Distributed Systems architecture
Unified Modeling Language (UML)
Team Foundation Server (TFS) or other Version Control Solutions (CVS, Subversion)
Test Driven Development (unit testing at a level sufficient to teach others)
Enterprise Library 4+
Performance Monitoring (CLR Profiler, Perfmon) and Load/Stress Testing
Experience and skills in facilitating and documenting technical and functional requirements as it relates to software projects and products.
Experience in software development and testing methodologies (performance/load testing, scaffolding development, interactive development, configuration management).
Show evidence of strong problem solving skills including the ability to perform root cause analysis and troubleshooting.
Project management skills, including ability to define work plans, delegate work, monitor progress, and report scheduled variances and/or scope changes.
Ability to collaborate and identify/resolve conflicts or barriers to effective teamwork.
Excellent oral and written communication skills necessary to express ideas clearly to individuals and groups outside of Urban Science.
Presentation skills required to enable the development and delivery of formal presentations.
Ability to prioritize competing demands, manage multiple concurrent tasks and adapt to changing priorities.
Ability to analyze problems, determine and implement appropriate solutions.
EDUCATION AND EXPERIENCE
Must have a baccalaureate degree in a technical field (computer science, engineering, applied math, applied science, etc.) from an accredited U.S. college or university, or equivalent foreign institution.
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.