Code Responsibly logo wannabe.

Code Responsibly

Day after day, innocent man and woman hours are wasted through reckless code. It doesn’t have to be like this!

Code Responsibly offers ten (10) eternal, industry-proven tips to write code that makes you and your peers rejoice. Ten short paragraphs that form one long page for one bright future.

Focus on Learning

Jens Grochtdreis.

Why? Jens Grochtdreis (Webkrauts) explains:

Technical progress doesn’t stand still. New requirements create technical innovation—sometimes vice versa. Web development is not a profession that you’ve learned and mastered forever. Therefore, it is important to be curious, to never stop learning. The great thing in web development is that many colleagues share their knowledge with the public. Blogs and online magazines give important knowledge for free. Community events like Barcamps and user-groups contribute to the increasing knowledge. Many people of other professions envy this openness.

Focus on Accessibility

Loretta Guarino Reid.

Why? Loretta Guarino Reid (Google, W3C) explains:

Accessibility is important to reach all your users, whatever their abilities, age, economic situation, geographic location, or language. Understanding how people with disabilities use the web will lead to a design that separates functionality from user interface and makes it easier to adapt your site for a variety of devices. And it is always easier and cheaper to design for accessibility from the outset.

Focus on Performance

Steve Souders.

Why? Steve Souders (Fastly, Google, Yahoo) explains:

Studies from Google, Bing, eBay, Etsy, Amazon, Netflix, and others show that making websites faster improves the user experience, increases revenue, drives more traffic, and reduces operating costs. While backend performance is important for scalability, when it comes to speed it’s important to know that 80–90% of the time is spent in the client and network. If you want to make your website faster you have to focus on these parts. Luckily, proven best practices for making websites faster exist for today’s web developers. All that’s needed is the motivation and diligence to apply them.

Focus on Semantics

Jeremy Keith.

Why? Jeremy Keith (Clearleft) explains:

Using the right elements when you’re marking up your content is like using the right punctuation when you’re writing down your thoughts. Technically, you could just make a web site using nothing but divs and spans, just as you could write words in txtspk. But a well-written message will be more widely and easily understood.

Focus on Validation

Yves Lafon.

Why? Yves Lafon (W3C) explains:

Validation is a tool used to plan for the future, as using standards is a guarantee for stability and against code rot. Validation is a tool to avoid coding around bugs or unstable proprietary features, thus lowering maintenance costs. Validation is a tool for debugging your code. Validation is not a goal, as valid code does not imply good code.

Focus on Maintainability

Jens Oliver Meiert.

Why? Jens Oliver Meiert (Google, W3C, O’Reilly) explains:

Maintainability is important for efficiency reasons. Web projects that have been started without maintainability in mind are more difficult to work on as a team and always mean more work than the ones that have been. Keeping it simple, separating concerns, not repeating ourselves, and of course documenting our work are all things that help us build awesome things that we still like to work on tomorrow. Someone always has to.

Focus on Collaboration

Jeremy Weinstein.

Why? Jeremy Weinstein (Grow, Google) explains:

The web is now more social than ever, and so has become the process in which web projects are created and developed. As web projects become deeper, more complex, more interactive—chances are you’ll need to team up and work with others to deliver your project successfully. Collaboration enables you to produce things that you’d otherwise be unable to do by yourself, and it allows you to grow your experience and your network. You never know when you might need a designer, developer, writer, tester, researcher, etc. to help you out—or to help raise awareness of one of your existing projects.

Focus on Documentation

Kerstin Probiesch.

Why? Kerstin Probiesch (W3C, Webkrauts) explains:

Good documentation not only helps other developers, it is also helpful for oneself. Especially for long-running projects, it is difficult to remember all the details. If you are faced after one or two years with your own code, a good documentation might help as well as with handing over to another developer.

Focus on Quality

Tony Ruscoe.

Why? Tony Ruscoe (Google) explains:

Compromising on quality can result in a poor experience for fellow developers and end users. Where code quality is concerned, writing valid code should be a baseline requirement. We should aim to write consistently-styled, efficient, reusable, and appropriately-commented code to reduce development and maintenance costs. Of course, even the highest quality code won’t necessarily result in a good user experience, so it’s important for quality assurance to include functional and usability testing. We should also have an eye on the quality of the user experience, paying particular attention to the content (including any images and videos), interactions and performance. Low quality of any kind is quite simply irresponsible and unacceptable.

Focus on Teaching

Christian Heilmann.

Why? Christian Heilmann (Mozilla, Yahoo) explains:

“If you try to teach you end up learning” is the simple truth why this matters. Only by teaching other people what I do I got real insight into what I did for years beforehand. There’s two reasons for that: First, I had to force myself to look into the subject in depth; I moved from using to understanding. Secondly, my students came up with the hard questions I never wanted to have to answer or considered not necessary. It’s a great next level challenge for anyone who codes.