Remote Work: Better or Worse for a COBOL Programmer

There are a lot of quotes from famous and powerful people about the impact on mandatory work-from-home over the last 2 plus years. I’ve been reflecting on my own experience as someone in the trenches, working from home, and this article describes some ways that it improved life for me and some ways that it made it worse. This is no reflection on my employer and is strictly my own opinion, from the perspective of a COBOL Programmer.

10 Ways Things Are Better Working from Home:

  1.   There is no commute. Previously, there was a commute to get into the physical office. In the new work world, it’s just a matter of going to your computer and logging on.
  2.   Less distractions. There are less interruptions during the workday. Most of the time there are no people working around you to potentially have loud conversations
  3.   More flexibility of time. There is the option of working irregular hours, around your own schedule, contributing to a better work personal balance.
  4.   Less long meetings and time to get to them. There used to be travel time involved in getting to meetings, even if it was in the same building. With virtual meetings, that time wasted isn’t a factor anymore.
  5.   More time with family. With no commute time, it’s possible to spend more quality time with your family.
  6.   More comfortable work environment. Your workspace is in the comfort of your own home, where you can even regulate the temperature.
  7.   Easier access to other workers on chat. You don’t have to spend time tracking down coworkers. They will either be available on chat or not available. There’s no need to go to their desk to look for them.
  8.   Easier to have a pet. You don’t have to worry about leaving your pet alone at home all day. There are no costly pet daycare fees..
  9.   Easier to look after children. Instead of your children fitting into your work schedule, your work schedule can now fit into your children’s schedule.
  10.   Can work from another city. There are more options for remote work when you work from the virtual office. Depending on the job, you can live in one city and work in another easily.

10 Ways Things Are not Better Working from Home:

  1.   Less in person time for meetings. Meetings are more impersonal, with virtual meetings replacing boardroom meetings. There are often hundreds of people in one online meeting.
  2.   Less chance to socialize. No opportunity for hallway, bathroom, or water cooler impromptu mingling. Often short training sessions or work meetings could previously be accomplished easily that way, face to face.
  3.   Less chance to be visible. You can go off the radar when working from home. Your work may not be as recognized if you aren’t among others in the office.
  4.   More distractions. There could be more distractions at home. For example, children and pets may need your attention during the workday.
  5.   Less structured time. With the computer so close, you can log on any time, so you may end up working at odd hours or more hours because of the convenience.
  6.   Downtime from connection issues. There is more disruption of work due to technical issues with your work link. The Internet disconnects or your work connection may be lost at various times during the day.
  7.   Have to be constantly available for chat and calls. You are almost expected to be consistently available for unexpected meetings and work calls. There is an expectation to let the team know when you are leaving your desk.
  8.   Blurring of work and family time. Since it is more convenient to work at home. Work hours might extend into family time, confusing the line between work and family.
  9.   Harder to develop work relationships. It’s much harder to develop a work connection with people on your team, especially new people who you haven’t met before. Unless you’re constantly on video calls with them, the body language factor is eliminated when talking through emails.
  10.   Harder to learn from others. Training sessions used to occur in a classroom setting. Now, virtual instruction may have hundreds of people attending and interactive turned off. This makes asking questions more difficult, since the questions come up in chat only for the instructor. Impromptu training also has to be online.

As you can see, there are both pros and cons to remote work. Some of the pros may also be cons, depending on the situation of the worker. No scenario will be perfect in all cases. There will still be some bad and some good about working remotely, just as there was with working in the office.


If you’re currently working from home, what are some of the things you struggle with, and/or are thankful for, about your new arrangement?


Generations in COBOL Programming

“Each generation imagines itself to be more intelligent than the one that went before it, and wiser than the one that comes after it” is a famous quote by George Orwell.

Generations in the Overall Workplace

It’s probably safe to say that the general workplace of today encompasses people ages 18 to 70. This range includes 4 of the recognized generations: Baby Boomers, Generation X, Millennials and Generation Z. In the articles, Main Characteristics Per Generation  and  Hiring Tips for a Multigenerational Workforce: From Baby Boomers to Gen Z,  the work traits of each group are documented. Not surprisingly, there are distinct differences between the attitudes and behaviours of each generation.

Age of COBOL Programmers

According to Zippia, an online platform that matches job seekers to career opportunities, in their website segment titled, COBOL Programmer Demographic Statistics in the US, the average age of a COBOL Programmer is 46 years old. That’s a wide potential age range for this group. If it’s a strict average, these programmers could range in age from 26 to 66. There will, of course, be those outliers that will be younger or older. As a result, COBOL Programmers fall into the 4 generations found in the workplace today.

