Assistant Professor John Columbus talks workplace skills and software engineering education

Photo of Software Engineering Assistant Professor John ColumbusEarlier this year, John Columbus, Assistant Professor of Software Engineering, contributed a column to EdTech Digest titled “Teaching the Untaught,” which focused on how software engineers need to learn both practical and soft workplace skills while still in college, so they are prepared to contribute right away when they enter the workforce.

Here is a follow-up Q&A to that article:

What are some of the specific interpersonal and communication skills that are important for software engineers to have?

A key skill is the ability to interpret the customer’s comments and questions. The customer may have their own specific language just like we have our “technical” language. It’s up to us to understand the customer—not the other way around. Another key skill is writing. Engineers today write thousands of emails per year. We must be concise, understandable by all email recipients, and present our evidence/opinions correctly.

How do those skills come into play specifically in a software engineering context?

An example would be when a customer or business analyst informs the engineer they have a new idea to save time on invoice processing. The engineer needs to be able to understand the invoice process along with the requested changes. The engineer needs to examine the process and related software to determine possible options and their cost. This has to be conveyed accurately and effectively to the process/product owner so they can make an appropriate business decision. If the business leaders can’t understand the recommendations or why one choice would be better than another, they might make an incorrect decision or expensive mistake.

In the column, you mention teamwork in the context of graduates needing to enter the job market with a wide variety of skills—of not being “just” a coder. How does that kind of flexibility aid teamwork out in the real world?

Business is always changing. Keeping up with the demands for change has forced IT teams to be much more flexible. As a manager, I needed a team that could work on multiple projects where different people could play different roles to balance the work. A programmer would work on requirements on one project with the customer, code on a different project, and be the tester on a third project. With the concept of Agile, engineers may have to do different parts during the sprint, and the entire team must be flexible enough to complete the work. Engineers no longer have the luxury of doing just one piece of the entire software development life cycle.

How can students learn teamwork while still in college?

Many of us—me included—didn’t particularly enjoy group projects in college, yet they serve a critical role in helping us deal with the real problems at work. One of the main complaints we hear about group work is that someone doesn’t help out or is actually hindering the process. Unfortunately, that can be a common occurrence at work. Several real situations are that people may have several tasks to work on so something doesn’t get done. Workers may not understand the problem to solve or the process to fix it. And at times, people are simply overwhelmed. These issues happen during college group work and at work, so students need to learn how to effectively deal with it and still get the job done.

Your column mentions that the software engineering talent pool is global, and students need to be culturally sensitive in their interactions with colleagues and superiors. In what other ways can a global and culturally aware perspective benefit software engineers?

I’ve worked on projects with people from across the globe. Most people appreciate another co-worker who shows some interest in at least the basics of their background. Trying to understand a situation from their point of view will usually encourage others to be more flexible with you. This makes the teamwork go more smoothly. Also, you need to understand their point of view to see why they may be recommending a certain course of action or why they may be resistant to an idea. The days of working just with people that all grew up within 20 miles of where you grew up are fading fast.

I’ve also worked on projects where the members are scattered across the globe, and I may be the only person in Minnesota on the team. If I have team members in the rest of the U.S., I must also be aware of the different time zones. When working with a team in India, finding a time to chat online may require flexibility from all members. The internet has broken down the distance barrier so engineers must adapt to that new reality.

Dunwoody’s Software Engineering program launched the fall of 2017. Applications are still open for fall 2018. Learn more about Software Engineering.