The job I have chosen to explore is Software Engineering. The reason I have chosen this field is that I will be going into this field. Since I will be entering this field someday, I have some friends and acquaintances that already work as Software Engineers. Compared to other fields, Software Engineering is a relatively new occupation; as well as other computer science occupations.
The history of Software Engineering begins in the 1950’s when programming languages started to appear. Some of these languages are Fortran, COBOL, and ALGOL. The primary reason for these languages at the time of their development was to assist with scientific, algorithmic, and business problems. Some of these languages are still used today and in some cases are used extensively. For example, when you go to a store and purchase an item with a credit card, the underlining algorithm ultimately uses the COBOL language for the transaction; thus, millions of transactions are made daily using an old, low level, secure language such as COBOL.
Later, in the late 1970’s and early 1980’s object oriented programming languages started to emerge. Some of these languages were Objective-C, C++, and Smalltalk. In the early 1990’s open source software, a way for anyone to view the computer code to the program, was introduced into the computer science world. Open source software, in ways, is superior to closed source software, because more people can develop the program and a collective knowledge is available to develop better applications.
In 2004, according to U. S. Bureau of Labor Statistics, 760,840 individuals held a software engineering position in the United States. Many of the software engineers work as employees or contractors. The entities that software engineers work for can be businesses, government agencies, and non-profit organizations; however, some software engineers work as freelancers for themselves. Many large organizations employ specialists to carry out the software development process. These specialists are mainly analysts, developers, architects, testers, technical support, and managers. Small organizations require software engineers to take the role of all different specialists to complete the task of software development.
The dot com bubble burst of the 1990’s led to an impact of software engineering jobs leaving the country. Currently, statistics do not show a threat to software engineering positions; however, computer programming positions have seen a decline.
Having programmers and software engineers around the globe can be a great benefit to a company. When the programmers and engineers leave for home after work in the United States, the programmers and engineers in India arrive at work to continue the work. Then, when the individuals in India leave for home, employees in Europe arrive at work to continue where the Indian employees left off. In essence, the company can have employees work 24 hours per day and not have to payout any overtime.
While talking to a friend of mine that is a full-time civilian software engineer for the United States Air Force since 2004, he mentioned to me that they outsource many of their projects to contractors located inside the United States. They do not send their projects offshore, because when material leaves the bounds of the United States, the entities outside the United States do not fall under United States jurisdiction and can use that material elsewhere or send it to other unapproved entities.
He enjoys many aspects of a software engineering occupation. He is able to accomplish different tasks every day, which helps in making the days an adventure. The tasks stimulate him in a way that he can stay current with changing technologies. When he compiles programs, he can see instant results from his work, which makes his job that much more gratifying. He also considers this occupation as, what he called, “a family friendly career” and the money is good.
Some of the things that make the occupation difficult or disliked are the following: at times he experiences slow down periods, documentation needs for new or existing applications, at times end users can be difficult to work with, and sometimes the schedule can be fairly erratic but has regular hours. Overall, he enjoys the field.
I enjoyed reading your post, I especially liked reading about some of the benefits and drawbacks your friend sees as a Software Engineer, as that is the field I am preparing for. It is cool to note that COBOL is used in credit card transactions, I didn't know that until now.
ReplyDeleteI find it interesting that the Air Force uses software engineers in the United States for jurisdiction reasons, especially since, given what we've been reading, they could save a lot of money if they outsourced. Software engineering seems like a solid field to be in.
ReplyDelete