Editor’s Note: This is the second of two articles on the broad skill requirements that can help ensure success in enterprise computing. Read part one here.
To be successful in enterprise computing, a developer must have substantial skills in three main areas:
1. The developer must have a variety of domain-specific skills like COBOL, JCL, CICS, DB2, SQL, test methodology and working knowledge of different approaches to the system development lifecycle. This was the focus of the first article.
2. The developer must display basic effectiveness with strong verbal and written communication skills.
3. Education, certification and experience; the skill and tenacity learned in a degree program, or certification achieved through study and testing, gives a developer a competitive edge in the marketplace.
Let’s explore the second and third of these three areas shown in Figure 1 in more detail.
Figure 1. Three skill areas needed for success in enterprise computing
All Jobs Require Effectiveness Skills
What are effectiveness skills and why are they needed? The most prominent effectiveness skill is described as strong verbal and written communications. These skills are developed through practice, and can be learned at a university or through internships before finding full-time employment. After three to five years of full-time employment, these skills are usually polished and more fully developed. Also needed are strong analytical and problem-solving skills, and the ability to effectively report status and raise issues when necessary. Some employers also list the ability to teach and instruct coworkers, facilitate meetings to reach consensus, and coordinate onshore and offshore teams as desired skills.
Aside from these effectiveness skills, what else is desired? Additional areas are important, including analysis, development and design thinking, and the ability to plan, pace, multitask and lead.
IT Thinking Skills
Having analysis, development and design thinking means you can create system designs, analyze system requirements or business requirements, and evaluate design specifications. Some employers are specific, and require the ability to develop block diagrams, logic flow charts and coding structures. Many mention the need to document procedures used throughout the program so it can run as part of a system. Also desired is the ability to develop contingency plans and develop high-level design documents according to company architecture standards.
Whole Brain Skills
The ability to plan, pace, multitask and lead includes detailed planning and estimating skills, along with the ability to identify risks, recommend mitigations, and provide leadership and direction to team members. It’s also important to be self-motivated with a high level of initiative, to work well alone and within a team, and to have the ability to multitask on numerous projects. Employers also single out the ability to be flexible and quickly adaptable.
This collection of effectiveness skills isn’t easy to develop. In many ways, this range of skills takes an entire career to develop, yet many job listings ask for these skills while listing that just three to five years experience is required. This tension between skill and years of experience reflects the desire of employers to get the most out of the salary offered for a job.
Education and Certification
There is a significant variance in the formal education requirements for companies depending on the scope of the job and the size of the organization running the IT department. Some companies have small IT departments so the programmer/analyst is expected to do several different tasks. Other companies have more layers in the IT design and programming community, so there is more specialization and, depending on industry challenges, deeper skill requirements.
Most employers require or prefer that a candidate have a bachelor’s degree. However, they are willing to accept a candidate who has an Associates degree or high school diploma if they have significantly more years of experience. For example, a candidate with a BA would require three years experience, whereas one with a high school diploma would require 10 years experience for the same job.
Some employers prefer master’s degrees in computer science, computer engineering, software engineering, Information Systems/technology, or an Master of Business Administration in management information systems. Generally, these jobs include duties involving more design and analysis work than programming.
Certificates and Certification
Having a certificate is not the same as certification; you can have a certificate in project management and not be a certified project manager. The difference is testing and a portfolio of proven experiences that go into becoming certified.
The web is full of articles about the importance of certification
and how it can lead to greater earning potential, but nevertheless certification doesn’t play a highly visible role in job posting for an enterprise programmer/analyst.
There are a number of product certifications that apply to enterprise computing from many different suppliers. Table 1, below, has recent updates from the IBM Professional Certification program for systems.
Table 1. 2016 Updates to IBM Professional Certification for systems
Some enterprise computing jobs require a security clearance. A security clearance is a determination by the U.S. government that a person or company is eligible for access to classified information. The term “eligibility for access” means the same thing as security clearance, and appears in some government record systems. Security clearances can be issued by many U.S. government agencies. However, the Department of Defense issues more than 80 percent of all clearances
Some employers have a stated requirement that programmer/analyst must provide on-call support for applications. There are examples of employers having clearly defined roles and responsibilities for on-call duties including a well-defined compensation policy
. There are also comments made on job posting sites by employees who are unhappy to be required to provide this support due to the impact on their quality of life and work-life balance.
Years of Experience
For the typical programmer/analyst job, employers are looking for highly skilled candidates with three to five years of experience. This is what they indicate in their job postings. For a programmer to get experiences that are this varied and rich, they are likely to have changed jobs three times in their first five years of work. Most jobs don’t offer a wide enough range of experiences so programmers move on to learn something new and they are likely to get a salary increase along with the move.
There are many other type of IT jobs in enterprise computing besides programmer/analyst. For example, there are a variety of senior design and architecture jobs that require at least 10 years of experience, but these aren’t programming jobs. In large organizations, there are IT architects who evaluate system and application software solutions from vendors as well as work on major transformations involving data, databases and corporate repositories. Large companies work out proposed changes and additions to architectures on paper well before they implement the software, hardware and services.
It’s Worth It
As was discussed in these articles, there’s a challenging and diverse set of skills needed to get a job and thrive in the enterprise-computing environment. Figure 2 summarizes the collection of skills that employers expect from a programmer/analyst, and provides a summary of each specific skill.
To get a good job, you need a critical mass of these skills, and you need to show that you have exercised these skills in practice for previous employers. It may seem like a big challenge to get and maintain these skills, but it’s worth it.
Figure 2. Skill areas and skill details