The Strange World of Bug Bounty Hunters

How do software companies find dangerous bugs in their code? Ideally, their own QA departments discover them before it’s released. Sometimes they find out only when customers have problems. That might mean after there’s been a breach. But sometimes they hear about bugs from freelancers who find them in return for a reward. These people are called bug bounty hunters.

Some companies find it worthwhile to offer payment for bug reports. Learning about security holes before anyone can exploit them can save the company’s reputation, which is worth a lot of money. Recently Google paid $112,500 to a researcher for discovering a flaw that could have let a website push arbitrary code into an Android device. Having to deal with it after criminals found out could have been far more expensive.

The Mind of the Bounty Hunter

Bug hunting makes up half or more of some people’s income. They spend hours every day looking for flaws in websites. How different are they, really, from those who do the same thing and use their discoveries to steal information? Sometimes the same person plays both sides of the fence, depending on which one is paying better.

It’s the challenge, perhaps even more than the money, which motivates them. Anyone with those skills could get a well-paying job in QA. But they’d rather be on their own, chasing down bugs without reporting to a boss. Their attitude is, “So you think I can’t break this code? I’ll show you!”

The Benefit to Users

A bounty may encourage hackers to stay within the law. It can even motivate them to work harder at what they like to do. It’s easier to explain their income when it comes from Google rather than the Shadow Brokers, and there’s less chance of blackmail afterward. When they report bugs, the software publisher can fix them before anyone is harmed.

Software bounty hunters are a strange breed, there’s no question. But they do all of us some good.

Need to learn more about IT security? Take a look at POWERUp18 security sessions.

Completely Free ILEditor and IBM Technology Refresh Recap

Today I’ll look at a powerful open source (and completely free!) IDE for ILE programs (CL, C/C++, Cobol or RPG) named ILEditor that is being actively developed by Liam Allan who is one of the brightest minds in the industry. In fact, last week Allan added a new GUI interface to the editor that makes it feel much more professional, while keeping it easy to use. I’ll also give you a quick overview of the announcement IBM made last week about updates to IBM i 7.2 and 7.3.

The IBM Announcement

On February 13th, just in time for Valentine’s Day (because IBM wants to be my valentine!), IBM announced new Technology Refreshes. These include support for POWER9 processors, which look incredible – but, alas, I’m not a hardware guy. They also include updates to Integrated Web Services (IWS), Access Client Solutions (ACS), RPG and more.
Here are links to the official announcements:

IBM i 7.2 Technology Refresh 8 (TR8)

IBM i 7.3 Technology Refresh 4 (TR4)

You should also check out Steve Will’s blog post.

My Thoughts

The most exciting part of this announcement for me is the introduction of the new DATA-INTO opcode in RPG. Here’s the sample code that IBM provided in the announcement:

DATA-INTO myDs %DATA(‘myfile.json’ : ‘doc=file’) %PARSER(‘MYLIB/MYJSONPARS’);

It appears that this will work similarly to Open Access, where the RPG compiler will examine your data structure and other variables that it has all the details for and work together with a back-end handler that will map it into a structured format. Open Access refers to the back-end program as a “handler”, whereas DATA-INTO seems to call it a “parser”, but the general idea is the same.

As someone who has written multiple open source tools to help RPG developers work with XML and JSON documents, this looks great! One of the biggest challenges I face with these open source projects is that they don’t know the details of the calling program’s variables, so they can’t ever be as easy to use as a tool like XML-INTO. For example, the YAJL tools that I provide to help people read JSON documents require much more code than the XML-INTO opcode, because XML-INTO can read the layout of a data structure and map data into it, whereas with YAJL you must map this data yourself. However, DATA-INTO looks like it will solve this problem, so that once I’ve had time to write a DATA-INTO parser, you’ll be able to use YAJL the same way as XML-INTO.

Unfortunately, as I write this, the PTFs are not yet available, so I haven’t been able to try it. I’m very excited, however, and plan to blog about it as soon as I’ve had a chance to try it out!

What is ILEditor?

ILEditor (pronounced “I-L-Editor”) came from the mind of Liam Allan, who is one of the best and the brightest of the 2018 IBM Champions. I have the privilege of working with Liam at Profound Logic Software, and I can tell you that his enthusiasm for computer technology and IBM i programming know no bounds. In fact, one day last week after work, Liam sent me a text message about his new changes to ILEditor, sounding very excited. When I factored in the time zone difference, I realized it was 1:00 a.m. where he lives!

