Hiring guide for ISCOBOL Engineers

ISCOBOL Developer Hiring Guide

COBOL is a computer programming language designed in the 1950s. It is still widely used today, especially for business applications. COBOL was developed by the US Department of Defense, and its name is an acronym for "common business-oriented language". The original COBOL standard was published in 1960, and the language has been revised several times since then. COBOL is a compiled language, which means that it is translated into machine code before it can be executed.

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

First 20 minutes

General ISCOBOL app knowledge and experience

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

How would you define ISCOBOL?
ISCOBOL is a programming language that allows COBOL developers to compile and run their applications on various platforms. It is a modern, flexible, and portable version of the COBOL language.
What are the main features of ISCOBOL?
ISCOBOL provides a full implementation of the COBOL language, it supports both procedural and object-oriented programming, it allows COBOL programs to call Java classes, and it provides a GUI development environment.
Describe the difference between ISCOBOL and traditional COBOL.
Traditional COBOL is a procedural language that was designed for business data processing. ISCOBOL, on the other hand, extends the COBOL language with modern features such as object-oriented programming, GUI development, and the ability to call Java classes.
How would you compile a COBOL program using ISCOBOL?
You can compile a COBOL program using ISCOBOL by using the iscc command followed by the name of the COBOL source file. The compiled program will be output as a .class file.
What are the steps to debug a program in ISCOBOL?
To debug a program in ISCOBOL, you would first compile the program with the -g option to include debugging information. Then, you would run the program using the iscrun command with the -d option to start the debugger.
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 strong understanding of ISCOBOL?
Has the candidate demonstrated problem-solving skills?
Is the candidate able to communicate effectively?
Does the candidate have experience with similar projects or tasks?

Next 20 minutes

Specific ISCOBOL 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 handle file I/O operations in ISCOBOL?
File I/O operations in ISCOBOL are handled using the standard COBOL I/O statements, such as OPEN, READ, WRITE, and CLOSE. ISCOBOL also supports the use of the SELECT and ASSIGN clauses to associate a file with a file-control entry.
What are the advantages of using ISCOBOL over traditional COBOL?
ISCOBOL provides several advantages over traditional COBOL, including support for modern programming features, a GUI development environment, the ability to call Java classes, and the ability to compile and run COBOL programs on various platforms.
Describe the difference between procedural and object-oriented programming in ISCOBOL.
Procedural programming in ISCOBOL involves writing procedures or routines that perform operations on data, while object-oriented programming involves defining objects that contain both data and methods to operate on that data.
How would you implement error handling in ISCOBOL?
Error handling in ISCOBOL can be implemented using the ON EXCEPTION clause of the CALL statement. This allows you to specify a procedure to be executed when an exception occurs during the execution of a called program.
What are the steps to create a GUI application in ISCOBOL?
To create a GUI application in ISCOBOL, you would first design the GUI using the ISCOBOL GUI Designer. Then, you would write the COBOL code to handle the events generated by the GUI components. Finally, you would compile and run the application using the ISCOBOL compiler and runtime environment.
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 ISCOBOL engineer at this point.

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

What does the following ISCOBOL code do?
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
PROCEDURE DIVISION.
DISPLAY 'Hello, World!'.
STOP RUN.
This code prints 'Hello, World!' to the console.
What will be the output of the following ISCOBOL code?
IDENTIFICATION DIVISION.
PROGRAM-ID. AddNumbers.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9 VALUE 5.
01 NUM2 PIC 9 VALUE 7.
01 SUM PIC 9.
PROCEDURE DIVISION.
ADD NUM1, NUM2 GIVING SUM.
DISPLAY SUM.
STOP RUN.
The output of this code will be '12'. The code adds two numbers, 5 and 7, and stores the result in the variable SUM.
What does the following ISCOBOL code do?
IDENTIFICATION DIVISION.
PROGRAM-ID. ArrayExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUMBERS.
05 NUM PIC 9 OCCURS 5 TIMES.
PROCEDURE DIVISION.
PERFORM VARYING NUM FROM 1 BY 1 UNTIL NUM > 5
DISPLAY NUM(NUM).
END-PERFORM.
STOP RUN.
This code creates an array of 5 elements and displays each element. The PERFORM VARYING statement is used to iterate over the array.
What does the following ISCOBOL code do?
IDENTIFICATION DIVISION.
PROGRAM-ID. ThreadingExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 THREAD-ID PIC X(8).
PROCEDURE DIVISION.
CALL 'C$THREAD' USING THREAD-ID, 'MYPROC', 0.
STOP RUN.
PROCEDURE DIVISION MYPROC.
DISPLAY 'Hello from thread'.
STOP RUN.
This code creates a new thread and runs the procedure MYPROC in that thread. The procedure MYPROC displays 'Hello from thread'.

Wrap-up questions

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

Describe the difference between the ISCOBOL GUI Designer and the ISCOBOL IDE.
The ISCOBOL GUI Designer is a tool for designing graphical user interfaces for ISCOBOL applications, while the ISCOBOL IDE is an integrated development environment that includes a source code editor, a compiler, a debugger, and other development tools.
How would you call a Java class from a COBOL program in ISCOBOL?
To call a Java class from a COBOL program in ISCOBOL, you would use the INVOKE statement followed by the name of the Java class and the method you want to call.
What are the steps to migrate a legacy COBOL application to ISCOBOL?
To migrate a legacy COBOL application to ISCOBOL, you would first analyze the source code to identify any non-standard COBOL features. Then, you would modify the code as necessary to make it compatible with ISCOBOL. Finally, you would compile and test the application using the ISCOBOL compiler and runtime environment.

ISCOBOL application related

Product Perfect's ISCOBOL development capabilities

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