Drupal Developer
Job description
Job Title: Drupal Developer
Location: Ottawa, ON (Remote)
Key Responsibilities and Experience Requirements:
- Experience in building web applications using the Drupal 7 CMS.
- Solid understanding of key server-side web development concepts, including:
- Interpreting graphic, visual, or interaction designs into HTML, CSS, and JavaScript.
- Creating visually appealing web pages and interfaces.
- Creating, editing, or modifying templates for a CMS or web development framework.
- Programming interactive features using JavaScript and/or libraries such as jQuery, YUI, or Prototype.
- Testing for cross-browser, cross-platform, and cross-device compatibility to identify and resolve inconsistencies.
- Ensuring compliance with specified standards, including accessibility standards (e.g., WCAG 2.0), relevant to the client’s region or domain.
- Conducting observational user testing or evaluating designs against usability heuristics.
Domain-Specific Knowledge and Skills:
- Proficiency in web development languages, including HTML, CSS, and JavaScript/jQuery.
HTML:
- Familiarity with HTML syntax across multiple specifications, including HTML5.
- Understanding the semantic meaning of all HTML elements.
- Knowledge of semantic markup for displaying lists, tabular data, forms, articles, and more.
- Familiarity with layout markup, such as dividers.
- Ability to hand-code HTML, including integrating media and images.
PHP:
- Familiarity with modifying Drupal theme hooks to display data.
- Proficiency in using PHP to filter, process, and output HTML, JSON, and XML.
CSS:
- Expertise in specifying CSS for various media, devices, and displays.
- Best practices in CSS file organization and structure.
- Proficiency in including CSS inline, internally, and externally via linked stylesheets.
- Strong understanding of defining, combining, and grouping CSS selectors for elements, IDs, classes, pseudo-classes, and child/sibling relationships.
- In-depth knowledge of CSS syntax, declarations, properties, and attributes.
- Mastery of the CSS box model and positioning methods (absolute and relative).
- Familiarity with CSS properties and attributes to control display.
- Understanding of the differences between CSS2 and CSS3.
- Proficiency in using a CSS preprocessor such as Sass or LESS.
Best Practices:
- Adherence to Drupal standards and modules.
- Ensuring browser and device compatibility.
- Implementing graceful degradation for older browsers and displays.
- Maintaining accessibility compliance.
- Utilizing file compression techniques to improve performance.
JavaScript:
- Knowledge of operators, variables, data types, objects, properties, and methods.
- Familiarity with control structures, including objects, functions, conditional statements, arrays, loops, and expressions.
- Expertise in forms, regular expression validation, and data submission.
- Proficiency in applying logical operators and conditional statements.
- Understanding of DOM HTML objects and their properties.
- Experience with event handling, creating windows and dialogs, and debugging.
- Familiarity with development and debugging tools for resolving cross-browser issues.
jQuery:
- Expertise in using the jQuery library for visual effects, event handling, and document manipulation.