Career Choice: Computer Software Engineering

In choosing a career I thought it would be best to choose a job with the following qualities: a career I have significant personal interest in, stability for supporting a family, easily found work, the potential to influence people, and the need to be creative with my work.   Computer software engineering involves each of these key qualities, so I decided to explore and research this vocation through my graduation project.

             Computer software engineering can be broken down into two categories, systems engineering and applications engineering. Applications software engineers program general software applications for use within a certain system. Some of the most common programming languages used by applications engineers include C++, C, Python, or Java (“Computer Software Engineers and Computer Programmers”). Systems software engineers program the electronics at a machine’s most fundamental level of processing. These people program the elements of machines in which the most basic applications run. 

            A bachelor’s degree in computer science or computer engineering is strongly recommended to enter the software engineering field. While not required, it certainly helps job-seekers find more work and increased pay. (Steven Leiphart)  In order to progress up the pay scale computer software engineers either need to have extensive experience in the field or to have taken business/leadership classes, and to reach the highest rung on the job ladder, often an M.B.A. is required (“Computer Engineer Sample Career Path.”) in order to progress to positions like vice president or C.E.O. of a large company.

            In addition to a having a bachelor’s degree, a software engineer should have certain abilities necessary to computer software engineering.  He/she must be logical, so they can find common sense solutions to problems.  He/she must have math and computer skills, because they will be learning many new processes concerning computers and programming languages.  He/she should be comfortable with technology, because they will be working with it every day due to the nature of this job.  Problem-solving skills are a necessity because half the process of programming software is debugging. Debugging means fixing the problems of software that has been written.  This person must have an understanding of business to succeed, because they will always be working with business and making decisions of their own related to business (“Computer Engineer At a Glance.”).  Without these skills and characteristics, a person will be severely limited in the field of computer software engineering, as these are all essential things to completing the work of computer software engineering successfully.

There are many different job titles one may possess progressing up the ladder of a computer software engineering company. With increased job experience comes rising up the ladder, which generally yields an increase in pay.  A beginner is usually named junior computer engineer, which requires a bachelor’s degree in computer engineering or something similar.  The average earnings for a junior computer engineer are from $50,000 to $70,000 a year.  The responsibilities of this role are largely assistance based under the watch of experienced programmers.   Then with about 3 years of experience he/she becomes a (standard) computer engineer, yielding an increase of about $20,000 to $40,000 dollars a year in income, and also yielding an increase in responsibilities that include designing more software, leading engineering teams, and making sure projects are completed on time.  A third level above the standard computer engineer is engineering manager. That step requires at least 5 years of work experience and business courses/management training (in addition to the bachelor’s degree.  This usually boosts the newly promoted engineering manager’s salary of $80,000 to $145,000 a year. His new responsibilities involve managing an entire department or division of a company, as well as leading teams of engineers.  Quintessentially, there is the potential to become a chief executive officer, or C.E.O. This major step requires much hard work, at least 10 years of experience, and often an M.B.A.  Being the chief executive requires managing of the business affairs of the company and help planning the company’s business strategy. This position also offers a large jump in salary, anything from $100,000 to $150,000 or more a year is possible.  (“Computer Engineer Sample Career Path”).  Therefore, no matter where you are working within computer software engineering, you’ll be required to have a bachelor’s degree in computer science or engineering.  Every role offers a large salary, which often increases with experience.  Another potential business path for a computer software engineer to take is to be a self employed contractor, which involves finding and doing your own work, being your own boss.  So long as this person can remain on task while working from home or wherever they are without higher ups pounding down on them this is fine (Steven Leiphart).  Although this role is subject to higher taxes and a less predictable amount of work, one can stay home and work in their pajamas, so in making this decision one must weigh the benefits and consequences.

I decided to pursue computer software engineering for my graduation project for a couple of major reasons.  It has an extremely positive job openings outlook over the coming years, “Employment of computer software engineers is expected to increase by 32 percent from 2008-2018, which is much faster than the average for all occupations” (“Computer Software Engineers and Computer Programmers”). This should make it quite easy to find a job in the field wherever I want to live.  Another major reason is that I’m looking for a career that I can be creative with, and computer software engineering is a very creative process in which the programmer creates his software from start to finish, designing it to be intuitive and clean.  I also would like to have a job that can influence people, and with this career I can create programs that make peoples’ lives easier.  The work is reliable because so much of it will be around, and computer software engineering brings in a solid chunk of change to support a family if I happen to have one.  These are all very attractive qualities of this career.

I job shadowed an embedded systems programmer named Steven Leiphart for 9 hours one day.  He programs machines at their simplest level typically using the language of C.  He is an independent contractor, and when I arrived to the office in his house, he had recently received a new project that cleans the filters in dialysis machines.  His goal was to fix the program somebody else wrote so that the initial startup graphic would not be messed up when coming on screen, and to get all of the menus and buttons working.  We ended up trying to figure out how to program the screen to show the graphic correctly all day.  Simply guessing what may be the error, making a hypothesis, testing its solution and seeing if it made a difference was our repair process.  Often we were shooting in the dark with our efforts to fix it, but that’s sometimes what one must do to figure out what’s wrong, and it’s where the problem solving skills come in especially handy.  Finally we figured out what was wrong and got the screen working, but it took us nearly all 9 hours of the day.

I am very happy to have had the chance to explore this niche of engineering so thoroughly.  The job shadow especially gave me a deep understanding of what it’s like to do this as an everyday job.  I learned it takes patience with some highly, highly technical processes (I didn’t understand what Mr. Leiphart was talking about half the time, saying things like “the stack is wrapping, so we have to increase the number of processing bits used so that it doesn’t roll over.”)  He would explain what he was talking about, but I still only had a vague understanding of it.  And he has been doing this for nearly 25 years — that kind of knowledge can’t be passed on in one day.  Extensive knowledge in something that not many people know how to do is the key to making lots of money, Mr. Leiphart is very well off with his work.  And any hardworking software engineer has the same potential to make a very nice living.  Before I did the graduation project, I had a dim idea of what computer software engineers do, and I was quite interested in pursuing this field myself.  However, through the job shadow, interview, and research about this job, I realized that I would rather go into another field where I get to work more directly with people, expressing thoughts and ideas, and the potential for a type of artistic expression.  Although this would be very interesting work, I am looking to pursue a career that is simply more personal.

Works Consulted

“Computer Engineer Sample Career Path.”  Accessed 27 October 2010. <>.

“Computer Engineer At a Glance.”  Accessed 27 October 2010. <>.

“Computer Software Engineers and Computer Programmers.”  17 December, 2009.  Accessed 27 October 2010.  <>.

Leiphart, Steven.  Personal interview.  7 October, 2010.