Software Development Professional: Difference between revisions

From GM-RKB
Jump to navigation Jump to search
m (Text replacement - "<B>Examples:</B>" to "<B>Example(s):</B>")
No edit summary
 
Line 22: Line 22:
** They can be evaluated by a [[Software Developer Performance Assessment]] that may utilize [[Software Developer Performance Measure]]s.
** They can be evaluated by a [[Software Developer Performance Assessment]] that may utilize [[Software Developer Performance Measure]]s.
** …
** …
* <B>Example(s):</B>
* <B>Examples:</B>
** [[Pioneer Software Developer]]s, such as:
** [[Pioneer Software Developer]]s, such as:
*** [[Grace Hopper]] for [[compiler development]].
*** [[Grace Hopper]] for [[compiler development]].
*** [[Dennis Ritchie]] for [[systems programming]].
*** [[Dennis Ritchie]] for [[systems programming]].
*** [[Donald Knuth]] for [[algorithmic development]].
*** [[Donald Knuth]] for [[algorithmic development]].
*** [[Alan Kay]] for [[object-oriented programming]].
*** [[Linus Torvalds]] for [[open source development]].
** [[Modern Software Specialist]]s, such as:
** [[Modern Software Specialist]]s, such as:
*** [[AI Engineer]]s for [[machine learning system]]s.
*** [[AI Engineer]]s for [[machine learning system]]s.
*** [[Full-Stack Developer]]s for [[web application]]s.
*** [[Full-Stack Developer]]s for [[web application]]s.
*** [[Systems Software Engineer]]s for [[operating system]]s.
*** [[Systems Software Engineer]]s for [[operating system]]s.
** [[Industry Professional]]s (2023), such as:
*** [[Cloud Native Developer]]s for [[distributed system]]s.
*** [[Data Platform Engineer]]s for [[big data system]]s.
** [[Organization-Specific Software Professional]]s, such as:
*** [[Google Software Engineer]] for [[search system]]s.
*** [[Google Software Engineer]] for [[search system]]s.
*** [[Microsoft Developer]] for [[cloud platform]]s.
*** [[Microsoft Developer]] for [[cloud platform]]s.
*** [[Meta Engineer]] for [[social network]]s.
*** [[Meta Engineer]] for [[social network]]s.
** ....
*** [[Amazon Developer]] for [[e-commerce system]]s.
** a [[Software Engineer]].
*** [[Apple Engineer]] for [[mobile system]]s.
** a [[Software Programming Professional]].
** [[Domain-Specific Software Professional]]s, such as:
** a [[Software Architect]].
*** [[FinTech Developer]]s for [[financial system]]s, such as:
** one of the 10+M in this report: <code>https://linkedin.com/search/results/people/?keywords=software%20developer</code>
**** [[Trading System Engineer]]s for [[market trading platform]]s.
**** [[Payment Platform Developer]]s for [[transaction processing system]]s.
*** [[Healthcare Software Engineer]]s for [[medical system]]s, such as:
**** [[Clinical Software Developer]]s for [[patient management system]]s.
**** [[Medical Device Programmer]]s for [[healthcare equipment]].
*** [[Game Developer]]s for [[interactive entertainment system]]s, such as:
**** [[Game Engine Programmer]]s for [[rendering system]]s.
**** [[Game Physics Developer]]s for [[simulation system]]s.
** [[Emerging Technology Specialist]]s, such as:
*** [[AI/ML Engineer]]s, such as:
**** [[Deep Learning Engineer]]s for [[neural network]]s.
**** [[NLP Engineer]]s for [[language processing system]]s.
**** [[Computer Vision Engineer]]s for [[image processing system]]s.
*** [[Blockchain Developer]]s for [[distributed ledger system]]s, such as:
**** [[Smart Contract Developer]]s for [[decentralized application]]s.
**** [[Cryptocurrency Engineer]]s for [[digital currency system]]s.
*** [[Extended Reality (XR) Engineer]]s for [[immersive system]]s, such as:
**** [[AR Developer]]s for [[augmented reality application]]s.
**** [[VR Developer]]s for [[virtual reality environment]]s.
** [[Platform-Specific Developer]]s, such as:
*** [[Cloud Platform Engineer]]s, such as:
**** [[AWS Developer]] for [[Amazon Web Services]].
**** [[Azure Engineer]] for [[Microsoft Cloud]].
**** [[GCP Developer]] for [[Google Cloud Platform]].
*** [[Mobile Developer]]s, such as:
**** [[iOS Engineer]] for [[Apple mobile system]]s.
**** [[Android Developer]] for [[Google mobile system]]s.
*** [[Web Framework Specialist]]s, such as:
**** [[React Developer]] for [[frontend application]]s.
**** [[Node.js Engineer]] for [[backend service]]s.
** [[Industry-Focused Developer]]s, such as:
*** [[E-commerce Developer]]s for [[online retail system]]s.
*** [[Industrial Software Engineer]]s for [[manufacturing system]]s.
*** [[Transportation Software Engineer]]s for [[logistics system]]s.
*** [[Energy Sector Developer]]s for [[smart grid system]]s.
*** [[AgTech Developer]]s for [[agricultural system]]s.
** [[Infrastructure Specialist]]s, such as:
*** [[DevOps Engineer]]s for [[deployment pipeline]]s.
*** [[Site Reliability Engineer]]s for [[system reliability]].
*** [[Security Engineer]]s for [[cybersecurity system]]s.
*** [[Database Engineer]]s for [[data storage system]]s.
*** [[Network Engineer]]s for [[communication system]]s.
** [[Software Architecture Professional]]s, such as:
*** [[Enterprise Architect]]s for [[system integration]].
*** [[Solutions Architect]]s for [[technical design]].
*** [[Cloud Architect]]s for [[distributed architecture]].
*** [[Security Architect]]s for [[security framework]]s.
** One of the 10+M in this report: <code>https://linkedin.com/search/results/people/?keywords=software%20developer</code>
** …
** …
* <B>Counter-Example(s):</B>
* <B>Counter-Example(s):</B>

Latest revision as of 08:39, 22 January 2025

A Software Development Professional is a software practitioner who is an engineer and can perform software development tasks (performing a software programming job).



References

2021

2019a

2019b

  • https://angel.co/newsletters/what-is-agile-methodology-a-primer-on-moving-fast-176
    • 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. ...

2017

  • https://code.berlin/en/blog/computer-science-software-engineering/
    • 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.

2015

2014a

2014b

  • (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.

2013

  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% 

1990

  • (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: ...