Slashdot Mirror


Define -- "Software Engineering"

2nesser asks: "How do you define the term 'Software Engineering'? Some see it as the implementation of the theoretical world of Computer Science, but isn't there more to it than that? Social responsibility, documentation, a program that works under precise, known conditions? Can you compare Software Engineering to other disciplines? What sets a 'Software Engineer' apart from the rest of the crowd?"

1 of 118 comments (clear)

  1. With All Due Respect.... by Dr.+Bent · · Score: 5, Informative

    Maybe the reason that you don't seem to think that software development can be stripped down to "first principles" is because you don't have the educational background to know what those principles are. The basic principles taught to Computer Science students around the country are as mathmatically verifiable and repeatable as any other scienctific system (including physics).

    Thinks like "Big O" algorithm analysis, data storage techniques, and compiler theory form the basis of Computer Science and provide the structural underpinnings for most of the software engineering methodologies out there today.

    I consider myself a software engineer. I certianly do not re-invent the wheel for every project because I have been using the same methodolgy ever since I started programming professionally (OOP). While I am constantly learning new tricks, techniques and technologies, the "first principles" that I learned in school have not changed over the last 50 years of computing history, and they will never change, because they have a firm foundation in mathematics.