April 25, 2016 | Andrew August and Rhonda Chicone
Everywhere you go and everywhere you look, you can see software in action. Take a look around. You use it at the ATM, you use it at your grocery store, and you see it on your car’s electronic dashboard. Software is what makes hardware come to life!
We must all realize that software is never going away, at least not in our lifetime. As a matter of fact, software is slowly becoming invisible.
I’m sure you have heard of the Internet of Things (IoT) by now. If not, the IoT is like the Internet jumping out of a gadget. An example of a gadget could be your Roku device or your front door’s dead bolt. What makes these devices do what they do? Software! The Internet doesn’t move data back and forth on its own, it needs software to do that.
The rise of IoT can provide unique opportunities for those interested in software development. Below are some of the traits related to developer roles.
Are you that person that wonders how something works? Do you find yourself picturing how things work in your mind’s eye? You may even go so far as to take things a part just to put them back together again. A software developer must have curiosity, a desire to know how things work.
Perseverance and Tenacity
Do you get frustrated when things don't work right away? A solution to a problem is rarely found the first time around. A software developer must have perseverance and tenacity. Actually, a true software developer will not want to give up. He/she will be driven to find a workable solution to the problem at hand otherwise it causes sleepless nights.
High Tolerance for Ambiguity
Many times the requirements for a software application change over the course of it being developed. It is a fact of a software developer’s life. A software developer should have a high tolerance for ambiguity. That is, do not get overwhelmed when there is not a clear set of instructions to your reach a goal.
If you are a person that fits into the above categories, keep reading and let us explore what a software developer could do on a day-to-day business.
Creating a Plan or Part of One (No Coding Allowed)
Many people think a software developer just starts coding. Yes, a software developer does do coding eventually but first he/she has to plan or design what it is he/she is going to code. This is called an algorithm. Designing an algorithm doesn’t require any coding. Instead, the software developer will use software design tools and techniques. This is analogous to what an architect does before building a house.
As a software developer is coding, he/she is also debugging and testing the code. This is an important step just like the ones noted above. We all have used software that didn’t work correctly. The software developer has a responsibility to test his/her code for correctness.
Software Quality Assurance
Many times there are several pieces or components of code that make up a software application. A software developer may be responsible for testing the software application as a whole. This is sometimes called System Testing. There are a lot of categories under System Testing but the goal is to ensure the software application performs, as it should. That it meets a predefined set of the quality standards.
Change is a Constant
Good software continues to evolve over time. A software developer may have to work with another software developer’s designs, code, or test plans. A good software developer has a responsibility to create readable designs, code, and test plans.
Communications and Teamwork
Good software developers know how to communicate. This includes oral and written communications. They also know how to work in teams. Communications and teamwork is a must!
Remember, software is not going away. The software development field is an exciting one. Why not explore if you can be a part of it?
Andrew August and Rhonda Chicone are faculty members at Purdue Global. The views expressed in this article are solely those of the author(s) and do not represent the views of Purdue Global.