Hey there,
Are you currently trying to perfect that piece of code? If so, please give yourself a couple of minutes and read on before doing anything else.
First off, it’s really hard to perfect anything at all. You working for a company definitely involves talking with everybody that you will be working directly with. This means especially it’s not just yourself, but also your designers or the head of the company can request to make changes. Now guess what, you will have to redo that work which was beautiful, but now it’s worth nothing!
Now again, the first and foremost solution will be to always communicate with whoever makes the decisions in the UI/UX part. Then when an agreement has been reached, that’s the time to code it up. Also, please do it the easy way and don’t kill yourself with all the extra stuff you planned to do. I have done that, and I regret it. It’s already a lot of work to analyze what you’ve done a couple months before since you’re doing feature/bug after feature/bug.
Also, if something is not working out because the operating system’s UI components you’re working with are not designed with what your designer gave you, communicate that right away and do it “the right way” as it should be designed.
Also, if you think something seems wrong, double check with another person to see if there’s a counter-judgement. This might even save you more time, or although you’ll need to use time to get it done, you will not have to touch it for quite a while.
Think of it this way as well. When Steve Jobs was around, he made sure that the Apple products were ahead of everybody else, and he saw a great future. Every other manufacturer eventually followed along as well. This is the sign of quality and the leading type that carries along eventually. Also, all of Apple’s operating systems back then had what type of quality? Usability and simplicity. It took time to make one OS perfect, and then the next one perfect, and so forth…. It takes a lot of time to engineer along as a matter of fact! It’s even worse since there are hardware designers involved. As software developers, that is the type of quality that must be expected. That’s what you are paid to do!
So, perfectionism? Forget about it, especially when you’re in a team. Simplicity is the key to helping yourself and others with better code to understand.
Please let me know of thoughts, and until next time!
Brian.