Hiring guide for DRAKON-JS Engineers

DRAKON-JS Developer Hiring Guide

DRAKON-JS is a programming language that is based on the DRAKON visual language. It was designed to simplify the process of writing code and making it more understandable for both developers and non-developers. DRAKON-JS promotes a clear and straightforward coding style, reducing complexity and potential errors. With its focus on visual representation, it uses flowchart-like diagrams to represent the logic of operations which makes it easier to understand complex algorithms or workflows. It's particularly useful for projects where clarity and simplicity are essential, such as in safety-critical systems or educational environments.

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

First 20 minutes

General DRAKON-JS app knowledge and experience

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

How would you define DRAKON-JS?
DRAKON-JS is a JavaScript library that allows developers to create DRAKON diagrams programmatically. DRAKON is a visual language for specifications from the aerospace industry.
What are the main features of DRAKON-JS?
DRAKON-JS provides features like automatic layout, icons, branches, loops, and other elements of DRAKON language. It also supports exporting diagrams to SVG.
Describe the difference between DRAKON-JS and other JavaScript libraries.
Unlike other JavaScript libraries, DRAKON-JS is specifically designed for creating DRAKON diagrams. It provides a unique set of features that are not commonly found in other libraries.
How would you create a simple DRAKON diagram using DRAKON-JS?
To create a DRAKON diagram, you need to define a diagram object with nodes and icons, and then call the Drakon.createDiagram function with the diagram object as an argument.
What are the different types of icons available in DRAKON-JS?
DRAKON-JS provides a variety of icons such as Action, Question, Choice, Select, Case, and more. Each icon represents a different type of operation in a DRAKON diagram.
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 demonstrate a deep understanding of DRAKON-JS and its applications?
Has the candidate provided examples of their ability to solve complex problems using DRAKON-JS?
Is the candidate able to articulate their thought process when developing with DRAKON-JS?
Does the candidate show a willingness to keep up-to-date with the latest DRAKON-JS developments and updates?

Next 20 minutes

Specific DRAKON-JS 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 Question icon and a Choice icon in DRAKON-JS.
A Question icon represents a condition or a decision point, while a Choice icon represents a selection from multiple alternatives.
How would you add a branch to a DRAKON diagram using DRAKON-JS?
To add a branch, you need to define a Branch icon with the necessary properties and add it to the diagram object. Then, you need to connect it to other icons using the 'up' and 'down' properties.
What are the different types of loops available in DRAKON-JS?
DRAKON-JS provides several types of loops such as ForEach, While, and Repeat. Each loop type has a different semantic meaning in a DRAKON diagram.
Describe the difference between a ForEach loop and a While loop in DRAKON-JS.
A ForEach loop represents an operation that is performed for each item in a collection, while a While loop represents an operation that is repeated as long as a condition is true.
How would you export a DRAKON diagram to SVG using DRAKON-JS?
To export a DRAKON diagram to SVG, you need to call the Drakon.exportToSvg function with the diagram object as an argument. The function returns a string containing the SVG code.
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-JS engineer at this point.

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

What does this simple DRAKON-JS code do?
var a = 10;
var b = 20;
var c = a + b;
console.log(c);
This code declares two variables a and b, assigns them the values 10 and 20 respectively, adds them together and assigns the result to a new variable c, and then prints the value of c to the console. The output will be 30.
What will be the output of this DRAKON-JS code?
var x = 'Hello, ';
var y = 'World!';
console.log(x + y);
This code concatenates two strings 'Hello, ' and 'World!' and prints the result to the console. The output will be 'Hello, World!'.
What does this DRAKON-JS code do with an array?
var arr = [1, 2, 3, 4, 5];
arr.push(6);
console.log(arr);
This code declares an array with 5 elements, adds a new element '6' to the end of the array using the push method, and then prints the updated array to the console. The output will be [1, 2, 3, 4, 5, 6].
What does this DRAKON-JS code do with threading?
setTimeout(function() {
  console.log('Hello, World!');
}, 1000);
This code creates a timer that will wait for 1000 milliseconds (or 1 second), and then execute the anonymous function provided as the first argument to setTimeout. The function will print 'Hello, World!' to the console. The output will be 'Hello, World!' after a delay of 1 second.

Wrap-up questions

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

What are the different types of errors that can occur in DRAKON-JS?
Errors in DRAKON-JS can occur due to various reasons such as invalid diagram structure, undefined icons, incorrect icon properties, and more.
Describe the difference between a Silhouette icon and a Shaded icon in DRAKON-JS.
A Silhouette icon represents a state or a condition, while a Shaded icon represents a sub-process or a nested diagram.
How would you handle errors in DRAKON-JS?
To handle errors, you need to use try-catch blocks around the DRAKON-JS functions. The catch block can be used to handle and log the errors.

DRAKON-JS application related

Product Perfect's DRAKON-JS development capabilities

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