Skills of a successful (back-end) web developer

Skills of a successful back-end web developer

By Turki Aljrees at 31/03/2014
 
 
This developer is focused on managing the interchange of data between the application and the browser. This developer focuses on the server-side of programming for the web, yet also understands the programming languages which control the display of content in the browser:
 

Back end developer

  • Developed with at least one CMS framework or web application framework.
  • Employed a framework or extended an existing CMS with custom coding.
  • Knowledgeable about accessibility or security compliance relevant in client’s sector and geographic location.
  • Understands the underlying systems on which web applications are developed.
  • Understands the technologies and languages which power the web such as HTML, CSS and JavaScript.
  • Understands key server-side web development concepts such as:
    • Integrating data or user accounts between multiple systems for a client.
    • Integrating multiple databases and/or database types into one system.
    • Managing a hosting environment, and has administered databases.
    • Implementing or working with content approval and staging workflows.
    • Migrating data, scripting migration of data.
    • Implementing, managing or using a backup system and disaster recovery.
    • Securing data or access to applications with multiple user levels, or has the ability to customize based on user levels.
    • Outputting data in multiple document formats.
    • Creating multilingual websites or applications.
    • Creating and implementing database schemas that represent and support business processes.
    • Ensuring the quality of applications through unit testing.
 

Domain specific knowledge or transferable skills

Knowledge of a programming language for a framework such as PHP, Python, Perl, .NET, Ruby, Java, or other language.
  • Application and scripting development best practices, architecture, scalability, etc.
  • Can execute tasks with both procedural and OOP development techniques.
  • Familiarity with the syntax and control structures of the given language.
  • Best practices for efficient and easier to maintain code.
  • Best practices for securing web applications.
  • Inserting, querying and managing data stored in databases or files.
  • Knowledge of PHP and database programming including:
    • The features and syntax of PHP datatypes, variables, constants and operators.
    • Knowledge of syntax of and how to employ expressions and functions.
    • Knowledge of how to apply control structures of PHP such as expressions, loops, conditional statements, and switch statements.
    • Session handling, PHP Configuration.
  • Understands web development markup languages HTML/XML; stylesheet languages CSS/XSL and JavaScript. Additionally, knowledge of the DOM, its objects and their properties.
  • HTML
    • Familiarity of HTML syntax for multiple specifications, including HTML 5.
    • Knowledge of the semantic meaning of most HTML elements.
    • Familiarity with the semantic markup for display of lists, tabular data, forms, articles, etc.
    • Knowledge of markup used for layout such as dividers.
    • Knowledge at the level to be able to hand-code markup.
    • Including media and images.
  • XML
    • Knowledge of XML syntax for markup and content.
    • Knowledge of how to use XML for the interchange of data
  • CSS
    • Specifying different CSS for various media, devices and displays.
    • Methods for including CSS inline, internal and external via linked style sheets.
    • Syntax of CSS declarations, properties and attributes.
    • CSS box model and methods for CSS positioning, absolute and relative.
    • Knowledge of properties and attributes to control the display.
  • JavaScript
    • Knowledge of the operators, variables, datatypes, objects, properties and methods.
    • Familiarity with control structures such as objects, functions, conditional statements, arrays, loops and expressions.
    • Forms and regular expression validation and submitting data.
    • Knowledge of how to apply logical operators and conditional statements.
  • Event handling.
    • Creating and controlling windows and dialogs.
    • Processes for troubleshooting and debugging
    • Familiarity with development and debugging tools for cross-browser issues.
    Source : Drupal