Professional Software Engineer

(Redirected from software programming worker)
Jump to: navigation, search

A Professional Software Engineer is a software practitioner who is a knowledge worker and can perform software engineering tasks (performing a software programming job).





    • QUOTE: ... Learning to build code, whether through self-study or a computer science degree, is not the same as learning to build software, especially in a changing company setting.

      Your studies may have taught you what code needs to be written to build a better piece software, but they probably didn’t teach you how a team of engineers should think about writing that code. How does the work get divided up? What does a development cycle look like? How does quality control work? Over the last 60 years, many methodologies have tried to define exactly how teams can optimize their software development, but the one that reigns supreme—at least over the last 20 years — is the agile methodology. ...


    • QUOTE: Computer Scientists are first and foremost scientists. They possess a deep knowledge of the theoretical foundations in mathematics and information science and can develop complex algorithms and advance scientific research. They operate in a world of rigorous analyses, clearly defined concepts and proven facts.

      The digital skills in demand as described by employers, labor market studies and politicians are of a different kind. They involve the ability to interact with human beings and to create easy to use software solutions for real world problems with limited resources in a highly unreliable and dynamically changing environment.




  • (Mims, 2014) ==> Christopher Mims. (2014). “Computer Programming Is a Trade; Let's Act Like It.” In: The Wall Street Journal (08/03/14)
    • One million programming jobs in the United States could go unfilled by 2020 due to the enormous mismatch between the supply and demand for computer programmers, according to the U.S. Bureau of Labor Statistics. Fortunately, a computer science degree is not necessary to get a job in programming. University courses in computer science favor theory rather than making websites, services, and apps that companies care about, writes Christopher Mims. Code-school founders say committed programming students are finding jobs whether or not they have a college degree. Computer programming is now a trade that someone can develop a basic proficiency in within weeks or months, secure a first job, and get onto the same path to upward mobility offered to in-demand, highly-paid peers, Mims says. He contends we have entered an age in which demanding that every programmer has a degree is like asking every bricklayer to have a background in architectural engineering.


  15-1132 	Software Developers, Applications 	detail 	222,110 	1.9% 	13.12% 	$43.00 	$45.25 	$94,120 	0.7% 
  15-1121 	Computer Systems Analysts 	detail 	152,340 	2.4% 	9.00% 	$40.43 	$43.28 	$90,010 	1.0% 
  15-1133 	Software Developers, Systems Software 	detail 	126,920 	3.0% 	7.50% 	$48.54 	$50.71 	$105,480 	1.0% 
  15-1131 	Computer Programmers 	detail 	126,630 	 
  15-1151 	Computer User Support Specialists 	detail 	111,250 	2.2% 	6.57% 	$22.55 	$24.88 	$51,750 	0.8% 
  15-1142 	Network and Computer Systems Administrators 	detail 	61,090 	2.7% 	3.61% 	$37.09 	$39.39 	$81,940 	0.9% 11-3021 	Computer and Information Systems Managers 	detail 	65,310 	2.0% 	3.86% 	$63.19 	$67.32 	$140,020 	0.9% 
  13-0000 	Business and Financial Operations Occupations 	major 	152,400 	1.9% 	9.00% 	$35.47 	$38.78 	$80,670 	0.7% 
  43-0000 	Office and Administrative Support Occupations 	major 	174,230 	1.9% 	10.29% 	$17.67 	$19.34 	$40,230 	0.6% 
  41-0000 	Sales and Related Occupations 	major 	103,400 	2.0% 	6.11% 	$36.43 	$41.43 	$86,170 	1.1% 


  • (Shaw, 1990) ⇒ Mary Shaw. (1990). “Prospects for an Engineering Discipline of Software.” IEEE Software, 7(6).
    • ABSTRACT: Although software engineering is not yet a true engineering discipline, it has the potential to become one. Older engineering fields are examined to ascertain the character that software engineering might have. The current state of software technology is discussed, covering information processing as an economic force, the growing role of software in critical applications, the maturity of development techniques, and the scientific basis for software engineering practice. Five basic steps that the software engineering profession must take to become a true engineering discipline are described. They are: understanding the nature of expertise, recognizing different ways to get information, encouraging routine practice, expecting professional specializations, and improving the coupling between science and commercial practice.

      The term software engineering was coined in 1968 as a statement of aspiration -- a sort of rallying cry. That year NATO convened a workshop by that name to assess the state and prospects of software production [NATO 69].Capturing the imagination of software developers, the phrase achieved popularity during the 1970s. It now refers to a collection of management processes, software tooling, and design activities for software development. The resulting practice, however, differs significantly from the practice of older forms of engineering.

      The paper begins by examining the usual practice of engineering and the way it has evolved in older disciplines. This discussion provides a historical context for assessing the current practice of software production and setting out an agenda for attaining an engineering practice. ...

    • QUOTE: Software engineering is a label applied to a set of current practices for software development. Using the word engineering to describe this activity takes considerable liberty with the common use of that term. In contrast, the more customary usage refers to the disciplined application of scientific knowledge to resolve conflicting constraints and requirements for problems of immediate, practical significance.

      Definitions of engineering have been written for well over a hundred years. Here is a sampling of typical definitions: ...