DRAKON-D Developer Hiring Guide

Hiring Guide for DRAKON-D Engineers

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

DRAKON-D is a visual programming language that allows developers to represent their code in a flowchart-like diagram, making it easier to understand and debug. It is based on the DRAKON language, which was developed by the Russian space program for software design. The "D" in DRAKON-D stands for "diagrammatic", emphasizing its graphical nature. This language aims to reduce cognitive load on the programmer, making it easier to create error-free code. It supports several programming paradigms including procedural, object-oriented and aspect-oriented programming.

First 20 minutes

General DRAKON-D knowledge and experience

The next 20 minutes of the interview should attempt to focus more specifically on the development questions used, and the level of depth and skill the engineer possesses.

What are some of the applications of DRAKON-D?

DRAKON-D can be used in any application that requires clear and unambiguous logic, such as business processes, system design, and software development.

How would you explain the concept of 'no nonsense' in DRAKON-D?

'No nonsense' in DRAKON-D means that the language is designed to be as straightforward and unambiguous as possible. It aims to eliminate common sources of errors in traditional programming languages.

Describe the difference between DRAKON-D and traditional programming languages.

Traditional programming languages use text-based syntax, while DRAKON-D uses visual diagrams. This makes DRAKON-D more intuitive and easier to understand, especially for complex logic.

What are the key characteristics of DRAKON-D?

Some key characteristics of DRAKON-D include its visual nature, ease of understanding, lack of ambiguity, and its focus on minimizing errors through clear logic.

How would you define DRAKON-D?

DRAKON-D is a programming language that is based on the DRAKON visual language, designed for developing algorithms. It has a clear, visual and intuitive syntax that simplifies complex logic.

The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

What youre looking for early-on

Does the candidate show a willingness to learn and adapt?

The field of software development is constantly evolving. A good candidate should be open to learning new technologies and adapting to changes.

Is the candidate able to work under pressure and meet deadlines?

This is important as the candidate will often need to work on tight schedules and deliver work on time.

Does the candidate show good communication skills?

Good communication skills are important for understanding project requirements and working effectively within a team.

Is the candidate able to solve problems using DRAKON-D?

Problem-solving skills are essential for any developer position. The candidate should be able to use DRAKON-D to solve complex problems.

Can the candidate demonstrate experience with DRAKON-D?

Practical experience is crucial as it shows the candidate's ability to apply their knowledge in real-world scenarios.

Does the candidate have a solid understanding of DRAKON-D language?

This is important because DRAKON-D is a visual language and the candidate should be able to understand and use it effectively.

Next 20 minutes

Specific DRAKON-D development questions

The next 20 minutes of the interview should attempt to focus more specifically on the development questions used, and the level of depth and skill the engineer possesses.

Describe the difference between 'Icon' and 'Pocket' in DRAKON-D.

'Icon' in DRAKON-D is a visual element that represents a command or operation, while 'Pocket' is a container that can hold multiple icons.

How would you implement recursion in DRAKON-D?

In DRAKON-D, recursion can be implemented by creating a loop in the diagram that calls the same function or procedure.

What are some ways to handle errors in DRAKON-D?

DRAKON-D has built-in error handling mechanisms, such as the 'Try' and 'Catch' icons. Additionally, you can design your own error handling logic using the visual syntax.

Describe the difference between 'Silhouette' and 'Free shape' in DRAKON-D.

'Silhouette' in DRAKON-D is a predefined shape that represents a specific command or operation, while 'Free shape' is a user-defined shape that can represent any command or operation.

How would you represent a loop in DRAKON-D?

In DRAKON-D, a loop is represented as a cycle in the diagram. The loop starts at a 'For' or 'While' icon and ends at an 'End' icon.

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-D engineer at this point.

A skilled DRAKON-D engineer should demonstrate proficiency in DRAKON visual language, problem-solving skills and a strong understanding of software development processes. Red flags include lack of experience in DRAKON-D, inability to articulate complex concepts simply, and poor problem-solving skills.

Digging deeper

Code questions

These will help you see the candidate's real-world development capabilities with DRAKON-D.

What does the following DRAKON-D code do?

proc main
icon start
icon action
end

This is a basic DRAKON-D procedure named 'main'. It starts with a start icon and ends with an end icon. It doesn't perform any action.

What will be the output of the following DRAKON-D code?

proc main
icon start
icon action
print 'Hello, DRAKON!'
icon end

This DRAKON-D procedure prints 'Hello, DRAKON!' to the console.

What does the following DRAKON-D code do?

proc main
icon start
icon action
var numbers = [1, 2, 3, 4, 5]
for number in numbers
print number
icon end

This DRAKON-D procedure iterates over the elements in the 'numbers' array and prints each number to the console.

What does the following DRAKON-D code do?

proc main
icon start
icon action
thread worker
icon end
proc worker
icon start
icon action
print 'Hello from worker thread!'
icon end

This DRAKON-D code starts a new thread named 'worker' that prints 'Hello from worker thread!' to the console.

What does the following DRAKON-D code do?

proc main
icon start
icon action
var person = new Person('John', 'Doe')
print person.firstName
print person.lastName
icon end
class Person
icon start
icon action
this.firstName = firstName
this.lastName = lastName
icon end

This DRAKON-D code creates a new instance of the 'Person' class with the first name 'John' and the last name 'Doe'. It then prints the first name and last name of the 'person' object to the console.

What will be the output of the following DRAKON-D code?

proc main
icon start
icon action
var numbers = [1, 2, 3, 4, 5]
var sum = reduce(numbers, (a, b) => a + b, 0)
print sum
icon end

This DRAKON-D code calculates the sum of the numbers in the 'numbers' array using the 'reduce' function and prints the result to the console. The output will be '15'.

Wrap-up questions

Final candidate for DRAKON-D role questions

The final few interview questions for a DRAKON-D candidate should typically focus on a combination of technical skills, personal goals, growth potential, team dynamics, and company culture.

What are some of the advanced features of DRAKON-D?

Some advanced features of DRAKON-D include support for object-oriented programming, concurrency, and exception handling.

How would you integrate DRAKON-D with other programming languages?

DRAKON-D can be integrated with other programming languages by using the DRAKON Editor, which can generate code in several languages from a DRAKON-D diagram.

Describe the difference between 'Procedure' and 'Function' in DRAKON-D.

'Procedure' in DRAKON-D is a sequence of operations that performs a specific task, while 'Function' is a procedure that returns a value.

How would you optimize a DRAKON-D diagram for readability?

You can optimize a DRAKON-D diagram for readability by using clear labels, keeping the diagram compact, and organizing related operations together.

What are some of the challenges you might face when using DRAKON-D?

Some challenges might include getting used to the visual syntax, managing large diagrams, and integrating DRAKON-D with other programming languages.

The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

DRAKON-D application related

Product Perfect's DRAKON-D development capabilities

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