For many years, one of the most common laments in the IBM i programming community has been about the cost and performance of RDi. Please don’t misunderstand me. I love RDi, and I use it every day. I believe RDi is the best IDE for IBM i development that’s available today. That said, sometimes we need something else for various reasons. Some shops can’t get approval for the cost of RDi. Others might want something that uses fewer resources or something they can install anywhere without needing additional RDi licenses. Whatever the reason, ILEditor is very promising alternative! I wouldn’t be surprised if it eventually is able to compete with RDi.

Why Not Orion? Or SEU?

The concept of Orion is a great. It’s web-based, meaning that you don’t have to install it and it’s available wherever you go. Unfortunately, it’s not really a full IDE – at least not yet! I hope IBM is working to improve it. It does not know how to compile native ILE programs or show compile errors. Its interface is designed around the Git version control software, which makes it tricky to use unless you happen to store your code in Git. And quite frankly, it’s also a little bit buggy. I hope to see improvements in these areas, but right now it’s not a real option.

The most popular alternative to RDi today is SEU. In fact, historically this was the primary way that code was written for IBM i. So, you may think it’s still a good choice. However, I don’t think it’s viable today for two reasons:

  1. The green-screen nature makes it cumbersome to use. This is no problem for a veteran programmer, because they’re used to it. But for IT departments to survive, they need to bring in younger talent. Younger talent is almost always put off by SEU. I even know students who gave up the platform entirely because they thought SEU seemed so antiquated, and they wanted no part of it.
  2. SEU hasn’t received any updates since January 2008. That means all features added to RPG in the past 10 years – which includes three major releases of the operating system –will show as syntax errors in SEU.

About ILEditor

ILEditor is open source, runs on Windows and was released as open source under the GNU GPL 3.0 license. That means it is free and can be used for both private and commercial use. If you like, you can even download the source code and make your own changes. It can read source from source members or IFS files. In addition to editing the source, it can compile programs, show you the errors in your programs, work with system objects and display spooled files. It even has an Outline View (like RDi does) that will show you the variables and routines in your program.

The main web site for ILEditor is:

If you want to see the source code, you’ll find the Github project here.

You do not need to install any software on your IBM i to use ILEditor. Instead, the Windows program uses the standard FTP server that is provided with the IBM i operating system to get object and source information and to run compile commands. An FTPES (FTP over SSL) option is provided if a more secure connection is desired.

Connecting for the First Time

When you start ILEditor, it will present you with a box where you can select the host to connect to. Naturally, the first time you run it there will be no hosts defined, so the box will be empty. You can click “New Host” to define one.

Once you have a host defined, it will be visible as an icon, and double-clicking the icon will begin the connection.

When you set up a new system, there are five fields you must supply, as shown in the screenshot below:

Alias name = You can set this to whatever you wish. ILEditor will display this name when asking you the host to connect to, so pick something that is easy to remember.

Host name / IP address = the DNS name or IP address of the IBM i to connect to.

Username = Your IBM i user profile name.

Password = Your IBM i password – you can leave this blank if you want it to ask you every time you connect.

Use FTPES = This stands for FTP over Explicit SSL. Check this box if your IBM i FTP server has been configured to allow SSL and you’d like the additional security of using an encrypted connection.

The Main IDE Display

Once you’ve connected, you’ll be presented with a screen that shows the “Toolbox” on the left and a welcome screen containing getting started information and developer news, as shown in the screenshot below.

Any of the panels in ILEditor, including these two, can dragged to different places on the display or closed by clicking the “X” button in the corner of the panel. There is also an icon of a pin that you can click to toggle whether a panel is always open or whether it is hidden when you’re not using it. If you look carefully on the right edge of the window, you’ll see a bar titled “Outline View”. This is an example of a hidden panel. If you click on the panel title, the panel will open. If you click the pin, it will stay open. You can adjust the size of any panel by dragging its border.

When you open source code, it will be placed in tabs in the center of the display (just as the welcome screen is initially.) These can also be resized or moved with the mouse. This makes the UI very flexible and simple to rearrange to best fit your needs.

The Toolbox

