Scientist or Artist

Which type of developer are you?
Developer as scientist:
- Master at finding problems. The scientist is an expert debugger. I have learned a great deal from developers I have worked with concerning how they tracked down a defect. This practice is not yet about developing a solution but is entirely devoted to defining the problem with any and every tool at your disposal. Seeing every angle of the problem leads to a more complete solution.
- Great at executing designed solutions. When business and artistic choices are deferred to their respective decision making entities and the scientist is left to execute the vision, he excels. When an app’s architectural pattern is previously agreed upon that also leads to even more impressive development cycle for the left brain code slinger.
- Technically clean. Line for line, the computer scientist can break down the proper memory management, inheritance, encapsulation and any other textbook concept with ease. When you want a thorough code review, invite your scientist programmer friend.
Developer as artist:
- Great at finding solutions. Artists use a large palette when diving into a solution. They can draw up ten answers and throw away nine. The solutions may not be fully worked out but the big picture has clear edges that can help to define implementation.
- Attention to the why. There is art in designing code with priorities in mind. Users needs and wants rank at the top of the list and how an app is built flows from this frame of mind. The specific project may determine what is important to the user, the art comes in implementing those goals.
- Dresses to impress. When an artist paints a piece of code she is looking for wows. Taking a bit more time to add some animation to a flat transition is always worth it. Creating metaphors by simulating resistance, gravity or other forces make the app more interesting and familiar.
Most developers are a combination of both art and science. Look to both your left and right brain for inspiration and encouragement.
Show instead of tell
A picture is still worth 1000 words.

Is better than a paragraph of text saying that you need to add two people and and a dog to the app. Context can offer so much more and will allow for less explanation. If we already know this is a app for a dog and his owners, then we know even more with less written detail. I also do not need to explain the limitations if they are clearly spelled out – only two people and one dog.
Don’t say valid is invalid
Usually you want to provide some level of form validation for the user. The goal would be to inform them on the client before a server trip is made, resulting in time saved for the user. So the starting point, and ultimate end point, is user convenience. If you are using form validation to make you life easier from a backend perspective then your missing the point. We are attempting to save the user time and work. That said, don’t confuse a user and make more work for them by telling them that what they input is invalid when they have input a perfectly acceptable and predictable answer. Allow users to enter zip code + 4 (60612-0344) and trim off the extra if it is too precise. Allow users to enter Canadian postal code A1A and add on 1A1 if it is not precise enough. Allow users to enter phone numbers with or without country code. Help the user out as much as you can, ask them to help you when you absolutely have to.