How to get the best of a web programmer

Programmers are not soulless robots impossible to comprehend.

Patricio Pitaluga
Aerolab Stories

--

As I have said in my last article, the relationship between programmers and other people involved in the web development, can be kind of difficult sometimes. But when the communication problems are solved and the process is fluent, the quality of the results improves considerably.

Despite what the popular myth says, we programmers, are not soulless robots impossible to comprehend. We are, actually, people with a lot of common sense and good willingness.

With almost ten years in the web design business, I have been dealing with a lot of different people and methodologies. Most of them excellent, and some… not so great. Here I left some suggestions for anyone who wants to bridge the gaps with programmers and bring out the best in us.

Make the developer part of the full process.

You are paying a technician to give you his full expertise, so take advantage of it. If the developer will have the full responsibility over the technical result of the project, then give him all the information and the highest possible intervention. No, a brief and a .psd file are not enough.

Programming shouldn’t be the last part of the workflow but a comprehensive influence throughout the whole project. Let him contribute with ideas, comment the design drafts and the estimated time before delivering it to the client.

The programmer “can” do whatever you ask him.

The word “can” means three different things at the same time: 1) are there any technical difficulties stopping you from doing this? 2) do you have the knowledge to do this? 3) Do you have the time and will to do this? Most of the time you are not really minding any of the three when you ask a programmer “Can you do this?”.

Developers are capable of doing even the most idiotic and counter-intuitive things if you challenge us to do it. What you should always ask first is “do you think this is a good idea?”. This way you will save a lot of time, headaches and misunderstandings.

Parade your developer.

The last thing you want your client to think is that you “chose how the page would look like and then, magically, a kid with good programming skills turned that into a website”.

If you have a solid professional (or, better yet, a group of good professionals) working in your team, then make it your banner for battle.

Introduce the programmer to the client in the first meeting and let the communication flow. This will not make your company look weaker. On the contrary, it will bring out your technical capabilities, your attention to detail and the firm direction that the whole project will have.

Javascript is not the new Flash.

Yes, Javascript can make your website come to life with extraordinary animations and interactivity. No, you don’t want that. Nobody wants that.

Remember that hateful Flash intros back in the 2000's? You don’t want to go back there, do you?

Of course, we all enjoy a website that does something clever. But mind first: communication. What will that interactivity inform the user? If you want the best of programming, use it as you would do surgery: only when it’s necessary to obtain the best possible result.

Value the browser’s natural behavior.

Modern browsers are very complex tools. They have been developed and tested for years by major companies and organizations. Text zoom, bookmark managing, syndication, scrollbars, file downloading, and other characteristics, are fully resolved by the default browser features.

Even if the users prefer it other ways, there are thousands of extensions, plugins and tweaks they can do. Don’t waste your energy doing something that will be difficult, fruitless and, most importantly: annoying for the user.

In this image: a programmer hidden under the carpet by a design studio.

Gotta love the pixel.

A pixel is a lot! Counting just one pixel less in column design could make a mess of the layout. Make sure that the programmer can measure every distance of the design with a pixel perfect precision.

Aliasing is the enemy of the developer. The elements of the design should be positioned on precise locations with integer numbers on the x and y axis. There’s no half pixel.

And… if you are using a grid, make sure that the objects are actually touching the guides and not just close.

Test your design with different contents.

If you are working on web design, you should always consider that the content of the page will change. Try a title with thirty words and then try it with a single word. Tell the programmer how you think the design should behave in every case.

What if the user decides to illustrate the post with a small image? What if there’s no image at all? Think about all the possibilities. The programmer will have to face these problems and you want to make sure that whatever solution he finds, it will go in line with your intentions.

Design for the full window.

Nowadays, the trend in web design is to use hybrid layouts that take advantage of centered content and full width background images. Don’t start your project limiting the size of the document to the minimal width of the centered content. Show the full browser. This way you will know what decisions you should take to determine how the site will behave, and the developer will know, with a single look, how he will structure the content.

Test your draft with scrolls, without scrolls, with narrow windows, with wider windows and simulating different devices. There’s no web without the browser. You are designing an experience and that experience always includes the browser.

Expect feedback. Like… a lot of feedback.

The moment that you give the programmer the files, you have done, luckily, half of your work. Even if you considered to have ready all the pages, assets, images, buttons in every state, examples, links, fonts, icons and texts, the development process will bring out new needs and decisions to make.

Do you have a login page? What will happen if the user forget his password? It will need a different page where the user can ask for an email to reset the password. What will that email say? What if he was mistaken and he wasn’t even registered?. Expect these and a dozen other what if’s from the programmer.

Here: a programmer deciding if a button is slightly different or if it was measured lazily.

Technology shouldn’t be the issue.

Every platform has it’s own pros and cons. Modern frameworks and CMS are capable enough of solving most requirements for any website. If your project requires one in particular and you have valid reasons for that, then let the programmer know.

If your project is open to any programming methodology then let the developer judge which one is the best according to his experience.

You will have ninety nine problems, but the framework should not be one of them. Use the programmer’s time to solve design issues, to solve usability issues, compatibility issues, communication issues, marketing issues and even common sense issues. Technology just doesn’t have to be an obstacle.

Be clear about the scope.

What do you expect from the development process? When is the delivery date? When will the work be complete? These things should be clear before starting. If the scope is not clear, the programmer will be more concerned about it than about the quality of his work.

Replacing the programmer is not a solution, but a symptom.

If your project has been abandoned by a couple of programmers, then hiring another one will not solve the problem. Is the objective of the project right? Is the rest of the team professional? Is the payment fair? Of course, it can be the case of an unreliable programmer that capriciously decides to abandon the project but, if it happens more than once, maybe the problem is not the developer.

Make your working environment a place of joy and enthusiasm and let programmers be a part of it. Methodologies can be improved; people are always the most important. Be sure to listen to the people involved in your work.

Treat your developers with respect, get to know them and appreciate them. They will be your biggest assets, excellent co-workers and good people to be around, and the quality of your work will positively improve.

The background that illustrates this article uses an image of the short Kung Fury, by Lasers Unicorns. Of course all the copyrights belong to them; I used the image for comedy purposes. If you haven’t seen Kung Fury yet: do it, is awesome.

--

--