Hiring guide for Lingo Engineers

Lingo Developer Hiring Guide

Lingo is a scripting language developed by Macromedia Inc, primarily used for developing desktop applications and games. It was first introduced in 1989 as part of the multimedia authoring tool called Director. Lingo is object-oriented and supports procedural programming, making it versatile for various types of software development. The syntax of Lingo resembles that of English language sentences which makes it easier to understand and use even for non-programmers. It has built-in support for handling user interaction, manipulating text strings, controlling animation timelines and managing data. Despite its simplicity, Lingo also provides advanced features such as file I/O operations (reading from or writing to files), network communications (sending/receiving data over a network) or calling external code libraries written in other languages like C++ or Java. However with the decline in popularity of Director due to emergence of more modern technologies like Flash & HTML5; usage & development on Lingo has also decreased significantly over time.

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

First 20 minutes

General Lingo app knowledge and experience

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

What are the main features of Lingo?
Lingo is a scripting language with features like object-oriented programming, message passing, data hiding, and polymorphism. It supports multimedia applications, making it ideal for creating interactive 2D and 3D graphics.
How would you create a sprite in Lingo?
To create a sprite in Lingo, you would use the 'sprite' keyword followed by the sprite number. You can then set properties like the member, locH, locV, etc. For example: sprite(1).member = member('ball').
What is the purpose of the 'go' command in Lingo?
The 'go' command in Lingo is used to navigate between different frames in a movie. For instance, 'go to frame 5' would direct the playhead to frame number 5.
How would you handle errors in Lingo?
Lingo provides the 'try-catch' structure for error handling. You place the code that might throw an error within the 'try' block, and if an error occurs, the 'catch' block is executed.
Describe the difference between 'the stage' and 'the movie' in Lingo.
'The stage' refers to the area where the movie is displayed, while 'the movie' refers to the actual content being displayed. The movie can be larger or smaller than the stage.
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 Lingo programming language?
Has the candidate provided examples of past projects or experiences using Lingo?
Is the candidate able to solve problems and debug in Lingo?
Does the candidate show a willingness to learn and adapt?

Next 20 minutes

Specific Lingo 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 the role of handlers in Lingo?
Handlers in Lingo are similar to functions or procedures in other languages. They contain a block of code that performs a specific task and can be called upon when needed.
How would you use lists in Lingo?
Lists in Lingo are created using the 'list' keyword. They can store multiple values and can be manipulated using methods like 'append', 'deleteAt', 'getAt', etc.
What are behaviors in Lingo and how are they used?
Behaviors in Lingo are scripts that are attached to sprites or frames to control their properties or actions. They are used to add interactivity to the movie.
Describe the difference between global and local variables in Lingo.
Global variables in Lingo are accessible from any part of the script, while local variables are only accessible within the handler where they are declared.
What is the use of 'the mouseH' and 'the mouseV' in Lingo?
'the mouseH' and 'the mouseV' in Lingo are used to get the horizontal and vertical position of the mouse pointer on the stage, respectively.
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 Lingo engineer at this point.

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

What does this simple Lingo code do?
on mouseUp
  go to frame 1
endon
This code is an event handler for a mouse click. When the mouse button is released, the playhead moves to frame 1 of the movie.
What does this Lingo syntax do?
put "Hello, World!" into field "Greeting"
This code places the string 'Hello, World!' into a text field named 'Greeting'.
What does this Lingo code do with an array?
set myList to ["Apple", "Banana", "Cherry"]
set the last item of myList to "Dragonfruit"
This code first creates an array named myList with three items. It then changes the last item of the array from 'Cherry' to 'Dragonfruit'.
What does this Lingo code do with threading?
sendAllSprites (#doSomething, 1000)
This code sends the 'doSomething' message to all sprites after a delay of 1000 milliseconds. This is an example of asynchronous programming in Lingo.

Wrap-up questions

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

How would you implement object-oriented programming in Lingo?
Object-oriented programming in Lingo can be implemented using parent scripts. A parent script acts as a class, and instances of it can be created using the 'new' keyword.
What are the different types of loops in Lingo and how are they used?
Lingo supports 'repeat with', 'repeat while', and 'repeat until' loops. 'Repeat with' is a counting loop, 'repeat while' continues as long as the condition is true, and 'repeat until' continues until the condition becomes true.
How would you handle events in Lingo?
Events in Lingo are handled using event handlers. For instance, 'on mouseUp' is an event handler that is triggered when the mouse button is released.

Lingo application related

Product Perfect's Lingo development capabilities

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