Reflections on mentoring new developers in Drupal

UPDATE: Fixed formatting. Thanks, Brock!

Two developers recently joined our team. Johnny has worked with Drupal before, and needs a little help getting used to Drupal 6 and Views 2. Elena is an IT architect who is new to both IBM and Drupal. She needs a lot more help getting started, because she doesn’t know what things are called yet and she isn’t yet accustomed to the Drupal way of doing things. For my part, I work on Workflow, node access, and other requirements that require deep Drupal hacking.

I’m learning to check on Elena more frequently and to help her break down tasks. Otherwise, she might get lost or stuck, because she might not yet know where things are or whether she’s getting closer to an answer. I’ve made good progress on the things we’ve planned for this iteration, and I can invest the time into helping our new team members be more productive and learn more effectively.

Both Elena and Johnny have set up their debuggers in Eclipse, so they don’t have to figure out the right places to insert var_dumps. Instead, they can trace through the relevant pieces of code, learning more about the structures and the flow of Drupal websites along the way.

Although I occasionally struggle to explain things I take for granted, I enjoy helping someone who’s new to an area. It helps me remember the things people need to learn. For example, Elena’s work on surveys requires her to learn about nodes, getting values from the $_REQUEST, loading nodes, working with CCK, altering forms, adding new form fields using the Form API, and using Drupal functions for links and text. We broke down the task into the following steps:

  1. Create a CCK node type.
  2. Use hook_form_alter to add some text to the form.
  3. Load a node and fill the information in the form.
  4. Get the extra node ID from the URL.
  5. Adapt form_alter for the case where you’re editing the node.

We’ve managed our planning well, so I don’t feel overcommitted or stretched with the additional mentoring I’ve taken on. The time is an investment that will pay off both in the short-term as well as the long-term. If I can slow down and write more, then the investment can benefit to other people too.

I like this. It’s certainly much better than leaving developers to flounder and work things out on their own, and I learn a lot in the process of helping. Maybe that will be one of my specialties: projects where other people are learning a lot on the fly.

  • http://www.brockboland.com Brock

    Hi Sacha!

    I just wanted to point out that you have an input format or something that’s translating underscores into sub tags. You can see it on $_REQUEST and form_alter in your post.

  • http://sachachua.com Sacha Chua

    Thanks! Fixed.

  • http://www.sbm.com.sa Tariq Kmail

    Hi,

    you are great in fact
    but please can u tell me the best way to learn Drupal

  • http://sachachua.com Sacha Chua

    See reply to your comment on the About page.

  • http://www.bugsbane.net Ramon

    Hi, vis-a-vis Brock’s comment, I just thought it would have been nice to see what you had originally written. In many cases (at least with me), the mistakes (or inefficiencies) teach me AS MUCH as the final correct solution.

    So… what if you had used ‘strikeout’ instead of replacing the errant text….

    Ramon

    • http://sachachua.com Sacha Chua

      Oh, that wasn’t a significant change – Org-mode was just incorrectly HTMLifying variables with underscores. =) Publishing thing, not code.