Siglas y jerga de programadores en inglés
En esta lección
Cuando entras en un equipo, o en un repositorio de GitHub, te encuentras con frases como LGTM, merging after QA o WIP: refactor legacy code, TL;DR below. No son difíciles: son siglas y palabras de uso diario que se aprenden en una tarde. Esta lección reúne las más habituales, cómo se dicen en voz alta, qué significan y dónde las verás.
Las siglas se deletrean casi siempre: A-P-I, no “api”. Si necesitas repasar las letras del alfabeto inglés, mira Pronunciación.
Siglas de herramientas y tecnologías
| Sigla | Se dice | Significa | Qué es |
|---|---|---|---|
| API | /ei-pi-ái/ | Application Programming Interface | forma de que un programa hable con otro |
| SDK | /es-di-quéi/ | Software Development Kit | conjunto de herramientas para desarrollar para una plataforma |
| IDE | /ai-di-í/ | Integrated Development Environment | editor completo (VS Code, IntelliJ) |
| CLI | /si-el-ái/ | Command Line Interface | programa que usas desde la terminal |
| GUI | /gúi/ (“gooey”) | Graphical User Interface | interfaz con ventanas y botones |
| OS | /ou-és/ | Operating System | sistema operativo |
| DB | /di-bí/ | Database | base de datos |
| UI | /iu-ái/ | User Interface | lo que ve el usuario |
| UX | /iu-éks/ | User Experience | cómo se siente usarlo |
| SQL | /es-cu-él/ o /síkuel/ | Structured Query Language | lenguaje de bases de datos |
| JSON | /yéison/ | JavaScript Object Notation | formato de datos |
| URL | /iu-ar-él/ | Uniform Resource Locator | dirección web |
| CSS / HTML | /si-es-és/, /eich-ti-em-él/ | Cascading Style Sheets / HyperText Markup Language | |
| CI/CD | /si-ái, si-dí/ | Continuous Integration / Delivery | pruebas y despliegue automáticos |
| VCS | /vi-si-és/ | Version Control System | sistema de control de versiones (Git) |
| OOP | /ou-ou-pí/ | Object-Oriented Programming | programación orientada a objetos |
Ejemplos de uso:
The SDK includes a CLI and examples for every language.
Use the REST API instead of scraping the website.
I prefer a CLI over a GUI for deployments.
Traducción: el SDK incluye una CLI y ejemplos para cada lenguaje. Usa la API REST en vez de rascar la web. Prefiero una CLI a una GUI para desplegar.
Principios de programación
Estas tres siglas son filosofías de código muy repetidas:
| Sigla | Significa | Idea | Ejemplo |
|---|---|---|---|
| DRY | Don’t Repeat Yourself (“no te repitas”) | no copies lógica; ponla en una función | si calculas el IVA en cinco sitios, crea addTax() |
| KISS | Keep It Simple, Stupid (“hazlo simple”) | la solución más sencilla que funcione | no uses un framework para un botón |
| YAGNI | You Ain’t Gonna Need It (“no lo vas a necesitar”) | no construyas lo que aún no se necesita | no añadas soporte para 10 idiomas si hoy hay uno |
| SOLID | cinco principios de diseño orientado a objetos | ||
| WET | Write Everything Twice | la broma contraria a DRY (código repetido) |
Se pronuncian como palabras: DRY /drái/ (“seco”), KISS /quis/ (“beso”), YAGNI /iág-ni/. Se usan en revisiones de código:
This block is duplicated three times. Let's keep it DRY.
Do we really need a plugin system? YAGNI.
KISS: a simple if statement is enough here.
Traducción: “Este bloque está duplicado tres veces; mantengámoslo DRY”. “¿De verdad necesitamos un sistema de plugins? YAGNI”. “KISS: aquí basta un if sencillo”.
Siglas de comunicación
Las verás en GitHub, Slack y correos:
| Sigla | Se dice | Significa | Ejemplo |
|---|---|---|---|
| TL;DR | /ti-él-di-ár/ | Too Long; Didn’t Read: “demasiado largo; no lo leí” (resumen) | TL;DR: use const instead of var. |
| LGTM | /el-yí-ti-ém/ | Looks Good To Me: “me parece bien” | LGTM! Merging now. |
| WIP | /dábliu-ai-pí/ | Work In Progress: “en curso”, no está terminado | WIP: add login form |
| PR | /pi-ár/ | Pull Request: propuesta de cambios en GitHub | Opened a PR for the fix. |
| MR | /em-ár/ | Merge Request (GitLab) | |
| FYI | /ef-uái-ái/ | For Your Information: “para tu información” | FYI, the server restarts at 3 am. |
| ASAP | /éi-sap/ | As Soon As Possible: “lo antes posible” | Fix it ASAP. |
| ETA | /i-ti-éi/ | Estimated Time of Arrival: “hora estimada” | ETA: Friday. |
| BTW | /bi-ti-dábliu/ | By The Way: “por cierto” | |
| IMO / IMHO | /ai-em-óu/ | In My (Humble) Opinion: “en mi opinión” | IMO, this name is confusing. |
| AFAIK | /ei-ef-ei-ai-kéi/ | As Far As I Know: “que yo sepa” | |
| IIRC | /ai-ai-ar-sí/ | If I Remember Correctly | |
| NIT | /nit/ | detalle menor, quisquilla | nit: extra space here |
| OOO | /ou-ou-ou/ | Out Of Office: “fuera de la oficina” | |
| EOD | /i-ou-dí/ | End Of Day: “a final del día” | I'll finish it by EOD. |
| PTO | /pi-ti-óu/ | Paid Time Off: vacaciones | |
| AFK | /ei-ef-quéi/ | Away From Keyboard: “no estoy” | AFK for 10 minutes. |
| ICYMI | /ai-si-uái-em-ái/ | In Case You Missed It | |
| RFC | /ar-ef-sí/ | Request For Comments: propuesta técnica | |
| POC | /pi-ou-sí/ o /pok/ | Proof Of Concept: prueba de concepto |
Un ejemplo de PR:
Title: WIP: add dark mode toggle
TL;DR: adds a button in the header that switches the theme.
Still missing: save the choice in localStorage.
Y la revisión que recibes:
nit: rename `x` to `isDark`.
Otherwise LGTM, thanks!
Traducción: “nit: renombra x a isDark. Por lo demás me parece bien, ¡gracias!”.
Producto y equipo
| Sigla | Se dice | Significa | Cuándo |
|---|---|---|---|
| MVP | /em-ví-pí/ | Minimum Viable Product: producto mínimo viable | primera versión útil |
| QA | /quiú-éi/ | Quality Assurance: control de calidad (equipo que prueba) | QA found two bugs. |
| UAT | /iu-ei-tí/ | User Acceptance Testing | prueba final del cliente |
| KPI | /quéi-pi-ái/ | Key Performance Indicator | métricas clave |
| SLA | /es-el-éi/ | Service Level Agreement | acuerdo de nivel de servicio |
| PM | /pi-ém/ | Product Manager o Project Manager | quien organiza |
| SaaS | /sas/ | Software as a Service | software por suscripción |
| B2B / B2C | /bi-tu-bí/ | Business to Business / Consumer | a quién vendes |
| OKR | /ou-quéi-ár/ | Objectives and Key Results | objetivos |
| FTE | /ef-ti-í/ | Full-Time Equivalent | jornada completa |
Mira cómo salen en una conversación:
We need an MVP by the end of the month.
QA will test it on Monday.
The SLA says the server must be up 99.9% of the time.
“Necesitamos un MVP para finales de mes. QA lo probará el lunes. El SLA dice que el servidor debe estar disponible el 99,9 % del tiempo.”
Jerga de código: palabras que no son siglas
Mucha jerga son palabras normales con un sentido propio:
| Inglés | Pronunciación | Significado | Ejemplo |
|---|---|---|---|
| bug | /bag/ | fallo en el programa | There's a bug in the login. |
| feature | /fícher/ | funcionalidad | A new feature: dark mode. |
| fix | /fiks/ | arreglo / arreglar | Fix: typo in the footer. |
| hotfix | /jótfiks/ | arreglo urgente en producción | Deploy a hotfix tonight. |
| patch | /pach/ | parche | Version 2.1.1 is a patch. |
| workaround | /uérkaraund/ | apaño temporal | Use this workaround for now. |
| refactor | /rifáktor/ | reescribir sin cambiar lo que hace | Refactor the date helpers. |
| legacy | /léguesi/ | código antiguo heredado | This is legacy code. |
| boilerplate | /bóilerpleit/ | código repetitivo que siempre hay que escribir | A lot of boilerplate. |
| spaghetti code | /espagueti coud/ | código enredado | This function is spaghetti code. |
| technical debt | /téknical det/ | deuda técnica: atajos que se pagan después | We have too much technical debt. |
| code smell | /coud esmel/ | señal de código mal diseñado | A 300-line function is a code smell. |
| hack | /jak/ | solución chapucera | It's a hack, but it works. |
| edge case | /edy keis/ | caso extremo o raro | What about an empty list? That's an edge case. |
| corner case | /córner keis/ | caso extremo (varios a la vez) | |
| nightly build | /náitli bild/ | compilación automática diaria | |
| to ship | /ship/ | entregar, publicar | We shipped it on Friday. |
| to merge | /merdy/ | fusionar ramas | Merge the branch. |
| to push / to pull | /push/, /pul/ | subir / traer cambios con Git | Push your changes. |
| to revert | /rivért/ | deshacer un cambio | Revert the last commit. |
| to deprecate | /déprikeit/ | marcar algo como obsoleto | This API is deprecated. |
| breaking change | /bréikin chéindy/ | cambio que rompe compatibilidad | v3 has breaking changes. |
| to hardcode | /jardcoud/ | escribir un valor fijo en el código | Don't hardcode the password. |
| to mock | /mok/ | simular algo en pruebas | Mock the API. |
| stub | /stab/ | sustituto simple en pruebas | |
| snippet | /snípet/ | trozo de código | Here's a snippet. |
| gotcha | /gócha/ | trampa que no esperas | One gotcha: arrays start at 0. |
| rubber duck | /raber dak/ | explicarle el problema a un patito de goma | Try rubber duck debugging. |
| yak shaving | /iak shéivin/ | tareas secundarias interminables antes de la principal | |
| bikeshedding | /báikshedin/ | discutir detalles triviales |
Un par de frases reales de trabajo:
It's not a bug, it's a feature.
This is a quick hack. We should refactor it later.
The old billing module is legacy code with no tests.
“No es un bug, es una característica (broma). Es un hack rápido: deberíamos refactorizarlo luego. El módulo de facturación antiguo es código legacy sin pruebas.”
Nota: to ship significa “enviar” pero en desarrollo es “publicar una versión”.
We ship on Fridays= “publicamos los viernes”. Un clásico: “don’t deploy on Friday” (no despliegues los viernes).
Etiquetas de commits y de issues
Las verás en el título de un commit o en las etiquetas (labels) de un issue:
| Etiqueta | Significado |
|---|---|
feat: | nueva funcionalidad |
fix: | arreglo de un bug |
docs: | cambios en documentación |
refactor: | reescritura interna |
chore: | tarea de mantenimiento |
test: | pruebas |
style: | formato, sin cambios de lógica |
good first issue | buen primer issue para empezar en un proyecto |
help wanted | se busca ayuda |
wontfix | no se va a arreglar |
duplicate | repetido |
invalid | no es válido |
Más sobre esto en Git y commits.
Cómo se usa en el día a día
Slack:
A: Hey, can you review my PR? It's small.
B: Sure. TL;DR?
A: Fixes a bug in the checkout. No new features.
B: LGTM! Ship it.
Traducción:
- A: Oye, ¿puedes revisar mi PR? Es pequeña.
- B: Claro. ¿Resumen?
- A: Arregla un bug en el pago. Sin funcionalidades nuevas.
- B: Me parece bien. Publícalo.
Errores frecuentes
- Pronunciar las siglas como palabras. API, SDK, CLI, PR, QA se deletrean. Solo DRY, KISS, YAGNI, SaaS, WIP y poco más se dicen como palabra o mezcla.
- Confundir “bug” con “error”. Un bug es el fallo en el código; error también es el mensaje que muestra.
- Creer que “legacy” es insulto. Solo significa heredado; muchas veces es código que funciona y da dinero.
- Usar “eventually” como “eventualmente”. Es un falso amigo; mira Falsos amigos.
- Poner siglas desconocidas sin explicar. Con un cliente o con gente nueva, escribe la primera vez
Minimum Viable Product (MVP). - Confundir PR con MR. Es lo mismo: GitHub dice Pull Request y GitLab Merge Request.
- Pensar que “refactor” es arreglar un bug. Refactorizar es mejorar el código sin cambiar su comportamiento.
Resumen
| Quiero decir… | Se dice |
|---|---|
| Resumen corto | TL;DR |
| Me parece bien | LGTM |
| Todavía no está terminado | WIP |
| Propuesta de cambios en GitHub | PR (pull request) |
| No te repitas / hazlo simple / no lo necesitas | DRY / KISS / YAGNI |
| Primera versión mínima | MVP |
| Pruebas de calidad | QA |
| Arreglo urgente | hotfix |
| Reescribir sin cambiar el comportamiento | refactor |
| Código antiguo heredado | legacy |
| Código repetitivo | boilerplate |
Siguiente lección: Falsos amigos.
Pon a prueba lo que has aprendido
¿Te ha quedado claro? Márcala y verás tu progreso en el explorador.