Hiring guide for GML Engineers

GML Developer Hiring Guide

GML (Graph Modelling Language) is a text-based computer programming language designed for creating graphs. It was developed by AT&T Labs–Research in 1994 and has since been adopted by a number of other organizations. GML is open-source and available for free download. Here are 5 sentences that describe GML: * GML is a text-based computer programming language. * It was developed by AT&T Labs–Research in 1994. * GML is open-source and available for free download. * It is used for creating graphs. * A number of other organizations have adopted GML.

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

First 20 minutes

General GML app knowledge and experience

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

What are the basic data types in GML?
The basic data types in GML are real numbers, strings, arrays, lists, maps, and instances.
How would you declare a variable in GML?
You can declare a variable in GML using the 'var' keyword, followed by the variable name and assignment operator. For example: var myVariable = 10;
Describe the difference between a local and a global variable in GML.
Local variables are only accessible within the script or event where they are declared, whereas global variables can be accessed from any script or event.
What is the purpose of the 'with' statement in GML?
The 'with' statement is used to apply a block of code to one or more instances of an object. It changes the context of the code block to the specified instance(s).
How would you implement a for loop in GML?
A for loop in GML can be implemented as follows: for (var i = 0; i < 10; i++) { // code to be executed }
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 possess a deep understanding of GML language?
Is the candidate able to explain complex GML concepts in a simple way?
Can the candidate solve problems using GML?
Does the candidate have experience with projects similar to ours?

Next 20 minutes

Specific GML 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 scripts in GML and how do you use them?
Scripts in GML are reusable pieces of code that can be called from anywhere in the program. They can be used by calling the script name followed by parentheses, and passing any required arguments inside the parentheses.
Describe the difference between the '&&' and '||' operators in GML.
'&&' is the logical AND operator, which returns true if both operands are true. '||' is the logical OR operator, which returns true if either or both operands are true.
How would you handle errors in GML?
GML has a try-catch statement, which can be used to catch and handle errors. The code that might throw an error goes in the 'try' block, and the code to handle the error goes in the 'catch' block.
What are surfaces in GML and how are they used?
Surfaces in GML are like canvases that can be drawn on, and then the whole canvas can be drawn to the screen. They are used for complex drawing operations, off-screen rendering, and managing graphical resources.
Describe the difference between the 'draw_self' and 'draw_sprite' functions in GML.
'draw_self' draws the current instance's sprite, while 'draw_sprite' draws a specified sprite. 'draw_sprite' requires additional parameters to specify the sprite, sub-image, and position.
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 GML engineer at this point.

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

What does the following GML code do?
if (mouse_check_button(mb_left)) {
  x = mouse_x;
  y = mouse_y;
}
This code checks if the left mouse button is pressed. If it is, it sets the x and y coordinates of the instance to the current mouse position.
What will be the output of the following GML code?
var num1 = 10;
var num2 = 20;
show_message(string(num1 + num2));
The output will be a message box displaying the number 30, which is the sum of num1 and num2.
What does the following GML code do?
var arr = ds_list_create();
ds_list_add(arr, 'Game', 'Maker', 'Language');
show_message(ds_list_find_value(arr, 1));
The code creates a list with three strings: 'Game', 'Maker', and 'Language'. It then displays a message box with the second item in the list, which is 'Maker'.
What does the following GML code do?
alarm[0] = 60;
if (alarm[0] > 0) {
  alarm[0]--;
}
This code sets an alarm to decrease by 1 every step until it reaches 0. When the alarm reaches 0, it triggers an event.

Wrap-up questions

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

How would you create and use a data structure in GML?
Data structures in GML can be created using the appropriate function, such as ds_list_create or ds_map_create. They can be used by calling the appropriate functions with the data structure's id as an argument.
What are buffers in GML and what are they used for?
Buffers in GML are a way of storing data in a binary format. They are used for efficient storage and manipulation of data, and for sending and receiving data over a network.
Describe the difference between the 'instance_create' and 'instance_create_layer' functions in GML.
'instance_create' creates an instance at a specified position, while 'instance_create_layer' creates an instance on a specific layer at a specified position. 'instance_create_layer' requires an additional parameter to specify the layer.

GML application related

Product Perfect's GML development capabilities

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