¿Que le recomendarían a un programador que inicia con Drupal?

¿Por donde empezar? a parte de no ponerse a destripar el core ¿que más sugerirían?

¿Dónde empezar..? La

¿Dónde empezar..? La respuesta que podría dar sera absolutamente incompleta, pero lo intentaré =)

0) Poco a poco aprenderás que no hay que parchar ni editar el "core" de Drupal. (Bueno, casi nunca!). Todo se puede hacer a través de módulos o temas.

1) Consíguete el libro Pro Drupal Development. Una Biblia.

2) Consíguete buenas herramientas para desarrollo. Recomiendo netBeans; funciona excelente con Drupal, es rápido y como todo buen IDE te ayuda montones durante el desarrollo (autocompleta nombres de funciones, ayuda en pantalla de todas las funciones de Drupal y PHP, etc.)

3) Aprende como tener una instalacion local de Drupal en tu máquina, para evitar tener que mover cosas por FTP y aprovechar al máximo el IDE. Asegúrate de tener en Drupal modulos que te ayuden con el desarrollo como Devel, DB Tuner, etc. Tambien asegúrate de tener APC o eAccelerator cargado en el Apache/PHP para hacer todo más rápido y no pierdas tiempo.

4) Baja módulos sencillos que hagan cosas que te interesan y analízalos. Tambien haz los modulos ejemplo del libro Pro Drupal Devel. Luego modifícalos para que hagan cosas distintas. Asi se aprende sobre la marcha.

5) Ten otras herramientas como XDebug para analizar paso a paso la ejecución de un script (XDebug va en el php.ini, y luego lo aprovechas dentro de tu IDE). Tambien utiliza Firefox con Firebug para poder analizar toooodo lo que sucede entre el server y el navegador.

6) Aprende a usar un mecanismo de control de versiones, como SVN, CVS, Git, u otro. Por ejemplo NetBeans soporta todos ellos. CVS (que es lo que usa actualmente Drupal.org) te servira, por ejemplo, para bajar un modulo de Drupal.org, y automáticamente NetBeans te dirá en la misma pantalla de edición qué líneas del archivo han cambiado, se han agregado o borrado. Tambien es muy muy util para averiguar por qué algo que antes "si jalaba" de repente ya no... puedes ver qué cambios has hecho a través del tiempo... y es absolutamente necesario si vas a trabajar en equipo con otros desarrolladores. (Ah! Y se me olvido mencionar que aplicar parches a modulos o al core de Drupal será parte de tu vida "normal" pues no todo funciona out-of-the-box cuando tienes un servicio en producción)

7) Usa Google, IRC, Drupal.org y otros recursos para apoyarte con los demás! Por ejemplo, usa la búsqueda en Google:

site:drupal.org [palabras de busqueda]

para encontrar rápidamente lo que necesitas sobre X tema. En IRC hay varios canales de Drupal.org (en freenode.net) donde siempre hay quien te ayude. Usa Drupal.org para poner preguntas, o reportar bugs que hayas encontrado. Muy pronto encontrarás que muchos han tenido las mismas dudas y/o problemas que tu mismo, y tambien muy pronto tendrás la oportunidad de tu mismo ayudar a alguien que estuvo en tu misma situación. ¡Ayúdalos también! =)

Espero que esto te sirva de algo...!