Generations in a COBOL Development Team

Due to the differences observed between the generations of workers, there is a diversity in the way people on a development team approach their work. COBOL development teams specifically illustrate this variety, since they are comprised of a range of the 4 generations, senior to junior members.

Baby Boomers (born 1946-1965)

Firstly, Baby Boomers are the older colleagues of a COBOL team. At this writing, they are aged 58 to 76. These are the workers that are very experienced but ready to retire.  They live to work and are competitive, process-oriented, loyal to the job, enjoy working in the team, and are self-motivated. They want to know that they have made a difference after their years of hard work and devotion to their job.

Generation X (born 1965 to 1980)

This group are ages 42 to 57 and are part of the older team members but not quite as senior as the Baby Boomers. They may even be waiting for people in that group of COBOL Programmers to retire, so they can take over their role. They work to live, are independent, adapt to change (particularly changes in technology), value education and are eager to learn. This is the group who are focused on achieving results in an efficient way

Millennials (born 1981 to 1996)

These are the members of a COBOL Programming team that are 27 to 43 years old and are mid level, not senior but not junior either. This generation is interested in work-life balance, prefer detailed instructions and favor solutions involving technology. Millennials want to make an impact and share everything. They are achievement oriented.

Generation Z (born 1997 to 2020)

These are the newest generation of COBOL Programmers. They are 7 to 26 years old. Clearly, the work-related age range in this discussion would be those 18 to 26 who are working in a COBOL Programming team. This is the first generation to grow up with the Internet. They are open to technology and are accepting of others. Generation Z are very entrepreneurial, and self directed. They are fresh out of school and ready to bring their newly acquired knowledge to the workplace.


With all the COBOL Modernization and Digital Transformation projects going on today, once the Baby Boomers, and maybe even the Generation Xers, have retired, it will be interesting to see how the Millennials and Generation Z are able to convert COBOL into something more technologically advanced and progressive.

Which generational group do you fall into? Do the traits from the articles fit you? Maybe you overlap into two groups.


Building a Personal Brand as a COBOL Programmer

What is a Brand?

We all have the potential to have an individual Brand. It is your personal qualities or characteristics that set you apart from others. It is something you are proud of that adds remarkable, measurable, distinguished, and distinctive value. Maybe you have longevity and/or expertise in a certain field of work. Maybe you are skilled in, and/or are passionate about, a hobby, such as cooking, gardening, or writing. As a specific topic-related example, if you were a COBOL Programmer and had a long career developing an expertise in CICS, as an Online Programmer, or JCL, as a Batch Programmer. That may, in fact, be your Brand. This blog, and the Demystifying COBOL Brand, has evolved from the fact that I have worked with COBOL and associated technologies for almost 30 years.

Define Your Brand

“You can’t build a reputation on what you are going to do” is a perceptive quote about Branding, by Henry Ford. Some successful examples of Personal Branding, based on character, are Martha Stewart, Oprah Winfrey, Richard Branson, and Elon Musk. Their Personal Brand is their personality and how they present themselves to the world.

Jacob Cass, in Building a Personal Brand, talks about 3 steps involved in creating a foundation, or online reputation:

      1. Define your Brand.
      2. Create your Website
      3. Utilize your Networks

The first stage, Define your Brand, encompasses four elements: Goals, Audience, Unique Selling Point (USP), and Visual Identity.

Goals and Audience

With reference to my Demystifying COBOL Brand, my main Goal was to discuss COBOL in a non-technical way from the perspective of a long-term COBOL Programmer. Technical references can be found easily online, but this Brand focuses on the less measurable items in COBOL Programming. My Audience was intended to include experienced COBOL Programmers, aspiring COBOL Programmers, or anyone with an interest in Programming.

What Is my Unique Selling Point (USP)?

In terms of my USP, several qualities, when combined, set me apart from others and give me a uniqueness. These characteristics are important factors in my online reputation. One of these abilities is the fact that I am analytical and can work through situations logically. Another trait I have is that I am persistent: when I want to do something, I will try to find a way to make it happen. A third feature that contributes to my USP is that I am a life-long learner. These 3 factors combined provide me with a Unique Selling Point.

What is my Visual Identity?