Perhaps the best place to start is with the toolbox.  Here’s what that panel looks like:

Most of the options in this panel are self-explanatory. I will not explain them all but will point out a few interesting things that I discovered when using ILEditor:

  • The “Library List” is primarily used when compiling a program. This is the library list to find file definitions and other dependencies that your program will need.
  • The “Compile Settings” lets you customize your compile commands. Perhaps you have a custom command you use when compiling. Or perhaps you use the regular IBM commands but want to change some of the options used. In either case, you’ll want to look at the Compile Settings.
  • As you might expect, “Connection Settings” has the host name, whether to use FTPES and other settings that are needed to connect to the host. In addition to that, there are some other useful options hidden away in the connection settings:
    • On the IFS tab, you’ll find a place to configure where your IFS source code is stored and which library it should be compiled into.
    • On the Editor tab, there is a setting to enable the “Outline View”. You’ll want to make sure this is checked, otherwise you’ll be missing out on this feature.
    • On the ILEditor tab, there’s a setting called “Use Dark Mode”. This will change the colors when it displays your source code to use a black background (as opposed to the default white background), which many people, myself included, find easier on the eyes.
  • When you change something in the “Connection Settings” (including the options described above), you will need to disconnect from the server and reconnect so that the new settings take effect.

Opening Source Code from a Member List

ILEditor allows you to open source code from either an IFS file or a traditional source member. You can use the Member Browser or IFS Browser options in the toolbox to browse your IBM i to find the source you wish to open and open it.

The Member Browser opens as a blank panel with two text fields at the top. At first, I wasn’t sure exactly what these were for as there wasn’t any explanation. I guessed that this was where you specified the library (on the left) and the source physical file (on the right) that you wanted to browse. Iit turned out that I was correct. If you type the library and filename and click the magnifying glass, it will show you all the members in that file.

I have a lot of source members that I keep in my personal library, and I often get impatient waiting for the member list to load in RDi. I was pleasantly surprised to see that the member browser in ILEditor loads considerably faster.

There is also a “hidden” feature where you can press Ctrl-P to search the list of recent members that you listed in the member browser. Just press Ctrl-P and start typing, and it’ll show the members that match the search string. This was a very convenient way to find members.

Once you’ve found the member (in either the regular member browser or the “search recent” dialog), you can double-click on the member name to open it.

Create or Open a Member Without Browsing

In the upper-left of the ILEditor window, there is a File menu that works like the file menus found in most other Windows programs. You can click File/New to create a new member or IFS file or File/Open to open an existing member or IFS file when you know the name and therefore don’t need to browse for it.

The File Menu also offers keyboard shortcuts to save time. You can press Ctrl-O for Open, or Ctrl-N for New to bypass the menu.

One thing that I found a little unusual is that you must specify the source type when you open an existing member. I expected this when creating a new member, since the system doesn’t know what it is. But when opening an existing member, I expected it to default to the source type of the member so that you don’t have to specify it every time. I discovered that if you do not specify the type, it will default to plain text. I spoke to Liam about this, and he assured me that this is something he plans to improve in the future. Thankfully, this is not the case when using the member browser. It only happens when opening the member directly.

Working with IFS Files

The IFS Browser can be used to browse the IFS on your IBM i and find the source code that you’d like to open. It will begin browsing the IFS in the directory that you’ve specified in the IFS tab in your connection settings. Any subdirectories found beneath that starting directory can be expanded as well to see the files inside of it.

Like the member browser, double-clicking on an IFS file will open it in the editor.

The File menu also has options for creating a new IFS file or opening an existing IFS file when you know the exact path name. In that case, you do have to type the entire IFS path. There is no option to browse folders as you’d find in the open dialogs of other Windows software. That didn’t seem like a problem to me. If I wanted to see the folders, I’d use the IFS browser instead.

The Source Editor

I found the editor to be very intuitive, since it works the same as you’d expect from a PC file editor. It provides syntax highlighting and an outline view that make the source code very easy to read. In the screenshot below, I’m using “dark mode”, so you’ll see that my source code has a black background.


Syntax highlighting worked very nicely in free format RPG, CL and C/C++ code, including code that used the embedded SQL preprocessor.

