The traits of modern web developers

One of my favorite blogs on software development is Jeff Atwood’s Coding Horrors. Jeff is a programmer turned blogger that has a unique (and real) perspective on the psyche of developers. His blog posts are based on a topic that he’s researching for work or fun, which is something that I also do regularly.

In a recent search, I came across a blog posts from 2006 on “modern software development” (source) where Jeff he explains that development really hasn’t changed much in the past ten years. Based on my experience of working with developers both on client and agency side, I think that he’s spot on. Looking at his list, I came up with only a single addition (which appears in red/bold) for traits of modern developers:

  • Store code in a source control repository. The beauty of using source control solutions, such as SVN/subversion, Git, or Visual Source Safe (VSS), is that a team of developers can develop code without overwriting each the changes made by each other.
  • Deploy code using scripts. With a script, developers can automate the launch of a website, this ensuring that nothing is missed in the process.
  • Develop using TDD or Test-driven development. Instead of writing code first, developers focus on writing tests for their code. This provides a solution to limit the number of bugs as a unit test can also serve as a low-level regression test as new code is introduced.
  • Reuses code when possible. Modern developers know that they don’t need to re-invent the wheel. Instead of rewriting code, they tend to reuse code that’s already working. This translates to saving development time, plus it allows developers to focus their energy on learning something new.
  • Apply the Model–View–Controller (MVC) architectural pattern. Since code is logically separated into 3 tiers (data layer, presentation layer, and business layer which connects the other two), developers can more easily maintain their code.

The good news is that the barrier to become a modern developer is low. Old school developers only need to adopt the MVC pattern to be new again.

Stonehenge

NOTE: Stonehenge photo was provided by Danny Sullivan.

Join the Conversation

5 Comments

  1. Best practices in programming (whether it is for the web or desktop/machine) includes storing code in a source control system, testing code to ensure that it function properly and reusing code wherever possible. These traits are clearly the footings of development.

    With that in mind, I think that programming for social media is more complex. Unlike content that's purely informational and is only read, content for social media is interactive — users read it but also reply to it (eg: commenting on a blog post). While this adds value to the content as the content is now persuasive (and this makes marketers happy), programmers have to deal with the implications of keeping up with this additional content. This means that deveopers have to consider the scalability, flexibility and maintainability of their code or framework. The beauty of it is that modern developers regularly apply an MVC architecture to their social media site or application.

    By applying the MVC pattern, web developers are able to:

    Have more scalable code that can handle one even a million users. The recent news that Facebook received more traffic than Google, the #1 search engine in the US, demonstrates that scalability in social networking is critical.

    Maintain their code. When Twitter released the re-tweet feature, the platform kept chugging along. This is critical for a social media platform that has to support millions of users without interruption.

    Redeploy the information to multiple platforms. With the continued strength in smartphone sales (iPhone, Android, etc.), coders are now focusing on transforming their sites or applications for smaller, mobile screens. Instead of having to re-write the entire site/application, developers can create an alternate presentation layer because the other two architectural layers of their site or app (eg: business rules and data storage) do not need to change.

    So I think that these traits, including adopting the MVC pattern, are critical for all modern web developers.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.