Hiring guide for Processing Engineers

Processing Developer Hiring Guide

Processing is a high-level, open-source programming language and development environment specifically designed for the visual arts community. It was developed by Ben Fry and Casey Reas in 2001 to serve as a software sketchbook or to teach computer programming fundamentals within a visual context. Processing uses the Java language, with additional simplifications such as additional classes and aliased mathematical functions and operations. It also provides a graphical user interface for simplifying the compilation and execution stage. The Processing language can be used to create complex interactive graphics, animations, data visualizations, games, simulations, etc., making it popular among artists, designers and educators.

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

First 20 minutes

General Processing app knowledge and experience

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

How would you describe the Processing language?
Processing is a high-level, open-source programming language and environment designed for the visual arts. It is built on Java and simplifies programming for artists and designers.
What are the basic shapes that can be drawn in Processing?
The basic shapes that can be drawn in Processing include points, lines, rectangles, ellipses, arcs, triangles, and polygons.
How would you create an interactive sketch in Processing?
To create an interactive sketch in Processing, you would use the 'mousePressed' or 'keyPressed' functions to respond to user input.
What is the use of the 'setup' and 'draw' functions in Processing?
The 'setup' function is used to initialize variables, load media, or set up graphics, it runs once at the beginning. The 'draw' function is used to actively run code and it runs continuously in a loop.
Describe the difference between 'size' and 'fullscreen' in Processing.
'Size' is used to set the size of the display window in units of pixels. 'Fullscreen' is used to make the sketch take up the whole screen.
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 Processing language?
Has the candidate demonstrated problem-solving skills?
Is the candidate able to communicate effectively?
Does the candidate have experience with similar projects?

Next 20 minutes

Specific Processing 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.

How would you use arrays in Processing?
Arrays in Processing are used to store multiple values in a single variable. You can declare, initialize, and access arrays using the syntax similar to Java.
What are the different modes of the 'rect' function in Processing?
The 'rect' function in Processing has four modes: CORNER, CORNERS, CENTER, and RADIUS. These modes control the location from which rectangles are drawn.
How would you use the 'map' function in Processing?
The 'map' function in Processing is used to re-map a number from one range to another. It is commonly used to scale the values received from a sensor to a usable range.
What are the different types of loops in Processing and how would you use them?
Processing has 'for', 'while', and 'do...while' loops. 'For' loops are used when you know how many times a block of code should run. 'While' and 'do...while' loops are used when a block of code should run until a certain condition is met.
Describe the difference between 'PImage' and 'PShape' in Processing.
'PImage' is used for images, it can load, display, and manipulate image files. 'PShape' is used for complex shapes, it can create, group, and manipulate shapes.
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 Processing engineer at this point.

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

What does this basic Processing code do?
void setup() { 
 size(200, 200); 
 background(100); 
 } 
 void draw() { 
 ellipse(50, 50, 80, 80); 
 }
This code creates a 200x200 pixel canvas with a background color of 100 (gray). It then draws an ellipse at position (50,50) with a width and height of 80 pixels.
What will be the output of this Processing code?
void setup() { 
 size(300, 300); 
 } 
 void draw() { 
 background(255); 
 line(0, 0, width, height); 
 }
This code will create a 300x300 pixel canvas and draw a line from the top left corner (0,0) to the bottom right corner (width, height). The canvas is cleared to white before each draw, so the line appears to be static.
What does this Processing code do?
int[] nums = {1, 2, 3, 4, 5}; 
 void setup() { 
 size(200, 200); 
 background(255); 
 for (int i = 0; i < nums.length; i++) { 
 ellipse(nums[i]*40, height/2, 30, 30); 
 } 
}
This code creates an array of numbers and draws a series of circles on the canvas. The x-position of each circle is determined by multiplying the array element by 40, and the y-position is at the middle of the canvas.
What does this Processing code do?
void setup() { 
 size(200, 200); 
 frameRate(30); 
 } 
 void draw() { 
 background(255); 
 ellipse(mouseX, mouseY, 50, 50); 
 }
This code creates a 200x200 pixel canvas and draws a circle at the mouse's current x and y position. The frame rate is set to 30 frames per second, so the circle follows the mouse smoothly as it moves.

Wrap-up questions

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

How would you handle errors in Processing?
Errors in Processing can be handled using try-catch blocks. The 'try' block contains the code that might generate an error and the 'catch' block contains the code to handle the error.
What are the different types of transformations in Processing?
Processing supports translation, rotation, and scaling transformations. These transformations can be applied to shapes, images, or the entire coordinate system.
How would you use the 'noise' function in Processing?
The 'noise' function in Processing is used to generate Perlin noise, which can be used for creating natural-looking variations in graphics.

Processing application related

Product Perfect's Processing development capabilities

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