Unfortunately, it did not work in fixed format RPG code. Liam tells me that fixed format RPG is especially difficult to implement because he codes ILEditor’s syntax highlighting using regular expressions, and regular expressions are difficult to make work for position-dependent source. However, he assured me that he does plan to support fixed format RPG code and is working on solving this problem.

I noticed that I could still type fixed format code and make changes to it, and aside from the source not being colored correctly, it worked fine.

The Outline View was a pleasant surprise, because I wasn’t really expecting an editor other than RDi to have one. It does not have as many features as the RDi outline view, but it worked very nicely for what I needed it for. I was also pleasantly surprised that the Outline View worked with CL code.

Compiling Programs

The compile option can be run by using the Compile menu at the top of the screen, the compile icon (shown in the picture below) or by pressing Ctrl-Shift-C.

I discovered that the compile option does not ask for any parameters. Instead, it uses the options that you specified in your connection and compile settings options in the toolbar. So if you want to change one of the default compiler options, you need to change them in the compile settings each time.

There are advantages and disadvantages to this approach. The advantage is that it’s very quick and easy to compile a program. When you’re developing software, you often have to compile it many times, and it’s very nice to be able to skip the dialog and just have it compile. The disadvantage is when you want to do something different in a one-off situation. You have to go into the compile settings to change it, so that’s a little bit of extra work. However, I find that I don’t need to do that very often, so this wasn’t a big deal to me.

When an error occurs during the compile, an error listing will open showing you what went wrong, very similar to what you’d find in RDi. Like RDi, you can click on the error and it will position the editor to the exact line of code where the error was found.

One thing that surprised me about the compile and the error message dialog was that it is considerably faster than RDi. That seems strange to me, since both tools are connecting to the IBM i and running the same IBM compiler for RPG. However, I found that depending on the size of the member, the ILEditor compile was 10-20 seconds faster than the RDi one.

RPG Fixed Format to Free Format Converter

One feature of ILEditor that simply did not work well was the RPG converter. Some of the fixed format code in my program would convert, but other things (including things that should’ve converted easily) did not. Code that spanned multiple lines did not convert at all.

In my opinion, the converter needs a lot of work before it will be useful. I pointed this out to Liam, and he told me that he agrees and has a complete rewrite of the converter on his to-do list.

Other Features

I’d like to mention some of the other features of ILEditor that I did not have time to try out before writing this article. Since I didn’t have time, I can’t review them and give my opinion – but, I wanted to mention them. That way, if you’re looking for these features, you can give them a try yourself and see what you think.

  • Source Diff = compares two sources (members or IFS files) and highlights what is different about them.
  • Spooled File Viewer = Lets you view spooled files that are in an output queue
  • SQL Generator = Generates SQL DDL code from an existing database object
  • Offline mode = lets you download source from the IBM i to store on your PC and work on it while you are not connected (for example, when traveling on a plane or train without good internet access), uploading the results later.

My Conclusion

I was extremely impressed by ILEditor. RDi has more features, such as debugging, refactoring and screen/report design, but I was surprised at just how many features ILEditor has, considering it was written by one man in his free time and costing nothing. I was pleasantly surprised by the performance of ILEditor, which was consistently faster than RDi while using far less memory.

Unfortunately, the lack of syntax highlighting for fixed format RPG will be a problem for many RPG developers, and I sincerely hope that does not discourage them from at least trying ILEditor.

If a lot of people try it, and some of them donate money or give their time to help with development, this tool could easily become a serious competitor to RDi.

3 Things to Consider When Selecting an IT Vendor

Selecting an IT vendor is an important decision for any organization. Choosing an IT vendor that fails to meet the needs of your company can lead to unnecessary stress and can limit the productivity of each employee. Here are three things to consider when you are looking to partner with an IT vendor in today’s work environment.

#1 Do they fit your needs?

The first step in considering an IT vendor is to determine if they fit the unique needs of your company. For example, if you are in need of IT security, do they offer a security plan to keep your business protected from the vast amounts of cyber threats? Creating a list of your needs can be helpful in determining if an IT vendor is a good fit or if you need to move on to another one.

#2 Do they have a good reputation?

One of the best ways to learn about a company is from past or current clients of an IT vendor. An IT vendor with an excellent reputation is much more likely to benefit your company than choosing one with a poor reputation. Reading customer reviews and talking with other clients can help you determine if an IT vendor will be an asset to your organization or if you need to look elsewhere.

