Design—from being able to understand and faithfully implement a design to leading a design effort on a software project.
Development programmingthe skills and discipline necessary to create great software.
Writingthe 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.
Testingthe 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 programmingthe 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 releasethe 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 deploymentthe 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.