Professionalism
Think About What You Are Doing
To achieve a professional attitude, you need to constantly look at what you are doing from the outside and ask yourself if there is a better way of doing the current task. It is easy to fall into the mindset to use brute force for all programming tasks, as it does not require you to think, but just act. Everytime you feel awkward or reluctant to continue working on a difficult, boring or repetitive task, take some time to think through the problem and see if it can be solved in a different way.
Automate
The computer is your friend. Let the computer do as much work as possible through automation. This frees up time for you and let you think about requirements and abstractions instead of working with boring, error prone, repetitive tasks all the time.
Clear candidates for automation are tests, build procedures, nightly builds, source code versioning, detailed UML models, web publishing of project documentation, and so on. Be inventive and make sure you never do the same task more than once manually.
The Best Killing the Good
Drinking too much water will get you poisoned. Likewise, it is not good for you to keep on analyzing every problem to death looking for the best solution. Make sure you constantly prove your ideas with code, to avoid getting stuck in analysis paralysis. When you have found a good solution, stick with it.
Skill and Mindset
Professionalism is about a certain mindset, the strive to always improve. Occasionally, your skills may prevent you from finding a good solution to a problem, even if you have the right mindset. Make a mental note that your mindset detected a bad solution, but your skills prevented you from creating a better one, and go on with the work. Find comfort in that your future experiences and education will improve your skills to the point where you will find a good solution for the problem next time around.