Acabo de aprobar Terraform Associate (004) — lo que me hubiera gustado saber
Notas honestas del día después: qué preguntas aparecieron, dónde se va el tiempo, lo que estudié a última hora y resultó no importar, y lo que subestimé.
Me presenté al Terraform Associate 004 ayer y aprobé a la primera. Esta no es una publicación de "qué estudiar" — hay muchas de esas, incluyendo la nuestra. Esta es la publicación que me hubiera gustado leer la noche anterior, mientras todo está aún fresco.
Para contextualizar: he estado escribiendo Terraform en AWS durante unos tres años, principalmente infraestructura de aplicaciones — VPCs, ECS, RDS, ALBs, lo habitual — a veces contra HCP Terraform, pero más a menudo contra S3 + DynamoDB. Me presenté al 003 hace mucho tiempo de una manera poco atenta y pensé que el 004 sería un repaso rápido. En su mayor parte lo fue, pero con matices.
Lo que estudié a última hora y no necesité
Los dos días antes del examen profundicé en algunos temas que resultaron ser casi nulos en la prueba:
- Sintaxis de Sentinel y OPA. Me había convencido de que necesitaba reconocer una regla de Sentinel a primera vista. Hubo exactamente una pregunta que tocaba la "política como código", y era conceptual — "¿qué característica aplica las políticas organizacionales?" — respondible solo con saber que la palabra "Sentinel" existe.
- Versiones del protocolo de los plugins de proveedor. Irrelevancia total.
- Memorizar cada subcomando de
terraform state. El examen pregunta sobrestate list,state mvystate rmen escenarios. Si entiendes lo que hace cada uno en un lenguaje sencillo, no necesitas practicar las banderas. - Niveles de precios de HCP Terraform. No en el examen. El examen trata HCP de forma conceptual.
Si hubiera tenido ese tiempo de preparación de vuelta, lo habría dedicado a más repeticiones de for_each vs. count.
Lo que me sorprendió
Algunas cosas que no esperaba:
Lo nuevo del 004 se pregunta con precisión. Esperaba preguntas superficiales tipo "¿qué hace el bloque moved?"; en cambio, obtuve escenarios específicos como "has renombrado un recurso y quieres preservar su estado sin interrupciones — ¿cuál es el cambio válido mínimo?" con opciones de respuesta que incluían tanto una invocación de state mv como un bloque moved. Tienes que elegir la forma que se ajuste al flujo de trabajo, no solo reconocer que ambos existen.
Múltiples preguntas sobre bloques import vs. terraform import. Asumí por pereza que eran equivalentes. El examen me recordó que no lo son — el bloque es declarativo y se integra con plan; el comando CLI es imperativo y tiene efectos secundarios en el estado de inmediato. Dos preguntas probaron específicamente si sabía cuál se ajusta a un flujo de trabajo CI/CD revisable.
Las preguntas sobre HCL son más densas de lo que sugieren los exámenes de práctica. Muchos exámenes de práctica te dan un fragmento ordenado de cuatro líneas. El examen real al menos una vez me entregó un bloque de quince líneas con un dynamic anidado dentro de un resource cuyo propio for_each estaba impulsando el conteo exterior, y me pidió que predijera el número de recursos creados. Tuve que leerlo dos veces. No subestimes la carga cognitiva de leer HCL cuidadosamente bajo un reloj de 60 segundos por pregunta.
Dos preguntas sobre terraform test. Casi me salté esta sección porque los exámenes de práctica apenas la mencionaban. Las preguntas eran conceptuales — que .tftest.hcl existe, que los bloques run contienen aserciones, que puedes simular proveedores para pruebas unitarias. Revisa la página de la documentación; es suficiente.
La gestión del tiempo casi me juega una mala pasada
57 preguntas en 60 minutos es poco más de un minuto por pregunta. Soy lento haciendo exámenes de contenido técnico porque leo el código con atención. Terminé mi primera pasada en el minuto 52 con cinco preguntas marcadas para revisión. En dos de esas preguntas marcadas había estado dándole demasiadas vueltas a la redacción; al releerlas con una perspectiva fresca cambié ambas respuestas — una resultó ser correcta, la otra creo que la cambié a la respuesta incorrecta (no hay forma de saberlo después).
Lo que funcionó: cualquier pregunta en la que me sorprendí releyendo el enunciado más de dos veces, elegí mi mejor opción, la marqué y seguí adelante. No te quedes en una sola pregunta durante cuatro minutos. Si no la sabes después de un minuto, probablemente no la sabrás después de tres más.
Las preguntas lentas
Una categoría específica que consumió tiempo: "dada esta salida del archivo de estado, ¿qué mostrará terraform plan?" Estas son lentas porque recorres mentalmente un diff de estado. En dos de ellas, dejé de intentar simular, miré las opciones de respuesta y elegí lo más probable que estuviera roto (una etiqueta faltante en un caso, un atributo cambiado en el otro). Ambas resultaron correctas. Reconocimiento de patrones sobre simulación profunda, cuando el tiempo escasea.
Lo que realmente recomendaría, si volviera a preparar el examen
Dado lo que ahora sé, aquí está el presupuesto reequilibrado:
- 40% preguntas de práctica. Realízalas bajo tiempo, y realmente analiza las respuestas incorrectas.
- 25% leer ejemplos de HCL lentamente. Escribe algunos también, pero la fluidez que necesitas el día del examen es fluidez de lectura, no de escritura.
- 15% semántica del estado. Qué hay en el archivo de estado, por qué el bloqueo es importante, qué resuelven los bloques
moved/removed/import. - 10% las nuevas características del 004 de forma aislada — validación de variables, precondiciones, valores efímeros, argumentos de solo escritura, proyectos de HCP,
terraform test. - 10% todo lo demás — conceptos de IaC, el propósito de Terraform, visión general de HCP.
Un presupuesto desequilibrado por diseño. El cubo de "todo lo demás" son principalmente cosas que ya sabes si has usado Terraform durante más de unos pocos meses.
Cosas que no esperaba que importaran y sí lo hicieron
- Saber que
terraform fmtexiste y qué hace. Apareció dos veces. Una de las respuestas incorrectas era quefmtmodifica el estado. - Sintaxis de las restricciones de versión del proveedor. La diferencia entre
~> 1.2y~> 1.2.0(la segunda es pesimista a nivel de parche — más restrictiva). Acerté esta, pero me había convencido de que no se preguntaría. - Qué hace
terraform init -upgradeversusterraform init -reconfigure. Me preguntaron cuál usar después de cambiar un bloque de backend. La respuesta es-reconfigure. terraform outputcon-json. Un escenario de scripting preguntaba qué comando produce valores de salida legibles por máquina. Trivial si lo has usado; fácil de pasar por alto si no lo has hecho.
Después del examen
PSI muestra una pantalla de aprobado/reprobado al final (obtuve la marca de verificación verde; alivio). El desglose completo de la puntuación por dominio llega por correo electrónico un par de días después. La insignia aparece en tu cuenta de Credly una vez que la aceptas. Las certificaciones de HashiCorp son válidas por dos años, así que pon un recordatorio en el calendario.
Lo que subestimé de un examen de proveedor es lo agotadores que son 60 minutos de concentración intensa. No programes una reunión después. Llegué a casa y me quedé mirando una pared durante una hora.
Si estás cerca de tu fecha de examen, realiza un bloque frío del banco 004 de CertLabPro. No optimices para una puntuación alta en la práctica — optimiza para detectar las categorías en las que eres débil mientras aún haya tiempo para corregirlas.