Of my unique characteristics, continuous learning is the one that makes me stand out the most and contributes to my Visual Identity. It has enabled me to be recognized during my career, as well as personally. I am very proud of the fact that one of my best traits is that I am constantly upgrading my skills and knowledge. As well as conventional learning, such as taking courses, I learn informally from those people and events around me. For example, as part of my day-to-day life, I study the behavior of the people in my organization. I like to reflect on the types of workers, how interactions happen, the impact of the new on the old, women in the workplace, just to name a few. I feel that these types of people-oriented observations have led me to develop my Demystifying COBOL Brand.


Going forward, as the world continues to get smaller and smaller, personal branding will become even more important than it is right now. How unique you are may eventually become your value. Do you agree? Disagree? Why?

COBOL Blogging

Several readers have sent me comments asking me how to blog. I’m sure there are as many ways to blog as there are bloggers, but I do have a specific method that I follow and wanted to share that here. It’s not really anything unexpected.


First of all, the host I chose for my demystifyingCOBOL domain is SiteGround, which provides WordPress as my site manager. I maintain my blog through the WordPress dashboard. It’s not free: I pay a yearly fee to keep and manage my domain. I wouldn’t say it’s cheap either, but it is secure, and the WordPress interface is very user friendly and efficient. It beats web page development from the early 1990’s, when you had to add all your HTML tags yourself, and it sometimes took an hour to load your changes back up to the server. You can really see the difference when you “lived the dream”. With WordPress, I just basically add my post content and hit “publish”.


I get my inspirations for each blog post from a variety of sources. Sometimes it’s something that I remember from my many years experience as a COBOL Programmer, or it might be something new to me that I came across in my related readings. For example, I enjoy reading about COBOL history, as well as modern innovations such as Digital Transformation. I’m also intrigued by women in technology and would love to write more in that area.


In terms of format, I try to keep the length to around 500 words. Also, as a rule, I include the following in each of my blogs:

  1. An appropriate title that is descriptive of the topic discussed. The title should try to catch the reader’s attention with key words.
  2. At least 3 paragraphs of text. Add headings to break up the blocks of writing.
  3. Links to supporting articles or facts presented as hyperlinks. Don’t add the whole link in the text. Put a shorter description instead.
  4. Multimedia such as images or videos, if appropriate.

The Ending

The last sentence or two in a blog may be the most important, because it’s what the reader is left with and should be strong. It should call the reader to action, to somehow ask them to relate the blog content to their own experience.

The following are some examples of types of endings, specifically applicable to this COBOL blog, but they can be used in other contexts as well.

  1. Ask a question such as “what would you do differently if you were an aspiring COBOL blogger?”
  2. Suggest a challenge like the following: “try to come up with your own COBOL related blog topic and see where it takes you.”
  3. Ask the reader to help by sharing this blog post in a COBOL related forum that they belong to.
  4. Offer help with any COBOL-related questions that the audience may have or ask what content they would like to see in future blogs.


The most important thing about blogging is to pick a topic that you enjoy writing about. The rest should fall together naturally.


The Venting of a COBOL Programmer Baby Boomer Tailgater

Like the last child in a very large family, I was born at the tail end of the Baby Boomer generation–1964. As a result, I always seem to be at the end of the receiving line for everything in my life. I’ve had to compete with a large number of others and work very hard for everything I’ve ever gotten. Looking back, it reminds me of the ‘more please’ scenario in Oliver Twist: you work very hard for what little you get, but you still have to work to get more.

Entering University and the Job Market

By the time I finished high school, for example, Universities, Colleges, and the job market, in general, were full to the maximum. There were mass lineups to register for University (it was a multi-day event), and there were rooms full of people writing tests for government jobs. I had to work hard to start out on the bottom. When I did start out at the bottom, it was tough to get a raise and move to another level. In the job market, I competed for higher-level jobs that I couldn’t get because I didn’t have the highest education.

The Education Cycle

When I realized I needed more education to get to a better job (or even to keep my job), I went back to school. The problem was that I ended up in another field that was already saturated with the Baby Boomers that had come before me and advanced. It seemed to be a cycle: go to school, end up in a dead-end job, go back to school, etc. I did the only thing I could do…go back to school again. This time I was a little luckier. I picked a high-tech field at the beginning of the mass need for computer-trained workers—Y2K. The head of the line, at last, I got into a higher-paying job. Advancement was available. As the technology field took off, the problem was that the competition came from, not only the older Baby Boomers, but also the post Baby Boomer generation who were quicker and, of course, younger. As a result, I retreated from the Java jobs back into the COBOL/Mainframe jobs, where I knew the competition would be older, and I could potentially keep up.


