Software engineers and developers for geographic information systems generally collaborate with core programmers on software project teams to build new ArcGIS for server software releases. They are involved in every step of the software development life cycle and guide new features and functions for end users, and also work with developers and product engineers to evaluate functionality, investigate customer issues, tweak automated tests in various harnesses, and even code new test fixtures to help the company build a better ArcGIS. They also provide skilled and reliable management of GIS services to help users maximize their potential and troubleshoot production issues in current and past software.
Duties of GIS software engineers include defining and organizing the help system; creating step-by-step tutorials; following the evolution of server technology; establishing and defining customer requirements; and understanding customer workflows.
A bachelor's or master's degree in GIS, computer science, or a related field is generally required for this position. Strong problem-solving skills, written and verbal communication skills, time management and organizational skills, and the ability to work well on teams as well as alone are highly beneficial. A working knowledge of graphics interchange file formats such as PDF, JPEG, and PNG and a working knowledge of computer graphics APIs such as DirectX and OpenGL are generally required.
Geographic Information Systems (GIS) Software Engineer / Developer / Programmer Tasks
Test and document software for client applications.
Write, modify, and debug software for client applications.
Write code to create single-threaded or user interface event driven applications, either stand-alone and those which access servers or services.
Use source debuggers and visual development environments.