Hiring guide for Gambas Engineers

Gambas Developer Hiring Guide

Gambas is an object-oriented programming language and integrated development environment (IDE) that is designed to offer a similar user experience to that of Basic programming language, particularly Microsoft's Visual Basic. It is open-source, free to use, and runs on Linux and other Unix-like computer operating systems. Gambas includes a graphical user interface (GUI) designer, and supports database access, networking, and more. It also allows for the creation of web, desktop and network applications. Despite being inspired by Visual Basic, Gambas is not a direct clone and has its own unique functionalities.

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

First 20 minutes

General Gambas app knowledge and experience

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

How would you describe the Gambas programming language to someone without a technical background?
Gambas is a programming language similar to Visual Basic, but designed to run on Linux. It's used to create software, particularly graphical applications.
What are the core components of the Gambas development environment?
The core components of the Gambas development environment include the Gambas IDE, the Gambas interpreter, and the Gambas runtime libraries.
Describe the difference between Gambas and Java.
While both are object-oriented languages, Gambas is designed to be similar to Visual Basic and is primarily used for Linux development. Java, on the other hand, is a general-purpose language that can be used for a variety of platforms.
How would you create a new project in Gambas?
To create a new project in Gambas, you would open the Gambas IDE, select 'New Project', choose the type of project you want to create, and then give your project a name and location.
What are some common data types used in Gambas?
Common data types in Gambas include Integer, Float, Boolean, String, and Date.
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 exhibit a strong understanding of Gambas programming language?
How effectively can the candidate solve problems?
Can the candidate adapt to new technologies and methodologies?
Does the candidate respect coding standards and write clean, maintainable code?

Next 20 minutes

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

Describe the difference between a public and a private variable in Gambas.
A public variable in Gambas can be accessed from any part of the program, while a private variable can only be accessed within the class or module where it is declared.
How would you handle errors in Gambas?
In Gambas, you can handle errors using the TRY...CATCH...FINALLY structure. The TRY block contains the code that might generate an error, the CATCH block contains the code to handle the error, and the FINALLY block contains code that will be executed whether an error occurs or not.
What are some ways to optimize performance in Gambas?
To optimize performance in Gambas, you can use efficient data structures, avoid unnecessary computations, and use the Gambas profiler to identify and optimize bottlenecks in your code.
Describe the difference between a function and a procedure in Gambas.
In Gambas, a function is a block of code that returns a value, while a procedure is a block of code that performs a specific task but does not return a value.
How would you connect to a MySQL database in Gambas?
To connect to a MySQL database in Gambas, you would use the gb.db.mysql component and the Connection class. You would need to provide the database name, server, username, and password.
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 Gambas engineer at this point.

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

What does the following Gambas code do?
Print 'Hello, World!'
This code prints the string 'Hello, World!' to the console.
What will be the output of the following Gambas code?
Dim i As Integer = 5
If i > 3 Then
Print 'Greater'
Else
Print 'Smaller'
Endif
The output of this code will be 'Greater' because the value of i is greater than 3.
What does the following Gambas code do?
Dim a As New Collection
a.Add('Hello', 'World')
Print a['World']
This code creates a new collection, adds a key-value pair to it, and then prints the value associated with the key 'World', which is 'Hello'.
What does the following Gambas code do?
Public Sub Main()
Start Job 'MyJob'
End
Public Sub Job_Thread()
Print 'Hello, World!'
End
This code starts a new thread named 'MyJob' and prints 'Hello, World!' in that thread.

Wrap-up questions

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

What are some techniques for debugging in Gambas?
In Gambas, you can use the built-in debugger to step through your code, set breakpoints, and inspect variables. You can also use the PRINT statement to output debug information to the console.
Describe the difference between the = and == operators in Gambas.
In Gambas, the = operator is used for assignment, while the == operator is used for comparison.
How would you implement multithreading in Gambas?
In Gambas, you can implement multithreading using the Process class. Each Process object runs in its own thread and can communicate with the main thread using events.

Gambas application related

Product Perfect's Gambas development capabilities

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