Hiring guide for ARexx Engineers

ARexx Developer Hiring Guide

ARexx is a computer programming language developed by William S. Hawes in 1987, designed for the Amiga line of computers. It's an implementation of the Rexx language, originally created by IBM, but tailored specifically for the AmigaOS operating system. ARexx provides a way to automate and script tasks, and to communicate between different software applications. Its ease of use and powerful scripting capabilities made it a popular choice for Amiga users and developers. The information about ARexx can be found in various historical documents and articles about the Amiga computer system.

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

First 20 minutes

General ARexx app knowledge and experience

The first 20 minutes of the interview should seek to understand the candidate's general background in ARexx 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 supported by ARexx?
ARexx supports only one data type, the string. All data, including numbers, are stored and manipulated as strings.
How would you comment in ARexx?
In ARexx, you can comment by using /* for multiple lines and -- for single lines.
Describe the difference between a function and a subroutine in ARexx.
A function is a reusable section of code that performs a specific task and returns a value. A subroutine is also a reusable section of code, but it does not return a value. Instead, it performs a task and then control returns to the main program.
What are the control structures available in ARexx?
ARexx provides several control structures including IF-THEN-ELSE, SELECT, DO WHILE, DO UNTIL, and LOOP.
How would you handle errors in ARexx?
Error handling in ARexx can be done using the SIGNAL ON condition_name instruction. When an error occurs, execution jumps to a label specified by the condition_name.
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 ARexx language?
Has the candidate demonstrated problem-solving skills?
Is the candidate familiar with the operating systems that support ARexx, such as AmigaOS?
Has the candidate shown the ability to work in a team?

Next 20 minutes

Specific ARexx 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 purpose of the PARSE instruction in ARexx?
The PARSE instruction in ARexx is used to split a string into multiple substrings based on a specified pattern.
How would you perform string manipulation in ARexx?
String manipulation in ARexx can be done using various built-in functions such as substr, pos, strip, translate, and length.
What is the significance of the ADDRESS instruction in ARexx?
The ADDRESS instruction in ARexx is used to specify the environment in which subsequent commands are to be executed.
Describe the difference between INTERPRET and EVAL in ARexx.
INTERPRET executes a string as an ARexx instruction, while EVAL evaluates a string as an ARexx expression.
What are the different ways you can pass parameters to a subroutine in ARexx?
Parameters can be passed to a subroutine in ARexx by value or by reference. Passing by value is the default. To pass by reference, the variable name must be preceded by a period.
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 ARexx engineer at this point.

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

What does the following ARexx code do?
say 'Hello, World!'
This code will print 'Hello, World!' to the standard output.
What will be the output of the following ARexx code?
x = 5
y = 10
say x + y
The output of the code will be 15, which is the sum of the values of x and y.
What does the following ARexx code do?
arr.1 = 'apple'
arr.2 = 'banana'
arr.0 = 2
say arr.1
say arr.2
This code creates an array with two elements 'apple' and 'banana'. It then prints the elements of the array to the standard output.
What will be the output of the following ARexx code?
x = 1
y = 2
do while x < 5
  say x
  x = x + y
end
The output of the code will be a sequence of numbers 1, 3, printed in separate lines. This is the result of a loop that increments the value of x by y while x is less than 5.

Wrap-up questions

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

How would you create and use a stem variable in ARexx?
A stem variable in ARexx is a type of array. You create a stem variable by appending a period to a variable name. You can then use the stem variable by appending an index to it.
What are the different ways you can interact with the operating system in ARexx?
In ARexx, you can interact with the operating system using the ADDRESS instruction to send commands, or by using the SYSTEM function to execute a command and return its output.
How would you handle file I/O in ARexx?
File I/O in ARexx can be done using the OPEN, CLOSE, READLN, and WRITELN instructions.

ARexx application related

Product Perfect's ARexx development capabilities

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