As retirement looms, it’s still not looking good for those of us on the end of the line. By the time I retire, I don’t know if there’ll be funds left in the government pension for me. I may have to continue to work to pay for the pensions of the younger generation, and ironically, the older generation who took all the high-paying jobs. I can only hope that I don’t get sick and need one of the hospital beds being used by the other Baby Boomers who came before me. If I wait for everyone else to retire, I hope to finally come into my own in the job market—time will tell.




COBOL is Finally Trending

Photo courtesy of Dreamstime

The COBOL programming language became 60 years old in 2019, and the Mainframe environment turned 55. During that time, many technology trends have come and gone. Nevertheless, COBOL has managed to persist through the introduction of PCs (Personal Computers), the Internet, and the popularity of the Java programming language. These major trends seem to find a way to incorporate COBOL instead of eliminating it. The last couple of years, especially with the Global Pandemic, have not been any different in terms of technology trends that have impacted and even strengthened, COBOL. This article touches briefly on 5 of those trends.

  1. Modernization:

One such trend is the Modernization of Computer Systems. For example, there is currently a trend for industries to introduce newer technologies to work with and enhance their existing tools. According to a Micro Focus survey, 70% of companies would rather use this method than replace their old systems. In this trending approach, the COBOL code itself could be modernized, and/or modern interfacing technologies could be introduced.

  1. Digital Transformation

Similarly, an extension of Modernization is Digital Transformation, where organizations rethink their (old) legacy systems in order to overhaul processes, operations, and relationships with customers. In this procedure, the existing COBOL code is kept but modularized to be used with newer technologies like the Cloud.  As Bartollk (2020) mentions in his article,  COBOL forms the Basis for Digital Transformation, in Digital Transformation, the existing system is recognized as an essential foundational technology and is preserved.

  1. New Demand for COBOL Programmers

Since the Covid Pandemic, there has been a higher demand for COBOL programmers, because the old systems are the ones paying the associated benefits such as unemployment payments. According to an article by Murray (2020),  Sudden Demand for COBOL Programmers – They Need Help Too!, COBOL programmers are coming out of retirement to fulfill the need for people to maintain these Benefit systems. This requirement to process unemployment claims on often 40-year-old systems has created a spike in jobs for COBOL programmers.

  1. COBOL Course revival

Another recent trend involves the revival of COBOL courses. Most universities and colleges stopped teaching COBOL many years ago, but in response to the demand caused by the pandemic, two of COBOL’s big names, Micro Focus and IBM, have begun rolling out COBOL courses for both beginners and professionals.

  1. Artificial Intelligence

Artificial Intelligence (AI), in terms of COBOL code translation, is another trending topic in the field. For example, the automation involved in AI makes it possible to translate millions of lines of code quickly and generate test cases equally as fast. In this way, legacy code could be replaced with newer technology. In the case of COBOL, an option would be to replace the legacy COBOL code with Java code.

Photo courtesy of Dreamstime

It is remarkable to see that, after 60 years, COBOL is still such a relevant and newsworthy topic. After all the recent trends related to COBOL, we can only imagine what may be next.


What trends have you noticed lately in the programming world? Are there any that have affected you personally?

Listening for ‘COBOL’ in Social Media

Part of providing content through Social Media is to ‘listen’ for information about your chosen niche in order to understand the conversations that you may want to become involved in. Since my focus is COBOL, I make it a point to listen daily for news and articles related to the COBOL programming language. If you have a strong interest in a topic and you are a regular Social Media user, your Social Media listening should evolve naturally as part of that interest. For example, I have instinctively incorporated listening for COBOL topics into my daily Social Media routines, not only to keep up with content others are providing, but because I am genuinely interested in the information shared.

Favorite Social Media Monitoring Tools
Google Alerts

One of my preferred Social Media listening tools is Google Alerts. I set up a daily alert to listen for COBOL content. The results–which generally include articles, courses, and job opportunities–are sent to my email. I can quickly scan through them to find the ones that interest me. I favor this tool because it is free, and it gives me a summary of the information that I am looking for.

A screenshot of an example of a Google Alert email

LinkedIn and Facebook Searches

Another of my favorite listening methods on Social Media is to search within the applications. For instance, if I search for COBOL within LinkedIn, I get lists of courses, groups, companies, posts, events, etc., all content within the LinkedIn realm that concentrates on COBOL. Similarly, a search for COBOL in Facebook provides related groups, posts, pages, etc. I perform these searches frequently enough to know what is new in these applications in terms of COBOL. I like to use these types of searches since I can perform them easily while I am reviewing my newsfeeds.

A screenshot of a search for COBOL within LinkedIn

A screenshot of a search for COBOL within Facebook

