I would say a hacker, because "most" of the times hackers are self taught.As opposed to engineers who are from formal education.
An engineer most of the time is being guided by a predefined syllabus while he is learning.
Learning things without others help itself is a great thing (IMO).I don't want to start any war about this.This is my opinion.I know there are many engineering students here.
While comparing hackers with engineers I assume it is based on thier computer skills.A hacker is really profficient on the everything of a computer than an Engineer, only then he can "hack||crack"