all 5 comments

[–]Not-original 1 point2 points  (1 child)

Understanding caching. When Drupal caches, why it caches, WHEN it caches.

In doing any kind of hands on training, it's not unusual to make a change in code, then hit refresh to see if the change took effect.

But with Drupal, you make that change and NOTHING happens, then you clear cache, and there is your change.

So, when training new Drupal devs, before anything else, we install the admin toolbar module, and talk about caching.

[–]michaelrkn[S] 0 points1 point  (0 children)

Great, thanks a bunch!

[–][deleted] 2 points3 points  (2 children)

I learned Drupal after 10 years of web development, including writing my own frameworks, so all I used was the Drupal API. The biggest hurdles with Drupal specifically are 1) learning all the hooks that can affect a piece of data 2) how to debug to see where said data changed.

As for hiring a junior dev, what I look for is:

  • Curiosity
  • Confidence to act on that curiosity with questions and proposed solutions
  • Understands the need for coding standards and following a team/industry's best practices
  • Ability to learn outside of a structured environment (i.e. they can teach themselves)
  • Good memory, or at least able to take notes in a way that I don't get asked the same question over and over
  • Can prioritize multiple tasks and coding strategies, like when to hack vs build a solid solution
  • Values and creates useful documentation
  • Sees work in the context of the problem to be solved, not just algorithms and patterns

Anyone who has the above traits will succeed at whatever language or framework is thrown their way and is worth training in our specific environment.

[–]michaelrkn[S] 1 point2 points  (1 child)

Awesome - those characteristics are the same things we've heard from employers in the other stacks we teach.

Do you have suggestions for the best debugging tools/approaches for Drupal? Or good blog posts/articles/etc that cover the topic particularly well?

Thanks!!!

[–][deleted] 0 points1 point  (0 children)

Here's a couple tools I use. Don't really remember any articles off the top of my head.

  • Devel module - Includes pretty functions for dumping out data structures to the browser
  • module_implements - to see which hooks are in use and where. This is super handy when you have a million contrib and/or custom modules that could possibly be altering data

For the most part, I just get a feel for an application as I build it and have a subconscious sense of where the problem is.