Sources of News and Updates
Facebook Newsfeed

One of the best sources that I have of news and updates on COBOL-related topics is a Facebook group called ‘COBOL Programmers’. It has about 18,000 members, and there are frequent, current posts. I have joined this group to get updates into my newsfeed which I review daily. There are articles as well as interesting discussions in this group. This source of information is useful to me since the members are mostly experts in the COBOL programming field.

A screenshot of the COBOL Programmers Group on Facebook

LinkedIn Newsfeed

Another great source of current COBOL information and discussions are the ‘Mainframe’ group and ‘COBOL Programmers’ group on LinkedIn. They have approximately 47,000 and 15,000 members, respectively. There are frequent, current article and discussion posts to these groups by industry professionals, which makes these groups valuable sources of information.

A Screenshot of the COBOL programmers Group on LinkedIn


As users of Social Media, we are all listening to our chosen topics. Did you also find that your Social Media ‘listening’ developed naturally, or did you consciously create a listening strategy?


Analyzing Diverse Target Audiences in COBOL Blogging

In general, regardless of the online group you are trying to communicate with, you must be aware that your audience will be diverse in terms of gender, generational and cultural influences.  In the context of my interest in blogging about the mostly non-technical facets of COBOL programming, there are two main types of audiences. First, there are the seasoned, technical, fellow COBOL programmers, who can identify with the various discussions. These are the older generation, who may be looking for a good COBOL-related article from someone they can relate to. A second main audience would be a younger group with an interest in COBOL but not necessarily experienced or informed technically. They are a newer generation who may be starting out in their programming career and are looking for technical information. It is important to be conscious of the unique needs of each group when deciding on a communication style.

Audience #1—Experienced Fellow COBOL Developers

The first and probably the largest, audience in my COBOL-related online communications are COBOL programmers. The article, The Inevitable Return of COBOL, states that the average age of a COBOL programmer is fifty-five. Also, an Evans Data Corporation (2019) survey found that 27.5% of software developers in the world are women. Thus, the demographic of an online audience of COBOL programmers is probably men around age fifty-five. Based on this demographic, some psychographic information about this group is that they are conservative, upper-middle-class, and are followers. In terms of unique characteristics, according to the survey mentioned, one-fifth of men software developers have a personal interest in the technologies they are using. Consequently, one in five of my main COBOL audience have a personal interest in COBOL technologies. When communicating with this audience, the fact that this group is highly technical must be considered, since they will be more critical of any technical items discussed.

Audience #2—Younger, less experienced, Group with an Interest in COBOL

Photo courtesy of Pexels

The second audience consists of the younger listeners, who have an interest in COBOL-related online communications. In the online environment, I am assuming that the demographic of this group would be well-educated people younger than fifty. Based on this demographic, some psychographic information about this group is that they are trendy, leaders, who may have an interest in technology in either a formal, professional way or informally. When communicating with this audience, I must remember that they may not have a full understanding of COBOL or technical terms in general, and there will be a need to explain things in more layman’s terms.

In conclusion, this has been a short analysis of two diverse target audiences of non-technical Cobol-related discussions. The first group includes COBOL programmers around fifty-five years old, while the second group is comprised of all listeners, younger than fifty, with an interest in COBOL.  This analysis has emphasized how, as a blogger, it is important to know your audience so that you can be relevant and inspire them to take action.

Which audience type do you fall into? Are the assumed psychographic attributes correct for your group? Can you identify another audience not included above?



A COBOL Programmer’s First Job–1996

Fresh out of my Programmer Diploma course in early 1996 and feeling great, with 2 COBOL courses, a “C” programming course, and a small intro to Visual Basic under my belt, I was ready for my first IT job. I was, of course, unaware that the first version of Java would be released in January 1996 and what that would eventually mean to the future programming world. I had COBOL in my focus and wanted that to be my first IT job.

The Job Search

A job hunt in 1996 was very different than it is today. If you were looking for a professional job in a large company, which a lot of programming jobs were back then, the first thing you did was to buy a Saturday newspaper and review the “Careers” section. This section featured those companies that had the most money to take out large ads to attract the best candidates. You would also go, in person, to the employment centers to see what jobs they had posted on their boards. This was a good way to get a contact name, address, and phone number. Word of mouth or Networking was also a popular route to find a job. If you knew someone that could refer you, that was one of the best ways to get your foot in the door. Even if you didn’t know someone, you could always do a cold call and ask to speak to someone in Human Resources. An uninvited solicitation wasn’t considered the best approach, but it was something to try when all else failed. Similar to today, you could register with an Agency to help you find a job in your field. However, unlike today, the agencies didn’t seek you out through Social Media, you had to register with them and follow up by phone. If you were lucky enough to get a contact name and address through one of the above methods, you still had to prepare a mailing package, which included a custom covering letter and your resume. You could then follow up by phone in a couple of weeks to see if it had been received. By today’s standards, a very time-consuming and uncertain process.

