Portal Development Job Description

PURPOSE:

The incumbent develops server and client software products and demonstration models. This includes: assisting in the analysis and specification of requirements by interpreting user needs, evaluating results and applying knowledge of requirements; developing and revising product prototypes; producing a software design to realize the requirements. When the incumbent manages and has responsibility for a component of the overall project in which s/he is working, in some instances s/he coordinates and is responsible for other programmers. S/he must therefore communicate the developed design to other programmers that s/he is working with. The incumbent will then implement the software design and may coordinate the work of other programmers if necessary. Frequently the product will be integrated into an existing product, close cooperation and integration with the industry partner and/or open source community is required in these cases.

QUALIFICATIONS:

Formal Education:

Bachelor's degree in Computer Science or Engineering with advanced courses in computer software, computer interface, or equivalent in education and experience.

Experience:

A minimum of three years of software development experience is required; additional years of experience strongly preferred. Experience in developing Java Enterprise Edition (J2EE) solutions is required. Experience in designing and developing at least one commercial software product from inception to deployment in Java is preferred. The incumbent should have a minimum of two years experience working with automated testing frameworks. Experience in a networking environment with working knowledge of one or more networking protocols is preferred.

Other:

A demonstrated ability to coordinate other programmers is preferred. Strong object oriented software design skills and knowledge of UML are required. Highly developed programming skills in Java are required. A good knowledge of XML is required and the incumbent must have experience developing software that processes XML data. Ability to plan and work towards a deadline; demonstrated understanding of and ability to communicate both functional and technical requirements to individuals with varying knowledge bases.

MATERIALS, EQUIPMENT, & OUTCOMES:

Equipment Used:

The incumbent works with Windows, Linux, or Macintosh software development workstations.

Outcomes/Consequences of Error:

Errors in judgment can result in failure of the project, loss of money and time, both by the University project team but also partners in the project. This could result in loss of credibility for the project team, jeopardizing future development grants. Errors may include failure to interpret user needs correctly, developing unrealistic specifications, programming errors, failure to coordinate development with partners in the project or poorly coordinating the work of other programmers.

DUTIES:

Design Network Support

The incumbent is responsible for conducting analyses of network development and deployment needs; evaluating and recommending hardware to complement network development software products; installing, customizing and maintaining the development software and development tools for the local and networked environments. The incumbent will deploy, manage and maintain the network development system for testing and production by users.

Design Software

The incumbent will be responsible for interpreting requirements and developing software designs that realize those requirements. Those designs will then be used to implement the required software. In the case that the incumbent is coordinating other programmers the designs will be used to direct the implementation of those programmers also. Software designs will typically take the form of UML diagrams and documents.

Program Software Products and Demonstration Models

The incumbent must program the software according to the requirements, implementation plan and software design. The software products must be well integrated into the overall project. In most cases the products will be programmed in Java and must include comprehensive software documentation and tests.

Coordinate Computer Programmers

When the incumbent manages and has responsibility for a component of the overall project in which s/he is working, in some instances s/he coordinates other programmers. In this case the incumbent will be responsible for assigning tasks and monitoring the progress of those programmers. This will be done through holding meetings in which s/he must assign tasks, provide advice and direction, and answer questions to clarify understanding.

Coordinate with industrial or public sector partners

At times, the incumbent is required to work with industrial or public sector partners representing consumers. This will involve attending meetings with those partners both as part of the project team and individually. Meetings may involve discussing project requirements, technical issues, or project progress.

Provide technical leadership

The incumbent will be expected to communicate knowledge and skills and provide leadership to other staff by providing advice on a daily basis in areas of experience and expertise. S/he will also have the opportunity to give seminars and presentations to his or her department.

Develop Requirements

Together with the Project Manager and Usability Testing Coordinator the incumbent will develop detailed software requirements. The requirements will accommodate the data derived from user surveys, system developer surveys, usability testing literature reviews and the constraints of the application software.

Develop Implementation Plan

Together with the Project Manager and possibly the industrial partner, the incumbent will develop a detailed Implementation Plan. This may include assigning responsibilities to other programmers.

Design and Program Prototype

The incumbent will develop a prototype or prototype modules which meet the software requirements. The prototype will be developed using interface authoring tools e.g., Visual Basic and will be sufficiently robust to allow evaluation by user/testers.

Respond to and Integrate User Feedback

In all stages of developing the software model or product the incumbent must respond to user input. This input will be obtained by the Usability Testing Coordinator through user surveys, structured user evaluations and Beta tests. The incumbent must interpret this input into technical specifications on the assigned platform.

Assist in Authoring Documentation

The Access Software Designer/Programmer must assist the Usability Testing Coordinator in preparing documentation.

Present Software Products to Community

The incumbent and other team members will present the Software Product at conferences and over the Internet.

Train technical support staff

The incumbent must assist in training technical support staff of industrial partners or public sector partners using the product.

Challenges and Difficulties encountered would include:

When designing and implementing the software product the incumbent's decisions will include the choice of programming languages, data types and algorithms to satisfy the functional, storage and processing speed requirements. Frequently, the incumbent will have to make decisions on how to integrate the software product with the functions of a host product, for example transforming internal data or programming interface into that expected by the host product.

When the incumbent coordinates other computer programmers, s/he is responsible for assigning tasks to them and monitoring their progress.

Often the incumbent must develop methods of accommodating software requirements for software products into products directed at the general market without compromising the integrity or reliability of the general product. Frequently conflicting needs and design requirements must be integrated.

The incumbent must be able to manage time and make difficult design decisions and compromises to meet tight timelines. S/he must also be able to delegate tasks and coordinate the work of others.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.