Hiring guide for Scratch Engineers

Scratch Developer Hiring Guide

Scratch is a visual programming language developed by the Lifelong Kindergarten Group at the MIT Media Lab. It allows users to create interactive stories, games, and animations through drag-and-drop coding blocks that fit together like puzzle pieces. The purpose of Scratch is to simplify the process of learning computational thinking skills and fundamental programming concepts such as loops, variables, conditionals and events. This makes it an excellent introductory language for children aged 8-16 years old or beginners in coding with no prior experience. Scratch also has a thriving online community where users can share their projects, get feedback and learn from each other's work.

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

First 20 minutes

General Scratch app knowledge and experience

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

How would you explain the use of blocks in Scratch?
Blocks in Scratch are the basic units for creating programs. They are like the different pieces of a puzzle. Each block performs a specific function and they can be combined in numerous ways to create complex programs.
What are sprites in Scratch?
Sprites are the characters that perform actions in a Scratch project. They can be drawn from scratch, chosen from the library, or uploaded from your computer. Sprites can be moved, rotated, and interacted with, and they can change their appearance by changing costumes.
Describe the difference between the costume and backdrop in Scratch.
A costume is a picture that can be put on a sprite. A sprite can have multiple costumes. A backdrop is like a background that stays behind all sprites. A project can have multiple backdrops, but only one can be displayed at a time.
How would you explain the use of variables in Scratch?
Variables in Scratch are used to keep track of data. This can include keeping score in a game, or storing information that the user inputs. Variables can be created, set, changed, and displayed in a project.
What are the different types of loops in Scratch and how are they used?
There are three types of loops in Scratch: 'repeat', 'forever', and 'repeat until'. 'Repeat' will loop a certain number of times, 'forever' will loop indefinitely until stopped, and 'repeat until' will loop until a certain condition is met.
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 Scratch programming?
Has the candidate demonstrated problem-solving skills?
Is the candidate able to communicate effectively?
Does the candidate have experience with project management tools and methodologies?

Next 20 minutes

Specific Scratch 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 the broadcast feature in Scratch?
The broadcast feature in Scratch is used to send a message to all sprites. When a sprite receives the message, it can be programmed to respond in a certain way. This is useful for coordinating actions between multiple sprites.
Describe the difference between parallel and sequential execution in Scratch.
Parallel execution means that multiple blocks or scripts are running at the same time. Sequential execution means that blocks or scripts are running one after the other in a specific order.
What is cloning in Scratch and how would you use it?
Cloning in Scratch allows you to create a copy of a sprite. The clone will have the same properties as the original sprite, but can be programmed to behave differently. This is useful for creating multiple similar sprites without having to manually create each one.
How would you create a scrolling background in Scratch?
To create a scrolling background in Scratch, you would use two backdrops and move them horizontally or vertically. When one backdrop reaches the end, it moves back to the start, creating a continuous scrolling effect.
Describe the difference between the green flag and red stop sign in Scratch.
The green flag is used to start a project or a script. The red stop sign is used to stop a project or a script. They are useful for controlling the execution of a project.
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 Scratch engineer at this point.

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

What does this simple Scratch code do?
when green flag clicked
move 10 steps
This code moves the sprite 10 steps forward when the green flag is clicked.
What does this Scratch code do?
when green flag clicked
forever
if 
stop [all v]
This code continuously checks if the sprite is touching the color red. If it is, all scripts in the project stop.
What does this Scratch code do?
when green flag clicked
repeat until >
move 10 steps
This code moves the sprite 10 steps forward until it touches the edge of the stage.
What does this Scratch code do?
when green flag clicked
forever
if 
change [score v] by (1)
This code continuously checks if the space key is pressed. If it is, the score variable increases by 1.

Wrap-up questions

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

How would you use the pen feature in Scratch?
The pen feature in Scratch allows a sprite to draw on the stage. You can program the sprite to move around while the pen is down, creating a drawing. You can also change the pen's color and size.
What are lists in Scratch and how are they used?
Lists in Scratch are like variables, but they can store multiple pieces of data at once. They can be used to keep track of multiple items, such as a list of scores or a list of names.
How would you create a multiplayer game in Scratch?
To create a multiplayer game in Scratch, you would need to use the cloud data feature. This allows data to be shared between different users. You can use this to keep track of multiple players' scores or positions.

Scratch application related

Product Perfect's Scratch development capabilities

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