What are things I have to do to become a perfect Engineer?
Not sure if you can achieve perfect, but to be an excellent engineer is possible. In school, learn the fundamentals, take the courses that make you have projects that allows you to apply what you have learned, and apply for coop or internships. After you are working, continue to learn and do research, use the senior engineers as mentors, challenge them and have them challenge you. Always pay attention as to what others say, even if they don't have an engineering background they may still provide great solutions.
As mentions by the other feedback, it is not only important that you know what the best engineering solution is, you need to convince others. Communication skill and understanding the corporate culture is also critical to your success.