Professionalism and Engineering Economics

Let’s take a look at this section of the CSDP. This section is more about the person as opposed to the practice of software engineering. How does a professional conduct oneself? Firstly, I would start with the Software Engineering Code of Ethics and Professional Practice.

With a code of ethics as a base, let’s look at some ideas of what is a professional.

From IEEE Software, May/June 2007,Robert C. Martin of Object Mentor, Professionalism and Test-Driven Development: “A professional software developer ships clean, flexible code that works-on time. Unfortunately, many software developers use high-stress heroics to ship late, buggy, messy, and bloated code. ”

There are many examples of unsuccessful projects with blame attributed on a number of different reasons for the failure. Popular press and industry pundits like to call it the software crisis. According to “Software Engineering Volume 1: The Development Process, 2nd Edition” from IEEE Computer Society Press, edited by R.H. Thayer and M. Dorfman, in Chapter 2, “the term software crisis originated with the military”. As non-military systems became equivalent in scope, this term was applied to all software systems that did not deliver the goods.

From 24th International Conference on Software Engineering (ICSE ’02) Software Engineering Economics: Background, Current Practices, and Future Directions: “The field of software economics seeks to develop technical theories, guidelines, and practices of software development based on sound, established, and emerging models of value and value-creation–adapted to the domain of software development as necessary. The premise of the field is that software development is an ongoing investment activity–in which developers and managers continually make investment decisions requiting the expenditure of valuable resources, such as time, talent, and money. The overriding aim of this activity is to maximize the value added subject to an equitable distribution among the participating stakeholders.”

Developers should have professional responsibility for their work, and an awareness of the importance of appropriate ethical behavior in the group. They must also have an awareness of the impact of information technology on society as a whole and on individuals, and be prepared to handle a variety of issues arising in the workplace.

So that is some introduction to this knowledge area, and I will expand on it in the future. I leave with one question in mind – How does an individual improve their standing as a professional?


Leave a Reply

You must be logged in to post a comment.