Hiring guide for Google Apps Script Engineers

Google Apps Script Developer Hiring Guide

Google Apps Script is a cloud-based scripting language developed by Google for light-weight application development in the G Suite platform. It is based on JavaScript 1.6 with some portions of 1.7 and 1.8 and provides easy ways to automate tasks across Google products and third party services, making it possible to add functionality to most Google Apps including Gmail, Google Sheets, and Google Docs. Google Apps Script allows users to create custom menus, dialogs, and sidebars in these applications; it also facilitates interaction with other services such as Calendar or Drive for more complex automation needs. Scripts run on Google's servers which means that you can access them from any device connected to the internet without needing your own server. It also supports HTML output so developers can build web apps or simply serve up HTML content directly from their scripts.

Ask the right questions secure the right Google Apps Script talent among an increasingly shrinking pool of talent.

First 20 minutes

General Google Apps Script app knowledge and experience

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

What are the main components of Google Apps Script?
The main components of Google Apps Script are the script editor, the script gallery, triggers, services, and the execution transcript.
How would you use Google Apps Script to automate tasks in G Suite?
Google Apps Script can be used to automate tasks in G Suite by writing custom functions, macros, and menus, and by triggering them to run at specific times or based on certain events.
What is the purpose of the doGet and doPost functions in Google Apps Script?
The doGet and doPost functions in Google Apps Script are used to handle HTTP GET and POST requests respectively. They are typically used when creating web apps or when interacting with other web services.
Describe the difference between a bound script and a standalone script.
A bound script is a script that is attached to a specific Google Sheet, Document, or Form and can only be accessed from that file. A standalone script is a script that is not attached to a specific file and can be run independently.
How would you use the Logger service in Google Apps Script?
The Logger service in Google Apps Script is used for debugging. You can use the Logger.log() method to log data to the Logger, and then view the logged data in the Apps Script editor's log viewer.
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 have a strong understanding of Google Apps Script?
Can the candidate demonstrate problem-solving skills?
Is the candidate able to communicate effectively?
Does the candidate have experience with other relevant technologies?

Next 20 minutes

Specific Google Apps Script 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 are some ways to optimize the performance of a Google Apps Script?
Some ways to optimize the performance of a Google Apps Script include minimizing the number of API calls, using batch operations, and using the Cache service to store and retrieve data.
How would you handle errors in Google Apps Script?
Errors in Google Apps Script can be handled using try-catch blocks. The try block contains the code that might throw an error, and the catch block contains the code to execute if an error occurs.
What is the purpose of the Properties service in Google Apps Script?
The Properties service in Google Apps Script is used to store and retrieve key-value pairs. It can be used to store user preferences, configuration settings, or any other data that needs to be persisted between script executions.
Describe the difference between the Spreadsheet service and the Drive service in Google Apps Script.
The Spreadsheet service in Google Apps Script is used to read, write, and manipulate data in Google Sheets. The Drive service is used to create, find, and manage files in Google Drive.
How would you use the UrlFetch service in Google Apps Script?
The UrlFetch service in Google Apps Script is used to make HTTP requests to external URLs. You can use it to fetch data from a web page, send data to a web service, or interact with other APIs.
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 Google Apps Script engineer at this point.

At this point, a skilled Google Apps Script engineer should demonstrate strong problem-solving abilities, proficiency in Google Apps Script 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 Google Apps Script.

What does this simple Google Apps Script code do?
function createDoc() {
  var doc = DocumentApp.create('Sample Document');
  Logger.log('Created new document: ' + doc.getId());
}
This code creates a new Google Document named 'Sample Document' and logs the ID of the newly created document.
What will be the output of the following Google Apps Script?
function logArray() {
  var arr = ['Google', 'Apps', 'Script'];
  for (var i = 0; i < arr.length; i++) {
    Logger.log(arr[i]);
  }
}
This code logs each element of the array ['Google', 'Apps', 'Script'] to the Logger. So, the output will be 'Google', 'Apps', 'Script' in separate log entries.
What does the following Google Apps Script code do with an array?
function sortArray() {
  var arr = ['Google', 'Apps', 'Script'];
  arr.sort();
  Logger.log(arr);
}
This code sorts the array ['Google', 'Apps', 'Script'] in alphabetical order and logs the sorted array. So, the output will be ['Apps', 'Google', 'Script'].
What does the following Google Apps Script code do related to concurrency?
function lockService() {
  var lock = LockService.getScriptLock();
  lock.tryLock(5000);
  Logger.log('Lock acquired.');
  lock.releaseLock();
}
This code uses the LockService to prevent concurrent access in a Google Apps Script. It tries to acquire a lock for up to 5000 milliseconds, logs 'Lock acquired.' if successful, and then releases the lock.

Wrap-up questions

Final candidate for Google Apps Script 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 Google Apps Script application deployments. Inquire about their experience in handling system failures and their approach to debugging and troubleshooting.

What are some limitations of Google Apps Script?
Some limitations of Google Apps Script include execution time limits, quota limits on API calls, and limitations on the size and complexity of the data that can be processed.
How would you use the HtmlService in Google Apps Script?
The HtmlService in Google Apps Script is used to serve HTML, CSS, and JavaScript to the user. It can be used to create dynamic web pages, custom user interfaces, and web apps.
Describe the difference between synchronous and asynchronous execution in Google Apps Script.
Synchronous execution in Google Apps Script means that the script's commands are executed in the order they appear in the script, and each command must complete before the next one starts. Asynchronous execution means that multiple commands can be executed at the same time, and they don't have to wait for each other to complete.

Google Apps Script application related

Product Perfect's Google Apps Script development capabilities

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