The First Job

I ended up sending out approximately 60 resumes and covering letters. Ironically, it was the first one that I sent out that gave me my first job offer. In school, I knew someone who had done their Coop work terms at Metlife. He suggested that I apply there and gave me a contact name and address. I ended up having an interview. I had my heart set on a programming job, but they were interested in my degree in business and offered me a “Business Consultant” job. I accepted immediately. The job was to act as a liaison between the business area and IT. Today, this would be a Business Analyst position. I was to query the data to find answers to business questions.  All in all, a very cool first IT job.

The offer and the job

Finally, a Programmer

After a year in the Business Consultant role, the company was looking for programmers. Someone in the area suggested me, and I transferred into a job as a Programmer. That was where my COBOL career officially started, but over the years I’ve often used the skills that I acquired in that first job in writing and interpreting SQL. It was fortunate for me that I was able to switch when I did since Metlife was bought out by another company a year later. A lot of people were laid off, but the programmers were kept on for data conversion to make sure that the data was compatible with the format of the new company. At the time, I was just happy to finally be a programmer.


Do you recall your first IT job? Was it a positive or negative experience?


12 Days of COBOL Programming

Photo Courtesy of Pexels

Since we’re entering a new year full of hope and new beginnings, particularly putting 2020 behind us, I wanted to do the “12 days of Christmas” from the perspective of a COBOL programmer, with a Production release coming up in early Feb 2021.

The tune is, of course, the “Twelve Days of Christmas”. Enjoy…

12 Days of COBOL Programming

On the first day of Christmas, my Manger sent to me
One Production release

 On the second day of Christmas, my Manger sent to me
Two user requirements, and
One Production release

 On the third day of Christmas, my Manager sent to me
Three new developers,
Two user requirements, and
One Production release

On the fourth day of Christmas, my Manger sent to me
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

On the fifth day of Christmas, my Manger sent to me
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

 On the sixth day of Christmas, my Manager sent to me
Six days of coding,
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

 On the seventh day of Christmas, my Manager sent to me
Seven days of testing,
Six days of coding,
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

On the eighth day of Christmas, my Manager sent to me
Eight problem logs,
Seven days of testing,
Six days of coding,
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

 On the ninth day of Christmas, my Manager sent to me
Nine code fixes,
Eight problem logs,
Seven days of testing,
Six days of coding,
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

 On the tenth day of Christmas, my Manager sent to me
Ten programs migrated,
Nine code fixes,
Eight problem logs,
Seven days of testing,
Six days of coding,
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

 On the eleventh day of Christmas, my Manger sent to me
Eleven UA testers,
Ten programs migrated,
Nine code fixes,
Eight problem logs,
Seven days of testing,
Six days of coding,
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

 On the twelfth day of Christmas, my Manger sent to me
Twelve days of code freeze,
Eleven UA testers,
Ten programs migrated,
Nine code fixes,
Eight problem logs,
Seven days of testing,
Six days of coding,
Five program specs,
Four business analysts,
Three new developers,
Two user requirements, and
One Production release

Photo Courtesy of Pexels

Happy New Year for 2021 to all you COBOL Programmer types that happen upon this article and can appreciate both my pain and my satisfaction.

Wish me luck in 2021!

A COBOL IDE: How to Find, Download and Use

An Integrated Development Environment (IDE) is a software tool that facilitates a programmer’s development work. In large organizations, a typical COBOL IDE is an ISPF editor on the Mainframe. To learn COBOL programming, an IDE is necessary, since it enables the developer to write, compile, run, and debug their code.

Finding a COBOL IDE

If you don’t have access to a Mainframe and you are interested in learning COBOL, one of the first things you will have to do is find a COBOL IDE to work with. As you practice creating new programs, you will need software that will compile and execute your code. Ideally, you want this to be as inexpensive as possible. As a result, you should look for an Open Source software which is free to download. A good website to look for this type of software is

Downloading a COBOL IDE

A search in Launchpad for “Cobolide” results in OpenCobolIDE 4.7.6 as the first on a list of potential matches for that search. Once at the website for that software, you can download the setup file and the source package zip file into separate directories. The source package, when unzipped, contains many example COBOL programs.