#3 What is the price of their services?

It is essential to compare the prices of their services to other IT vendors. Comparing prices will give you a good idea of the fair market value and can help you avoid overpaying for these services. While it may not be beneficial to choose the lowest price, it is still important to take the extra time to find a fair rate. Ultimately, finding an IT vendor that offers excellent services at an affordable rate is a win-win scenario for everyone involved.

Attend POWERUp18 and meet with numerous product and solutions vendors all in one place. It’s the largest Power Systems expo this year.

Work Experience as Part of a College IT Education

Students learn important theoretical and practical concepts in the classroom as a part of a college-level degree in information technology. Work experience can supplement this education providing industry-specific skills and access to the type of environment they may work in after graduation. There are several common ways IT students get work experience while they are still students, including internships, part-time jobs and capstone classes.


There are many companies, organizations and government agencies that offer internships to students in technical fields. A student will need a level of skill typically obtained through a few semesters of IT coursework. Internships may occur during summer or in place of a semester. In IT, students usually receive payment for their work as an intern. College credit, however, may also be an option at some institutions. The student should intern at the type of place they are most interested in eventually working at so they can decide if they like it.

Part-time Job

Students in IT may have many options for part-time technical jobs they can do during the school year in addition to taking classes. Jobs can include on-campus positions working for specific departments, professors or units. Off-campus jobs with local companies are another option. As there is great demand for IT work, companies close to universities often will hire students to work part-time.

Capstone Classes

As a part of some college IT curriculums, there is a required capstone class. This can give students the opportunity to do work for real companies as part of a structured course. Often, students work in teams on projects and learn how to interact effectively with a client. The students receive credit and grades in the course and can include it on their resume as a project they worked on.

Practical work experience while in school can help a student figure out what kind of IT career they want to pursue. It helps them stand out when applying for jobs after graduation and gives them valuable skills that will help them succeed in a future workplace.

Are you a student interested in a career working on IBM Power Systems? If so, learn more about the opportunities the COMMON Education Foundation offers.

IT in the Banking Industry: Checking the Box Is Not Enough

Advances in digital technology have changed the way the world conducts business — and that includes cybercriminals. Unfortunately for the banking industry, cybercriminals’ favorite targets are financial institutions. In this post, we explore banking compliance efforts and why checking the compliance box is not enough. So read on for ideas on attaining true security.

PWC’s Global Economic Crime Survey

According to the PWC 2016 survey, cybercrime is now the second most reported economic crime. To improve on proactive security measures, financial institutions must evaluate threats and determine their imminence in real time. PWC says that cybercrime is not just an IT problem. Responsibility for keeping data secure starts in the C-Suite and trickles down to all staff.

The findings of this study are fascinating. Respondents said:

  • About 50 organizations had cybercrime losses above $5 million
  • One-third of those reported cybercrime losses in excess of $100 million
  • Survey respondents considered the loss of the business’s reputation the most damaging impact of a cybersecurity breach

Checking the Compliance Box Is Not Enough

There are many standards and guidelines, some on a national or global level, directed at helping financial institutions assess their cyber risk and improve their management of that risk.

These guidelines are good initial steps, but stopping sophisticated cybercriminals requires a more hands-on process. For instance, the ECB requires banks to disclose cyberthreat information to a real-time alert database. Since 2016, the agency has collected such information with the goal of instituting an early warning system for banks. ECB expects to provide the database to its 129 member banks sometime in 2017. ECB will also share the information collected with the U.S. Federal Reserve and the Bank of England (BoE).

BoE also has a cyber-stress test program that performs hacking exercises with U.S. regulators to imitate a large-scale attack on the global financial system and gauge the attacks’ impact on financial networks.

Conduct Insider Threat Assessments

One way to protect against insider security threats is to analyze behaviors within the network.

  1. Identify the various roles that employees play within the organization and the network authorizations assigned to them
  2. Assess the data access rights for each employee and list each piece of equipment they have authority to use
  3. Analyze usage to determine unauthorized use of equipment or to identify anyone trying to access data they are not authorized to access

Penetration Testing

