Hiring guide for PowerBuilder Engineers

PowerBuilder Developer Hiring Guide

PowerBuilder is a proprietary 4GL RAD (Rapid Application Development) tool for developing Windows GUI (Graphical User Interface) applications. It was developed by Powersoft in 1991 and acquired by Sybase in 1995. PowerBuilder was one of the first commercially available RAD tools and has been widely used for developing Windows applications. As of 2023, PowerBuilder is no longer under active development.

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

First 20 minutes

General PowerBuilder app knowledge and experience

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

How would you create a window in PowerBuilder?
To create a window in PowerBuilder, you would go to the 'File' menu, select 'New', then 'Window'. You can then choose the type of window you want to create, give it a name, and customize it as needed.
What are DataWindows in PowerBuilder?
DataWindows are objects in PowerBuilder that allow developers to retrieve, display, modify, and update database data. They are a key feature of PowerBuilder, providing a high level of abstraction for database operations.
Describe the difference between a DataWindow and a DataStore in PowerBuilder.
A DataWindow is a visual object that can be placed on a window or user object for data manipulation, while a DataStore is a non-visual object that has all the data manipulation capabilities of a DataWindow but cannot be placed on a window or user object.
How would you handle errors in PowerBuilder?
PowerBuilder provides a system error object called SQLCA for handling database errors. You can check the SQLCode property of this object after each database operation. If SQLCode is negative, an error has occurred and you can use the SQLErrText property to get a description of the error.
What are the different types of DataWindow objects in PowerBuilder?
There are several types of DataWindow objects in PowerBuilder, including Freeform, Grid, Tabular, Group, Graph, Crosstab, N-Up, and RichText.
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 solid understanding of PowerBuilder?
Can the candidate demonstrate problem-solving skills?
Is the candidate familiar with the latest version of PowerBuilder?
Does the candidate have experience with database management?

Next 20 minutes

Specific PowerBuilder 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 create a DataWindow object in PowerBuilder?
To create a DataWindow object, you would go to the 'File' menu, select 'New', then 'DataWindow'. You can then choose the type of DataWindow you want to create, specify the data source, and design the layout.
What is the purpose of the Transaction object in PowerBuilder?
The Transaction object in PowerBuilder is used to establish a connection to a database. It contains properties that specify the database parameters and methods that allow you to connect to, disconnect from, and perform transactions on the database.
Describe the difference between a Shared Object and a Global Object in PowerBuilder.
A Shared Object in PowerBuilder is an instance of a user object that can be shared by multiple applications, while a Global Object is an instance of a user object that is global to the application in which it is declared.
How would you implement inheritance in PowerBuilder?
Inheritance in PowerBuilder can be implemented by creating a user object that is a descendant of another user object. You can do this by selecting 'New' from the 'File' menu, then 'User Object', and then choosing the 'Custom Class' tab and specifying the ancestor object.
What are the different types of events in PowerBuilder?
PowerBuilder supports a wide range of events, including user events, system events, control events, and DataWindow events. These events can be handled by writing scripts for them.
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 PowerBuilder engineer at this point.

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

What does the following PowerBuilder code do?
MessageBox('Greetings', 'Hello, World!')
This code displays a message box with the title 'Greetings' and the message 'Hello, World!'.
What will be the output of the following PowerBuilder code?
string ls_name
ls_name = 'PowerBuilder'
Upper(ls_name)
The output of this code will be 'POWERBUILDER'. The Upper function converts all the alphabetic characters in the string to uppercase.
What does the following PowerBuilder code do?
long ll_array[3]
ll_array[1] = 10
ll_array[2] = 20
ll_array[3] = 30
This code declares an array of long integers with three elements and assigns the values 10, 20, and 30 to the first, second, and third elements of the array, respectively.
What does the following PowerBuilder code do?
multithread mt_object
mt_object = create multithread
mt_object.start()
This code creates an instance of a multithread object and starts the thread execution.

Wrap-up questions

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

How would you create a custom event in PowerBuilder?
To create a custom event in PowerBuilder, you would go to the 'Declare' menu, select 'Events', and then click on the 'New Event' button. You can then give the event a name, specify its parameters, and write a script for it.
What is the purpose of the PFC (PowerBuilder Foundation Class) library?
The PFC library is a set of PowerBuilder objects that provide a framework for building applications. It includes a wide range of pre-built functionality, such as window management, error handling, and data validation, which can significantly speed up the development process.
Describe the difference between a function and an event in PowerBuilder.
A function in PowerBuilder is a reusable piece of code that performs a specific task and can return a value, while an event is a response to a specific action or occurrence, such as a mouse click or a key press, and does not return a value.

PowerBuilder application related

Product Perfect's PowerBuilder development capabilities

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