Hiring guide for DRAKON-ABAP Engineers

DRAKON-ABAP Developer Hiring Guide

DRAKON-ABAP is a programming language that combines the DRAKON visual language and the ABAP language, which is used for programming SAP applications. DRAKON is designed to represent complex logic in a clear and understandable way, making it easier to understand the flow and structure of the program. ABAP, on the other hand, is a high-level programming language created by the German software company SAP. It is widely used for developing business applications in the SAP environment. Therefore, DRAKON-ABAP is a powerful tool for creating and maintaining SAP applications, offering a clear visual representation of the program's logic, which can significantly simplify the development process.

Ask the right questions secure the right DRAKON-ABAP talent among an increasingly shrinking pool of talent.

First 20 minutes

General DRAKON-ABAP app knowledge and experience

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

What are the basic components of ABAP?
The basic components of ABAP include Data Dictionary, Data types, Variables, Constants, Operators, Control Statements, Loops, and Function Modules.
How would you define DRAKON in the context of programming?
DRAKON is a visual language for specifications from the Russian space program. It's designed to represent any knowledge or algorithms in a clear, understandable form.
What is the role of Data Dictionary in ABAP?
Data Dictionary in ABAP is used for defining and managing data definitions (metadata). It is used to create, edit, and display data definitions and their relationships.
Describe the difference between Transparent, Pool and Cluster tables in ABAP.
Transparent tables correspond to one database field. Pool tables are logical tables that must be assigned to a table pool when they are defined. Cluster tables are logical tables that must be assigned to a table cluster when they are defined.
How would you implement error handling in ABAP?
Error handling in ABAP is implemented using exception handling techniques which include TRY, CATCH, and FINALLY statements. It helps in catching and handling runtime errors.
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 proficiency in DRAKON?
Did the candidate show an understanding of ABAP?
Has the applicant shown problem-solving abilities?
Can the candidate work effectively in a team?

Next 20 minutes

Specific DRAKON-ABAP 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 the benefits of using DRAKON over traditional flowcharts?
DRAKON reduces cognitive load making it easier to understand the program flow. It eliminates errors in logic, and it's easier to see and understand the whole program at once.
How would you optimize performance in an ABAP program?
Performance in an ABAP program can be optimized by minimizing the amount of data transferred, minimizing the number of database accesses, and using appropriate internal tables.
Describe the difference between a value table and a check table in ABAP.
A check table is used to check the values of a field. A value table is proposed by the system where the foreign key relationship is defined, it provides possible entries for this foreign key field.
What is the purpose of the BADI (Business Add-In) in ABAP?
BADI (Business Add-In) is a SAP object-oriented enhancement technique that allows a programmer to add their own business functionality to the existing SAP standard functionality.
How would you use DRAKON in the context of ABAP development?
DRAKON can be used to visualize the flow of ABAP programs, making them easier to understand and debug. It can also be used for designing and planning new features or modules.
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 DRAKON-ABAP engineer at this point.

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

What does this simple DRAKON-ABAP code do?
DATA: lv_text TYPE string.
 lv_text = 'Hello, World!'.
 WRITE: / lv_text.
This code declares a string variable, assigns the value 'Hello, World!' to it, and then prints the value of the variable to the console.
What will be the output of this DRAKON-ABAP code?
DATA: lv_number TYPE i.
 lv_number = 5 * 5.
 WRITE: / lv_number.
This code multiplies 5 by 5 and assigns the result to a variable. It then prints the value of the variable to the console. The output will be '25'.
What does this DRAKON-ABAP code do with the array?
DATA: lt_numbers TYPE TABLE OF i,
 lv_number TYPE i.
 APPEND 5 TO lt_numbers.
 READ TABLE lt_numbers INDEX 1 INTO lv_number.
This code declares an integer array and an integer variable. It then adds the number 5 to the array and reads the first element of the array into the variable.
What does this DRAKON-ABAP code do related to threading?
DATA: go_parallel TYPE REF TO cl_abap_parallel.
 go_parallel = cl_abap_parallel=>factory( iv_max_threads = 2 ).
This code creates an instance of the cl_abap_parallel class with a maximum of 2 threads. This class is used for parallel processing in ABAP.

Wrap-up questions

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

Describe the difference between a nested select statement and a for all entries in ABAP.
A nested select statement is a select statement within another select statement. For all entries is used when data is read from a table based on the entries of an internal table.
What are the key principles of DRAKON that make it unique?
Key principles of DRAKON include clarity over brevity, no line intersections, one entry and one exit point for each diagram, and the use of iconic symbols for different actions.
How would you handle large data sets in ABAP?
Large data sets can be handled in ABAP by using appropriate database indexes, buffering techniques, and efficient use of internal tables.

DRAKON-ABAP application related

Product Perfect's DRAKON-ABAP development capabilities

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