Cybercriminals take advantage of network vulnerabilities. It follows then that cybersecurity involves knowing what and where those vulnerabilities lie. Penetration testing means your IT staff — or a third-party provider if you outsource the task — gathers information about your system in order to identify possible points that a hacker might use to gain entry. Once you’ve identified potential entry points, IT staff will conduct penetration testing — which means they will try to break into the system through the entry point to determine the vulnerability threat level.

  • IT staff can test penetration manually or by using special software
  • Penetration testing can also tell you how well your employees comply with your security policies and how well they understand their roles in the organization’s security
  • Penetration tests are sometimes referred to as “white hat” tests because the good guys are doing the testing

Learn more about penetration testing tips: read the article entitled Three Penetration Testing Tips to Out-hack Hackers.

IT Careers and the Qualities All Employees Need

Technical Skills and IT Careers

There is no doubt that employers want IT professionals who have a lot of technical expertise. In order to assess the technical skills of their job candidates, hiring managers will often specifically look at their educational qualifications.

Job candidates certainly need to have some fundamental abilities in order to succeed in any career in information technology, such troubleshooting, research and problem solving skills. However, it’s important for people in the world of information technology to remember that hiring managers will still care about their personal qualities as well.


Hiring managers across many different industries will say that they often specifically choose the job candidates who come across as reliable and truthful. They also want candidates that are energetic and eager to contribute.

Some people in the field of information technology are prone to thinking that as long as they have the right technical skills, they’ll be able to find a job easily. However, they should know that they’re competing with a very broad range of employees who might have the exact same technical qualifications. If they also have the right personal qualities, it will be that much easier for them to secure the jobs they want.

IT Industry Employment

It’s estimated that as of 2016, there were 6.7 million individuals working in the information technology industry in the United States. Some people predict that the field will expand by 22 percent through the year 2020.

Since it’s possible to search online for a wide range of job listings, people in the industry will have no problem finding a lot of potential positions. It’s possible to have an IT career from home these days, and the rise of telecommuting means that people no longer have to rely on local jobs when they’re looking for IT careers. They mainly need to focus on having the right personal and technical abilities.

The Impact of IT on the Banking Industry

All industries are being heavily influenced by new changes in information technology, and this is certainly true for the banking industry. There has been a lot of discussion about the influence of IT in the banking industry, and how it might fundamentally change the manner in which a lot of people perform banking transactions.

The Rise of Blockchain Technology

As blockchain technology becomes more and more common, there won’t be as many centralized banking systems. Many of the specific banking transactions that people perform will be faster as a result of blockchain technology, so this is something that plenty of bank customers might support. The fact that this technology will get so much consumer support should only make it more economically viable.

Paper Checks May Become Obsolete

A lot of people have already dropped paper checks in favor of making online payments. This is starting to become enough of a trend that paper checks may eliminated in the near future. In some countries, paper checks have already become a thing of the past.

Cash might be used more frequently than paper checks in the near future, but people are still starting to rely on cash less and less as well. Online payments are becoming convenient enough that most of the advantages associated with cash payments are disappearing.

Bitcoin and Similar Currencies Will Become More Popular

It’s clear that Bitcoin isn’t going anywhere, even though some people in the industry were skeptical of Bitcoin initially. Given how useful Bitcoin is when it comes to international banking, increasing rates of globalization should only make Bitcoin more relevant.

Many of the new technological changes should be positive for customers overall. They will also certainly have a huge effect on the experience of customers in general.

College Degrees for IT Career Preparation

College-level curriculum in certain technical fields is useful preparation for an IT job. Several options exist for students, including associate and bachelor’s degrees. The major a student picks for their degree helps them either prepare for a specific IT job or get a broad background to prepare for many entry-level jobs.

Specialized IT Associate Degree (2-year)

A 2-year degree in a specific IT field, such as computer repair, system administration, web development or mobile development, is an ideal option for a student who already knows the area of IT in which they want to work. Detailed training in this field prepares them for a job soon after they graduate. 2-year degrees are less expensive than bachelor’s degrees and are typically available at a community college. While the starting pay a graduate receives at their first job is usually less than what someone with a 4-year degree would earn, the specific skills they learned about their field helps them advance fast and continue to learn.

Computer Science Associate Degree (2-year)

Many community colleges offer a general degree in computer science for students who want to prepare for a bachelor’s degree. This degree usually includes required math, introductory programming and general education requirements. After completing the degree, students can transfer many of these credits to a 4-year university program.

