According to Chris Aitchison, you're not a "software engineer" if you write code an develop applications - you're a "software gardener":
The engineering metaphor has had its time in the sun, and maybe it even used to be accurate, but now it really only serves to help non-technical people have unrealistic expectations about how software gets built.
The post describes software development as gardens instead of feats of engineering. It talks about the organic nature of development, how no matter the course that's plotted, there'll always be things that can't be anticipated ("weeds") that will need to be handled. It's not about the technology behind the product (anyone can build the same bridges) but more about how its nurtured by the developers. It's an interesting perspective and I'd recommend giving it a read as well as the large amount of comments that come with it.