Although INsReady is often best known for its public workshops, its development and guidance of some of Drupal's top sites, its popular Drupal community organization, and its presentations at DrupalCons, the company has also been teaching private on-site training for companies, universities, and organizations for over 4 years. Our team of experienced Drupal teachers are the best in the business and we've taught Drupal to many aspiring Drupal site builders and developers.
Drupal related skill sets:
|Basic drupal.org skills
|Having a user account, being able to search issue queues and reporting bugs in a proper way, etc. Two important skills are knowing what to ask and how to ask it.
|Includes taking part in discussions, attending in Drupal meetups, etc.
|Active community contribution
|Doing things like organizing Drupal meetups, coordinating or actively contributing to community projects, maintaining drupal.org (code) projects, etc.
|Content creation and management
|Also includes managing comments, and scheduling publishing (where applicable), and so on.
|Simple site configuration
|Includes managing menus, users, blocks, front page settings, etc. Changing existing settings, but not creating new site functionality.
|Advanced content construction
|This includes managing content and presentation settings on the site, for example by configuring Panels, Skinnr, Context, Simple Views and more.
|Basic site building
|Includes installing Drupal, configuring fields, creating simple views, installing and setting up fairly simple modules (such as References, Scheduler and Automatic Nodetitles). It also includes being able to evaluate contrib modules.
|Advanced site building
|Includes complex Views configuration, and complex modules such as Page manager, Rules, Organic Groups and access control modules. And Commerce.
|This includes managing multiple Drupal sites that in one way or another share content – such as sharing some data tables on a multi-site installation, using Domain Access or doing advanced site building with Organic Groups.
|Setting up multilingual sites, knowing the relevant modules, and adapting configuration of other modules accordingly.
|Taking Drupal configuration and turning it into exportable, importable and version-controllable code.
|Basic theming skills
|This involves installing themes, creating subthemes, and tweaking sub themes with CSS and custom template files.
|Advanced theming skills
|This involves responsive web design, grid based layout techniques, jQuery based interactions
|PHP coding for theming
|This involves the basics you'd need to know of PHP before learning Drupal theming.
|Front end development
|This includes developing base themes, writing layout plugins to contrib modules, optimizing front end performance, declaring new renderable elements, developing for modules like Skinr, using AJAX, AHAH and other techniques for creating good user experience. Writing theme functions, preprocess functions, form_alters, adding/changing theme settings and using the show/hide functions.
|HTML5 web apps
|Being able to use HTML5 technlologies to build app-like pages for mobile browsers, possibly to embed them as downloaded apps with PhoneGap (or something).
|Basic Drupal coding skills
|This involves PHP skills, knowing Drupal coding standards – including writing well-commented code, using hooks and using Drupal's API to write secure code. It also includes using Drush.
|Coding for major contrib projects
|This involves writing Views plugin/handlers, as well as understanding or extending other important parts of the Drupal ecosystem.
|Advanced Drupal coding
|Knowing enough about even advanced core concepts – such as access control, rendering layer and DBTNG – that it is possible to write and review non-trivial core patches. Knowing when and how it is ok to hack core. (Wow.)
|Secure user input, XSS, Form API Security, etc.
|Web services and native movile apps
|This includes using Services and REST, integrating with external APIs, and being able to expose data to consumers like mobile applications.
|Basic performance analysis/optimization
|This involves things like setting up caching rules, being aware of performance impacts of complex architecture, etc.
|Setting up Drupal servers
|Includes all server-side setup for getting a Drupal site running: web server (Apache, Nginx), database, PHP, file permissions, etc.
|Automated testing/continuous integration
|Being able to write automated teseting for Drupal functionality, and implement the tests during development. Involves SimpleTests, but possibly other testing technology as well.
|Migrating large sets of data to a new site, including both database entries and files. Also involves leveraging contrib modules for migration.
|Knowing how to update modules, doing backups, watching for security releases, etc.
|Advanced performance optimizing
|This involves dealing with load times, memory usage, slow queries, identifying memory hogs, setting up reverse proxy caching, changing cache layers, etc.
Skill sets not depending on Drupal
|Involves things like setting up Git repositories, cloning, branching, merging, plus creating and applying patches.
|Documentation and training
|This is currently a stand-alone skill set, since documentation and training can be added to any of the other skill set.
|Analysing client information and processes to facilitate design of intuitive navigation, content types and site structure.
|Performing testing to gather information about usability problems, as well as verifying good effect of interaction design.
|Capturing end results that clients wants, and describing these in development terms – and communicating with the client about both of these. Also includes listing (internal) competence requirements.
|Planning and replanning project process, including milestones, large project subtasks and staffing planning.
|Involves identifying market segments and individual companies/organizations that are good potential clients.
|Involves analyzing own or client's needs of marketing through web search results, and making plans for satisfying those needs.