Develop all levels of block diagrams and machine logic flow charts.
Code, compile, prepare test data, test and debug programs.
Revise and refine programs as required.
Design and code screen layouts, graphical user interfaces, printed outputs and interfaces with other systems.
Ensure consistency and satisfaction of interface requirements for new and enhanced programs and systems with other new and existing programs and systems.
Analyze, define, and document requirements for data, workflow, logical processes, hardware and operation system environment, interfaces with other systems, internal and external checks and controls, and outputs.
Analyze software requirements to determine feasibility of design.
Analyze and estimate feasibility, costs, time, and compatibility with hardware and other programs.
Research and evaluate software and hardware to assist in programming or to use as program platforms.
Write and maintain technical specifications.
Document program development, logic, coding, testing, changes and corrections.
Write and review documentation that describes installation and operating procedures.
Archive project related files (source code, report files, test scripts, etc.).
Maintain and enhance source code management/release management tools and activities.
Research and analyze reported problems and modifications.
Participate in all aspects of user consulting, systems analysis, general systems design, vendor contracts and detail system design.
Learn user functions, organization and role in the company to the extent required.
Consult with clients to gather information about program needs, objectives, functions, features, and input and output requirements.
Consult with clients to prototype, refine, test, and debug programs to meet client requirements.
Prepare project plans and schedules for application systems development efforts including definition of project scope and global implementation strategies.
Prepare software packages for release management.
Create and execute programs to benchmark performance of other programs and identifies system areas needing optimizing.
Review performance recommendations of others.
Assist in monitoring assigned organization development projects to ensure consistency and satisfaction of interface requirements for specific newly developing systems.
Provide technical assistance by responding to inquires from others regarding errors, problems, or questions about programs, including after hours support on a rotating schedule.
Train end users or technical support staff to use designated applications.
Install and test programs at client sites.
Monitor performance of programs after implementation.
Provide tutoring, mentoring, and technical leadership to lower level classifications and assist in developing the skill sets of other team members.
Responsible for change management and identifying budgetary consequences.
Formally track and report hours worked and status of all assigned projects.
Stay abreast of industry/company activities via seminar, training classes, industry publications, etc.