The OpenCobolIDE


To use the IDE that you have just downloaded, go to the directory where you saved the setup file and double click on the file to start the installation process. Follow the prompts provided and, in the end, the OpenCobolIDE application will launch. From the source files that you downloaded, select one of the .cbl files under the testfiles directory. For example, select the HelloWorld COBOL source file and practice compiling and running it. When it runs successfully, it displays “Hello World” on the screen.


If you are interested in seeing a demo containing detailed directions for downloading this IDE, watch my YouTube video,



Coding Demystified–10 Steps in a COBOL Fix

When people think of a COBOL programmer, they no doubt envision someone, head down, working in a bubble, coding all day, creating new, exciting software products. In reality, aside from the rare new development work that may actually result in all-day coding sessions, a programmer’s job involves a procession of coding fixes on already implemented code. This article discusses 10 of the main steps you will find in one of these pieces of work, from the perspective of an experienced programmer of 25 years.

Photo Courtesy of Pexels


1.  Understand the Problem

If you are a Programmer/Analyst, you will inevitably be assigned a coding issue to resolve. It will be some defect in the existing code, discovered by a tester or maybe a fellow programmer. This issue will be presented in writing or verbally. Your first job will be to interpret the problem and understand it yourself. This is what is referred to as analysis.

2.  Articulate the Problem

If the issue has been recorded in an incident report, there will already be a written description of the issue, made by the reporter. If it has been verbally reported, it will be up to you to explain the problem in such a way that others will understand it. For example, you, as a programmer, will be expected to describe system issues in a non-technical way for a User to understand.

3.  Discuss the Problem with the Client

Once you put the problem into your own words and have an understanding of the issue involved, you will need to make the client aware that there is a problem. This requires excellent communication skills in order to adjust to a business-oriented audience. This discussion should result in a written requirement.


4.  Identification of the Fix

Since the problem has now been articulated and recorded, it needs to be fixed. A potential solution should take into account, not only the area where the problem has occurred but also other parts of the system that may be impacted. Designing a solution requires the programmer to basically have an understanding of the whole system.

5.  Get Approval to Implement a Fix for the Problem

When an appropriate fix has been identified and designed, communication skills again come into play. This time the programmer must communicate the proposed solution to the client in a way they understand. The goal here is to get approval to implement the intended fix.

6.  Document the Problem—Specs

At this point, the programmer is almost ready to make the change. Before diving in to code, however, it is important to create system specifications. These specs are an aid for the programmer making the change as well as documentation that can be used as a reference later on. They may be in the form of a flow chart, pseudo code, or even a word document description.


7.  Implement the Solution

Finally, it is time to start coding. Depending on the problem to be solved, the coding change may range from one line to many lines. It may take several days or just a few minutes. As well as making the coding change, this part of the solution involves compiling your change. The compiler will check the syntax of the new code and report any errors.

Photo Courtesy of Pexels


 8.  Unit Test the Fix

When the compiler errors have all been resolved, it is then time to unit test your implemented code. This is generally programmer testing to determine that the code is functioning as expected. Depending if it is an online or batch solution, you may test your code by accessing it through a CICS screen or by running a batch JCL job.

9.  User Acceptance Test

If the code has successfully run in Unit test to the satisfaction of the programmer, it will be made available to the client, or User, to perform User Acceptance testing. Before final implementation, the User will carry out enough tests to ensure that the solution fulfills the requirements decided on earlier.

Photo Courtesy of Pexels


10.  Maintain the Fix

The implemented code is still subject to future modifications. The requirements may change, resulting in necessary maintenance of the revised code. This will be ongoing for as long as the code is in use.


As you can see, writing code is just one skillset that a COBOL programmer is expected to master during their career. They must also excel as analysts, communicators, writers, and testers. It can be very satisfying to have a job that provides such a variety of challenges.



COBOL Plus JCL Equals Magic

The Initiation

I’ve had a love-hate relationship with Job Control Language (JCL) ever since my first encounter with it back in the 1990s. If you wanted to program in COBOL, which I did, there was no way to avoid JCL. All beginner programmers had to complete a week-long JCL tutorial with information similar to that found in this current IBM Basic JCL Concepts tutorial. Of course, almost 30 years ago, my JCL tutorial was presented on a green screen in a non-graphic, dry way. I probably learned more in my first hour running my own job than I did that whole week reading screen after screen of info that seemingly had no context.

The Effort

