About two years ago I decided to change my job title to Software Engineer. I did this because I think that what is missing in the Software Development field is the application of Engineering practices.
Now I found out this paper about Software Engineering Myths. The author certainly has a point and I am indeed one person that according to him is abusing of the Software Engineer title. But, you can only say this if you agree with his central point that you only are doing Software Engineering if your work is derived from some formal basis. This is a rather biased view! What I've seen in other Engineering fields is that what more establishes their common ground is the set of practices they follow. I would even say that they aren't close to science, but they use recipes derived from this formal basis. Them they mix and match according to experience to do their work.
What are the practices that we are using today that would conceed a person the Software Engineering title? I think these are things like
- requirements management
- testing simulations
- use of a software development process
Some of these have indeed a formal and theoretical basis. Some don't. But, they are accepted practices by the whole field. They categorize the Software Engineer.
So, although I agree with some of the observations of Sahil Thaker, I will continue to use this title, since I belive what I do is Engineering and not plain development.