Bachelor’s Degree in Computer Science (4-year)

A 4-year computer science degree from a reputable university can provide considerable general knowledge about math, programming, software design, algorithms and computer systems. Further specialization can tailor the degree to include areas like networking, databases, web development, artificial intelligence, mobile development and IT security.

Often, computer science students do a co-op or internship with a company to get real work experience on their resume. Many computer science programs also offer a capstone course where teams of students work together on a semester-long project for a company. All of this is useful preparation for real IT work upon graduation. With a both broad and specific knowledge of IT, in addition to practical work experience, students are well prepared for most entry-level IT jobs when they graduate.


Both associate and bachelor’s degrees in IT are great options for career preparation. Colleges offer many paths students can take at both levels. The path a student chooses can help them prepare for a specific career or give them general computing knowledge and project experience that prepares them for a variety of IT jobs.

Students – top off your educational experience by earning certification. Learn more about earning Business Computing Associate certification.

IT in Manufacturing: 5 Benefits of ERP

The origins of Enterprise Resource Planning (ERP), a software system designed to meet a company’s needs by merging its operational processes in a single application, can be traced back to the 1960s when software engineers identified a need for companies to centralize their computing systems, which mainly involved automating their inventory management and control systems.

By the 1970s, the tech world gave birth to what would become ERP’s predecessor and prototype, Manufacturing Resource Planning (MRP). A decade later, MRP became MRPII. Then in the 1990s MRPII evolved into ERP. Since manufacturing is ERP’s earliest beneficiary, the two are a natural fit. Manufacturing ERP software has also been used by other industries like transportation and automotive. Here are five ways ERP benefits manufacturing.

Streamlined Processes

An IDC Manufacturing Insights survey reported that 71 percent of manufacturers expect an escalation in market complexity, while 61 percent think it will lead to a jump in operational complexity. Manufacturing ERP systems seek to address the problems that come with an increasingly complex workplace by streamlining operations, improving functions like production, data entry and order fulfillment.

Cost Control

ERP software helps reduce operational and administrative costs using one source of real-time data. Knowing and understanding a company’s Key Performance Indicators, along with other pertinent information, is crucial to boosting manufacturing growth. Manufacturers with ERP solutions can proactively manage operations and prevent delays and disruptions.

Increased Flexibility

ERP systems also benefit the manufacturing industry because of their flexibility, their ability to adapt to a company’s individual needs. In fact, since manufacturing operations constantly evolve, ERP has a feature that allows for seamless adaptability.

Maintaining an Edge Over the Competition

Manufacturers often find themselves caught in a tug-of-war between two conflicting options: investing in an ERP system, which could require a major investment, and doing nothing while their competitors take advantage of the opportunity to improve their operations and remain at the front of the pack.

Inventory Reduction

Companies often call any excess inventory “safety stock“. Too much of it can lead to wasteful practices in such areas as warehouse employees, excessive paperwork, non-verbal communication, actual inventory counts and storage.

Opportunities in College-level IT Education

Many students today are interested in getting a college-level IT education, which makes perfect sense. Today’s college students are increasingly making practical career choices. They’re well aware of the fact that an IT education will give them job skills that they can use immediately, especially if they have the right education. Fortunately for them, an increasing number of schools do have information technology education programs.

IT Degrees

Many students will specifically work towards two-year associate degrees in information technology education programs. A two-year degree will prepare students for a career in computer programming, computer support or network administration. Some colleges will offer four-year degree programs in information technology as well. These will typically give students the opportunity to work in information systems technology and other particularly advanced fields.


A number of people who are already working in the IT industry will pursue college-level IT education in order to enter credit certificate programs that will help them learn new skills. However, there are also students who will earn these vocational certificates while they are earning their associate degrees, so they will be adequately prepared for a high-level career in IT with a lot of available options.

IT Internships

It’s a good idea for students to get direct work experience in the field with IT internships. Some students will get the opportunity to earn course credit by participating in these internships. Other students will get small salaries, while other IT internships are unpaid. There are students who choose to complete IT internships after graduation, which might be allowed with some internships. The more experience, skills and qualifications that students can bring to the table, the better. Having educational qualifications, as well as industry experience through an internship, might be the ideal combination.

After completing your education, check out the COMMON Career Center for career opportunities.