Careers

Careers

Frequently Asked Questions

ArcGIS Development

Show/Hide All Answers
What is ArcGIS software?

ArcGIS is an integrated system of comprehensive GIS software products and services that help users solve problems and work more effectively across a range of disciplines and professions including all levels of government, businesses, and organizations of many kinds. ArcGIS is one of the most sophisticated software systems available worldwide.

ArcGIS provides a scalable framework for implementing GIS for a single user or for many users on desktops, in servers, over the Web, and in the field. ArcGIS is in use today in more than 300,000 organizations worldwide that apply GIS to address many of the world's most pressing problems and issues.

How is ArcGIS development work organized?

Building ArcGIS is a team-oriented experience—we organize our work as a series of focused project teams. Each team is typically composed of 8 to 12 highly motivated individuals. Team members have overlapping talents as well as complementary skills that add to each team's strengths and capabilities.

Each development team takes full responsibility for designing, developing, testing, documenting, releasing, and supporting its specific aspects of the ArcGIS software system. Each team focuses on solving user problems as effectively as possible.

Many employees on our project teams specialize in a particular aspect of GIS such as mapping, 3D, raster, geoprocessing, geodatabases, interoperability, network analysis, surveying, geometry, and GIS algorithms. And just as often, our employees have a broad range of general GIS and IT skills. They take a more general, holistic approach to GIS and its capabilities—how to build and deploy GIS, what is the complete set of software tools that enables users to do this successfully, and what are the common problems that GIS users are trying to solve.

What are some of the responsibilities of ArcGIS development teams?

A typical development project lasts 12 to 18 months. During this time, teams focus on specific product releases as well as functional areas such as data management, editing and data conversion, cartography, raster geoprocessing, interoperability, and 3D GIS. Each team's goal is to complete quality software that can be combined with other software components to comprise a highly effective software release that includes the software, installation media, and comprehensive user documentation—all organized into a series of shipping products. Increasingly, these software releases also include access to online services that are deployed by Esri to all users on the Web (referred to as ArcGIS Online).

Because the teams are small, focused, and highly talented, each member is able to make significant contributions to each new software release that is shipped to and used by thousands of people around the world. It's an awesome opportunity but also an important responsibility. We are looking for special people who are able to make such a commitment to our customers.

What drives ArcGIS software design?

The primary focus is on addressing our users' needs. Development projects begin with a collection of ideas from our users, marketing requirements, and the vision of individual team members. These ideas are then turned into a product design and specifications that cover:

  • Software functionality
  • Software architecture
  • User interface design
  • Design and outline for the user documentation (online and printed)
  • Deployment methodologies and best practices for our users
  • Testing requirements and a test plan

The goal is to build software that works and provides users with comprehensive, helpful tools as well as the methodology for building a complete GIS.

What unique qualities do you look for in prospective employees?

We are searching for prospective employees who know how to effectively work on teams and can efficiently complete projects. We want engineers with software experience as well as professionals with applied GIS knowledge. We want employees who can stay focused and have the discipline to fix software errors and issues. We need staff who can stay intellectually curious and diagnose hard-to-solve software problems. We need more than people who can solely dream up the possibilities—we need employees who have the discipline to implement and deliver results founded on great ideas.

We like employees who have done well in school. For example, many of our employees have completed master's degrees or higher. We like the discipline and personal responsibility that is demonstrated by setting high goals and meeting such accomplishments. Applied knowledge is a very important trait that we look for. We want employees who have experience utilizing what they have learned. We find that great insight comes from building new systems, completing projects, and applying the concepts and principles learned in the classroom.

In addition to these characteristics, we look for individuals who have special skills and experience in one or more of the following disciplines:

Design—from being able to understand and faithfully implement a design to leading a design effort on a software project.

Development programming—the skills and discipline necessary to create great software.

Writing—the ability to write clear user documentation on how to apply ArcGIS to address real problems. This requires a solid understanding of GIS methods and concepts.

Testing—the ability to test our software in ways that we expect our users to deploy our systems, in addition to isolating, diagnosing, repairing, and resolving software problems. This is to ensure that Esri software works as expected, scales to large data sizes and numbers of users, and is robust and continues to work around the clock. This is one of our most important roles in ArcGIS development.

Applications programming—the ability for .NET, Java, and Web developers to use ArcGIS to build custom applications, extensions, and solutions. This includes capturing the best practices and methods for ArcGIS developers to employ in their day-to-day work.

Software release—the process of managing the release of robust, high-quality software products in which all issues have been uncovered and resolved. This includes the responsibility to deliver software patches and service packs for existing software releases that address key issues encountered by our users.

User support and deployment—the ability to understand the tasks our users must perform, the methodology or best practices to accomplish critical work tasks, and how we can improve our software to better support users in their daily operations. This is achieved by using the software in the same manner as our customers and can involve working side by side with customers to learn about and better understand our users' needs.


Contact Us | Privacy | Legal | Site Map