At the beginning of your career, which is what it will become if you have the tenacity to continue as a COBOL programmer, you can’t begin to comprehend how much time you will spend with JCL over the years. Early on, you may spend hours trying to figure out why your job isn’t running at all or why it abends in a step when it logically shouldn’t. You pour over the job output looking for clues, only to find that you’ve somehow added an extra space in your Jobcard or your output file doesn’t exist when your job expects it to.

The Understanding

As time goes on, after you have run a few jobs and debugged a few outputs, it starts to become a bit clearer that there is a method to this madness. Maybe by this time, you have actually written a Batch COBOL program yourself that reads input, perhaps from a file, performs some processing, and writes output to another file. How do you get that program to run and produce that output? You wrap some JCL around it to tell it what file to use as input and where to save the output. Your job may even be scheduled to run at a certain time through a job scheduler like Control-M.

The Reward

In the end, if you stick with it, it can be a very satisfying experience to understand JCL, create a job, and run it successfully. There is something rewarding, almost magical, about producing JCL that runs your own COBOL program and produces an output that you can see. It took time, but it is a skill that I am happy I have learned and that I use daily.

What is your experience with JCL? Did you put in your own effort to come to understand it and, in the end, find it rewarding?


A COBOL Programmer’s Unique Story

All of my friends who have younger siblings who are going to college or high school – my number one piece of advice is: You should learn how to program.” This is a famous quote by Mark Zuckerberg, CEO of Facebook.

This image has an empty alt attribute; its file name is programmer-pixabay.jpg
Photo Courtesy of Pixabay
The Discovery

I wish I would have had that advice presented to me when I finished high school. In the end, I did learn how to program, but my journey was very roundabout. I spent many years in University, getting a 3-year Psychology Degree and a 4-year Commerce Degree. With all that education behind me, I was still having trouble finding direction. As a result, I read an amazing, self-help book for job seekers called What Color is your Parachute? Surprisingly, the exercises in the book pointed me toward a career in programming, mostly based on my interest in the one programming course I had taken at University.

This image has an empty alt attribute; its file name is what-color-is-your-parachute.jpg
The Becoming

Given a new path toward programming, I decided to go the quickest route and get a programming Diploma. I used my University courses to get exemptions in the non-programming courses and finished a two-year Computer Programmer Diploma in a year. I loved it. Luckily, I was able to get a job as an entry-level COBOL programmer shortly after I graduated, which has led to a rewarding 25-year career as a Programmer-Analyst and IT Specialist.

This image has an empty alt attribute; its file name is cobol-dreamstime.jpg
Photo Courtesy of Dreamstime
The Next Step

The natural continuation of this lifelong journey is to write about it. To answer some questions that can only come from experience. What is it like to be a woman in technology? What has it been like to work with newer technologies at the same time as older ones? What is it like to be in the computer field with multiple generations of people?  There is so much to write about–so many topics to explore, drawing on my many years of experience. All the facets of the past have come together to create my story, which is, I hope, unique enough to share.

What’s your story? Where are you on your own journey? Are you still becoming, or are you considering your next step?

Who is the Online COBOL Audience?

When you want to get to know someone in person, how do you generally accomplish that? Initially, you probably try to learn their characteristics, then you determine how to talk to them. The process is similar for online connections. First, you want to get to know their demographics and their psychological traits (psychographics), then you find ways to communicate with them.

Photo courtesy of Pexels

Assuming that the majority of the online COBOL-related audience are COBOL programmers, their average age would be 55. Also, in an Evans Data Corporation survey, 27.5% of software developers in the world are women. Thus, the demographic of an online COBOL audience is probably men around age 55. Based on this demographic, some psychographic information about this group is that they are conservative, upper-middle-class, and are followers. In addition, according to the survey mentioned, one-fifth of men software developers have a personal interest in the technologies they are using. Consequently, one in five of COBOL listeners have a personal interest in COBOL technologies.

Now that we have identified some characteristics of COBOL online listeners, one of the ways to find out how to communicate with this audience on social media is to search on Twitter. In this case, a Twitter search on #cobol came back with several related people to follow. Similarly, a search on COBOL in Google Trends resulted in 23 related queries and 19 related topics to investigate. In terms of Facebook communities, related groups and pages included a COBOL Programmers group with 16,000 members and a COBOL page with 3200 members.

A screenshot of a COBOL search in Facebook

It is important to remember not to initiate a conversation too quickly in an unfamiliar COBOL online community. Some are primarily for job postings and others are used to sell online courses. Become a listener.  Get to know the demographics and psychographics of the group you are interested in before you start communicating.

What is your online style? Are you mainly a listener? Which online communities do you enjoy following?