Determines computer user needs; analyzes system capabilities to resolve problems on program intent, output requirements, input data acquisition, programming techniques and controls; prepares operating instructions; designs and develops autonomous services, desktop applications, web applications, scripts, and utility programs. Conducts analysis and collaborates with subject matter experts in the planning, design, development, and utilization of electronic data processing systems for information storage, processing, presentation, manipulation, display, or reporting.