Hiring guide for Arc Engineers

Arc Developer Hiring Guide

Arc is a programming language, developed by Paul Graham and Robert Morris in 2008. It's a dialect of Lisp, designed for exploratory programming and emphasizing simplicity over formal structure. The language was created as an experiment in how minimalist a practical language could be, focusing on expressive power rather than raw performance. Arc is open-source and its implementation is available under the Artistic License 2.0. Its development has been discussed extensively on the online forum Hacker News, which was originally written in Arc.

Ask the right questions secure the right Arc talent among an increasingly shrinking pool of talent.

First 20 minutes

General Arc app knowledge and experience

The first 20 minutes of the interview should seek to understand the candidate's general background in Arc application development, including their experience with various programming languages, databases, and their approach to designing scalable and maintainable systems.

Can you explain what ArcGIS is?
ArcGIS is a geographic information system (GIS) for working with maps and geographic information maintained by the Environmental Systems Research Institute (Esri). It is used for creating and using maps, compiling geographic data, analyzing mapped information, sharing and discovering geographic information, using maps and geographic information in a range of applications, and managing geographic information in a database.
How would you use ArcGIS for data visualization?
ArcGIS provides a rich set of tools and capabilities for visualizing data. This includes creating various types of maps, such as thematic maps, heat maps, and 3D maps. It also includes creating various types of charts and graphs, such as bar charts, pie charts, and scatter plots.
What are the key components of ArcGIS?
The key components of ArcGIS include ArcMap, ArcCatalog, ArcToolbox, ArcScene, and ArcGlobe. Each of these components serves a specific purpose and provides specific capabilities.
Describe the difference between ArcMap and ArcCatalog.
ArcMap is the main component used for map creation and geographic data analysis, while ArcCatalog is used for data management, including browsing, searching, and organizing data.
How would you handle data conversion in ArcGIS?
ArcGIS provides a variety of tools and capabilities for data conversion. This includes tools for converting data between different formats, such as shapefiles, geodatabases, and CSV files, as well as tools for converting data between different coordinate systems.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

What you’re looking for early on

Does the candidate demonstrate a deep understanding of ArcGIS platform?
Has the candidate shown problem-solving skills?
Is there evidence of the candidate's ability to work in a team?
Has the candidate discussed their experience with programming languages like Python or JavaScript?

Next 20 minutes

Specific Arc development questions

The next 20 minutes of the interview should focus on the candidate's expertise with specific backend frameworks, their understanding of RESTful APIs, and their experience in handling data storage and retrieval efficiently.

What is geocoding and how would you use it in ArcGIS?
Geocoding is the process of converting addresses into geographic coordinates, which can then be used to create maps. In ArcGIS, geocoding is used to create point features from address data, to display the location of an address on a map, or to create routes and directions.
How would you perform spatial analysis in ArcGIS?
ArcGIS provides a rich set of tools for spatial analysis. This includes tools for analyzing patterns, mapping clusters, measuring geographic distributions, and modeling spatial relationships. These tools can be used to answer geographic questions and to make predictions or decisions based on spatial data.
What is a geodatabase and how would you use it in ArcGIS?
A geodatabase is a database that is used to store, query, and manipulate geographic information and spatial data. In ArcGIS, geodatabases are used to manage and organize data, to perform complex queries and analysis, and to create and edit geographic features.
Describe the difference between vector and raster data in ArcGIS.
Vector data represents geographic features as points, lines, and polygons, while raster data represents geographic features as grid cells. Vector data is used for representing discrete features, such as roads and buildings, while raster data is used for representing continuous features, such as elevation or temperature.
How would you handle large datasets in ArcGIS?
ArcGIS provides a variety of tools and techniques for handling large datasets. This includes using geodatabases for efficient data storage and management, using map layers for efficient data visualization, and using geoprocessing tools for efficient data analysis.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

The ideal back-end app developer

What you’re looking to see on the Arc engineer at this point.

At this point, a skilled Arc engineer should demonstrate strong problem-solving abilities, proficiency in Arc programming language, and knowledge of software development methodologies. Red flags include lack of hands-on experience, inability to articulate complex concepts, or unfamiliarity with standard coding practices.

Digging deeper

Code questions

These will help you see the candidate's real-world development capabilities with Arc.

What does the following simple Arc code do?
(def add (a b) (+ a b))
This code defines a function named 'add' that takes two parameters 'a' and 'b'. The function returns the sum of 'a' and 'b'.
What will be the output of the following Arc code?
(= x '(1 2 3)) (pop x)
The output of this code will be '1'. The '= x '(1 2 3)' part assigns the list '(1 2 3)' to the variable 'x'. The 'pop x' part removes and returns the first element of the list stored in 'x', which is '1'.
What does the following Arc code do?
(def map (f xs) (if (no xs) nil (cons (f (car xs)) (map f (cdr xs)))))
This code defines a function named 'map' that takes a function 'f' and a list 'xs' as parameters. The function applies 'f' to every element of 'xs' and returns a new list with the results. If 'xs' is empty, the function returns 'nil'.
What does the following Arc code do?
(def atomic-increment (x) (atomic (assign x (+ x 1))))
This code defines a function named 'atomic-increment' that takes a variable 'x' as a parameter. The function atomically increments the value of 'x' by 1. The 'atomic' function ensures that the increment operation is thread-safe.

Wrap-up questions

Final candidate for Arc Developer role questions

The final few questions should evaluate the candidate's teamwork, communication, and problem-solving skills. Additionally, assess their knowledge of microservices architecture, serverless computing, and how they handle Arc application deployments. Inquire about their experience in handling system failures and their approach to debugging and troubleshooting.

What is a map projection and how would you handle it in ArcGIS?
A map projection is a mathematical formula used to represent the three-dimensional surface of the earth on a two-dimensional map. In ArcGIS, map projections are used to display geographic data in a way that is appropriate for the scale and purpose of the map.
How would you perform network analysis in ArcGIS?
ArcGIS provides a set of tools for network analysis, which is used to analyze and model the behavior of networks, such as transportation networks or utility networks. This includes tools for finding the shortest path, finding the closest facility, or performing service area analysis.
Describe the difference between a shapefile and a feature class in ArcGIS.
A shapefile is a simple, non-topological format for storing geometric location and attribute information of geographic features, while a feature class is a collection of geographic features with the same geometry type and the same attribute fields, stored in a geodatabase.

Arc application related

Product Perfect's Arc development capabilities

Beyond hiring for your Arc engineering team, you may be in the market for additional help. Product Perfect provides seasoned expertise in Arc projects, and can engage in multiple capacities.