A BS in engineering can also be done in less than 4 - if you prepare and work hard.
The community college in my County has a program with our High School where seniors in the HS can take classes at the college. When they graduate from HS, they will have 32 credits towards their Associates in engineering. They can then get their associates in one more year. They would then enter a 4 year school as what amounts to an incoming Junior. So there are ways to get one in less than 4 years, but it is difficult.
I did my undergraduate degree in 4 years. I had roommates that took 5. Classes are set up to do it in 4, but in my experience it was a heavier course load than other majors (3 to 4 credits more per semester)
A bachelors degree in engineering will typically take four years to earn, if you are diligent in taking your prerequisite classes in a timely manner and if you carry a solid load of classes each term (usually 4). Otherwise it is not uncommon for a degree to take five years. Just remember...with the high cost of college, an extra year will cost you perhaps tens of thousands of dollars. So it pays to be diligent!
Good luck, Pete Sturtevant, PR