Description
A Senior Software Engineer's role is lead all software design efforts for a given project or set of projects. These responsibilities include: design, code, test, and analyze software programs and applications; work with project management to establish estimates, maintain scope of work, and analyze requirements; and work with software architects to design solutions for business problems. A Senior Software Engineer is also responsible for providing recommendations to improve elements of the software life cycle process and to participate in the ongoing maintenance of production applications.
Requirements
5+ years of experience with C# on the Microsoft.NET Framework 4+ years of experience with ASP.NET Be able to demonstrate advanced working knowledge of data access routines using ADO.NET Advanced understanding of the C# language (objects, events, methods, delegates, etc.) Be able to demonstrate usage of Business Objects to accomplish various tasks including: data access, validation, exception handling, events, etc.) Ability to understand various application tier models Solid understanding of architectural design patterns and best practices design techniques 4+ year(s) of experience with SQL Server 2000+, SQL, T-SQL, and schema design (tables, views, functions, stored procedures, and triggers) Be able to demonstrate usage of SQL/T-SQL to accomplish various database tasks Be able to understand complex SQL/T-SQL Ability to maintain and administrate Internet Information Services 5.0 + Strong familiarity with Windows Server 2000+ Professional, courteous, and must have polished communications Hands-on software troubleshooting experience. Flexible and adaptable in regards to learning and understanding new technologies. Knowledge of applicable data privacy practices and laws. Strong written and oral communication skills. Strong interpersonal skills. Ability to conduct research into software-related issues and products. Highly logical. Technically proficient. Highly self motivated and directed. Keen attention to detail. Proven analytical and problem-solving abilities. Ability to effectively prioritize and execute tasks in a dynamic, high-pressure environment. Experience working both independently and in a team-oriented, collaborative environment. Responsibilities
Design and code application functionality using current OO methodologies. Interpret design documents and develop relevant application functionality. Assist in the preparation and documentation of program requirements and specifications. Research and document requirements of program users. Run and monitor software performance tests on new and existing programs for the purposes of correcting errors, isolating areas for improvement, and general debugging. Administer critical analysis of test results and deliver solutions to problem areas. Assist in the development and maintenance of user manuals and guidelines. Conduct research on emerging application development software products, languages, and standards in support of procurement and development efforts. Recommend, schedule, and perform software improvements and upgrades. Manage and/or provide guidance to junior developers. Work Conditions
Overtime hours may be required to meet project deadlines. Sitting for extended periods of time. Dexterity of hands and fingers to operate a computer keyboard, mouse, and other devices. Some travel may be required.