Job Description :
Plans, develops, tests, and documents computer programs, applying knowledge of programming techniques and computer systems. Evaluates user request for new or modified program, such as for financial or human resource management systems, clinical research trial results, statistical study of traffic patterns, or analyzing and developing specifications for bridge design, to determine feasibility, cost and time required, compatibility with current system, and computer capabilities. Consults with user to identify current operating procedures and clarify program objectives. Formulates plan outlining steps required to develop program, using methodologies such as structured analysis and design or object-oriented development.

Work involves assisting in analyzing systems outlines to develop programs for computer applications, writing solution programs, documenting the methods and procedures used in program development, and testing and correcting programs. Works under moderate supervision with limited latitude for the use of initiative and independent judgment. Develops block diagrams and machine logic flowcharts to represent operations and data flow for applications.

Captures requirements using industry standard development frameworks and tools. Designs reports, forms and letters along with computer terminal screen displays to accomplish goals of user request. Reviews screens, reports, forms and letters designs with users. Converts project specifications, using industry standard tools, such as object-oriented tools and code generation, into sequence of detailed instructions and logical steps for coding into language processable by computer, applying knowledge of computer programming techniques and computer languages.

Enters program codes into computer system. Enters commands into computer to run and test program. Reads computer printouts or observes display screen to detect syntax or logic errors during program test, or uses diagnostic software to detect errors. Replaces, deletes, or modifies codes to correct errors. Analyzes, reviews and alters program to increase operating efficiency or adapt to new requirements. Writes documentation to describe program development, logic, coding, and corrections. Writes manual for users to describe installation and operating procedures. Assists users to solve operating problems. Recreates steps taken by user to locate source of problem and rewrites program to correct errors. May use computer-aided software tools in each stage of system development. May train users to use program. May oversee installation of hardware and software. May provide technical assistance to program users. May install and test program at user site. May monitor performance of program after implementation. May specialize in developing programs for business or technical applications.

Must be proficient in Microsoft .net programming language with preference to C# and have developed using Model View Controller patterns.

Must have an understanding of general database concepts, and must understand the architecture of clients, servers, and Internet systems.

Must be able to:
Write functional and design specifications for Web applications.
Create and implement Web sites
Create and monitor Web applications for clients and servers
Design and deliver Web services
Code, test, and support database-driven Web applications
Be proficient in HTML and XML
Understand object-oriented programming

Also must be proficient in:
Application and page life-cycle management using the MVC pattern
Security aspects, such as forms authentication and membership and roles
JavaScript
Internet Information Services (IIS)
Configuration and deployment of Web applications
Consumption and creation of server controls
Troubleshooting and debugging of Web applications
ASP.NET AJAX and client-side scripting
Database, Data access and Data retrieval
Data updates
SQL
Application implementation by using data services
Web applications'' security principles
Solid understanding of the ASP.NET applications event model
Language Integrated Query
Planning and designing user interaction solutions
Extend ASP.NET architecture
Develop the full cycle of software applications

Minimum required experience is eight years'' experience in Microsoft development environment.
Desired experience using automated testing tools and creating testing scripts with Selenium testing tool, including having crafted a large test suite to meet the business requirements, a working knowledge of design patterns and advanced Selenium Webdriver skills in a live project, an ability to coach junior team members, have automated data-driven and localization related test requirements, should have done cross browser testing and aware of the challenges.
             

Similar Jobs you may be interested in ..