Hiring guide for GP Engineers

GP Developer Hiring Guide

GP is a computer programming language specifically designed for computational algebra and number theory. It is the scripting language of the PARI library, which offers a comprehensive set of functions for number theorists. GP provides high-level functionalities such as vectors, matrices, lists, strings and user-defined objects along with control structures like loops and conditionals. It also supports complex numbers, polynomials and power series among other mathematical data types. GP's syntax is similar to that of C programming language but it also incorporates elements from other languages like Pascal or Ada.

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

First 20 minutes

General GP app knowledge and experience

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

Can you explain what is meant by Dynamics GP?
Dynamics GP is a mid-market business accounting software or ERP software package marketed in North and South America, UK and Ireland, the Middle East, Singapore, Australia and New Zealand.
How would you handle a situation where a user is unable to post a batch in GP?
I would first try to identify the cause of the issue, whether it's due to a system error, a network error, or user error. Once identified, I would either correct the error or guide the user on how to avoid it in the future.
What are some common issues you might encounter in Dynamics GP and how would you resolve them?
Common issues include posting errors, batch processing errors, or issues with integrations. Resolving them would involve troubleshooting, identifying the cause, and applying the necessary fixes.
Describe the difference between a work flow and a batch process in Dynamics GP?
A workflow is a sequence of tasks that processes a set of data. A batch process is a process of executing a series of jobs in GP without manual intervention.
How would you go about creating a new company in Dynamics GP?
This involves several steps including setting up a new database in SQL Server for the company, and then using the GP Utilities to create the company in GP.
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

Has the candidate demonstrated their understanding and knowledge of GP languages and platforms?
Can they provide examples of past GP development projects?
Is there evidence of the candidate's problem-solving skills?
Does the candidate communicate effectively and clearly?

Next 20 minutes

Specific GP 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 are some ways you can optimize the performance of Dynamics GP?
Some ways include regularly maintaining the database, optimizing SQL Server, and ensuring that the hardware meets the recommended requirements.
Describe the difference between a table and a view in SQL Server as used by Dynamics GP?
A table is a set of data elements, while a view is a virtual table based on the result-set of an SQL statement.
How would you handle a situation where a user is unable to log into Dynamics GP?
I would first verify if the user is entering the correct credentials, then check if the user account is locked or disabled. If those are not the issues, I would then check if there are any network or server issues.
What are some of the modules available in Dynamics GP and what are their functions?
Some modules include Financial Management for managing finances, Supply Chain Management for managing inventory and order processing, and HR Management for managing employee data and payroll.
Describe the difference between a transaction and a batch in Dynamics GP?
A transaction is an individual business event, while a batch is a group of transactions that are processed together.
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 GP engineer at this point.

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

What does the following simple GP code do?
{
	'print': 'Hello, World!'
}
This code simply prints the string 'Hello, World!' to the standard output.
What does the following GP code do?
{
	'def': 'x',
	'=': 10,
	'print': 'x'
}
This code declares a variable 'x', assigns it the value 10, and then prints the value of 'x' to the standard output.
What does the following GP code do with an array?
{
	'def': 'array',
	'=': [1, 2, 3, 4, 5],
	'print': 'array'
}
This code declares an array 'array', assigns it the values [1, 2, 3, 4, 5], and then prints the array to the standard output.
What does the following GP code do with threading?
{
	'def': 'thread',
	'=': { 'start': 'print', 'args': 'Hello, World!' }
}
This code declares a thread 'thread', and assigns it a task to print 'Hello, World!' when it starts.

Wrap-up questions

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

How would you troubleshoot a slow running query in Dynamics GP?
I would use SQL Server's performance tools to identify the cause of the slow query and then optimize the query or the database structure as needed.
What are the steps to upgrade Dynamics GP to a newer version?
The steps include backing up the database, installing the new version on a test environment, testing the upgrade, and then performing the upgrade on the live system.
Describe the difference between Dynamics GP and Dynamics 365?
Dynamics GP is a traditional ERP system, while Dynamics 365 is a cloud-based suite of business applications.

GP application related

Product Perfect's GP development capabilities

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