In my recent blog posting "The Secrets to Becoming a Great Programmer" I discuss a couple of characteristics of great programmers. You can read about those characteristics at
The Secrets to Becoming a Great Programmer
What other characteristics make a programmer great? Do you agree with my assessment?
There may be places in the world where someone could be a de facto engineer. Attainment of the title or status could be based primarily on one's skill in "building or designing something." How technically meritorious "something" needs to be depends on the norms of that particular society.
In some parts of the world there are legal definitions of being an engineer. It will require a college diploma and depending on the jurisdiction, a licensure exam. In some cases the competence to build or design "anything" does not matter.