Preguntas frecuentes
Desarrollo backend
18 preguntas y respuestas sobre Desarrollo backend, de Muhammad Shahid, ingeniero de software de IA sénior y desarrollador backend.
Desarrollo backend
1. ¿Qué tecnologías backend usas?
Node.js y Express.js para APIs, MongoDB con Mongoose para datos, Redis para caché, APIs REST con autenticación JWT, EJS para páginas renderizadas en servidor, y Heroku, servidores VPS o Netlify para el despliegue.
2. ¿Eres desarrollador Node.js?
Sí. Node.js es mi lenguaje backend principal. Lo he usado en producción en Quecko Inc. y Dlux Soft para productos con millones de usuarios, como DOP, TheCryptoBasic y CV Maker.
3. ¿Desarrollas APIs REST?
Sí. Desarrollo APIs REST de producción con Express y MongoDB, con validación de peticiones, gestión centralizada de errores, logs, autenticación JWT, caché y paginación.
4. ¿Trabajas con MongoDB?
Sí, es mi base de datos principal. Diseño esquemas e índices compuestos, escribo pipelines de agregación y uso Mongoose. También tengo la certificación MongoDB and Mongoose de MongoDB University.
5. ¿Cómo usas Redis?
Sobre todo para cachear rutas con mucha lectura. En DOP añadí una capa de caché con Redis junto con nuevos índices en MongoDB, y así controlé los timeouts de la API y la carga de CPU de la base de datos con más de 300 millones de usuarios.
6. ¿Puedes arreglar problemas de inicio de sesión y sesiones?
Sí. En TheCryptoBasic los usuarios se desconectaban al azar. Encontré el origen en una caducidad incorrecta de los JWT y en el manejo de los refresh tokens, y reescribí el flujo de sesión para que ahora las sesiones se mantengan como deben.
7. ¿Puedes crear el backend de una app móvil?
Sí. Desarrollé el backend de CV Maker – Resume Builder, una app de Android en Google Play con más de 1 millón de usuarios en todo el mundo, y trabajé con los equipos de móvil y diseño en sus lanzamientos.
8. ¿Puedes integrar APIs de terceros?
Sí. Creé el flujo de datos de mercado en tiempo real de TheCryptoBasic, conecté 5 proveedores RPC en DOP y desarrollo integraciones de APIs y LLM para agentes de IA.
9. ¿Trabajas con datos en tiempo real y WebSockets?
Sí. TheCryptoBasic sirve datos de mercado en directo a más de 2 millones de usuarios, y mi proyecto de código abierto cmcprice-Websocket transmite precios de criptomonedas en tiempo real por WebSockets.
10. ¿Dónde despliegas los backends?
Los backends en Node.js, en Heroku o servidores VPS; los sitios estáticos y de Next.js, como este, en Netlify.
11. ¿Puedes arreglar fallos de pagos y transacciones?
Sí. En Quecko investigué fallos de pagos y transacciones reportados por usuarios, encontré las causas, publiqué las correcciones con plazos ajustados, restablecí los pagos y añadí monitorización y alertas para detectar los fallos a tiempo.
12. ¿Cómo haces que un backend sea fiable?
Validación de peticiones, gestión centralizada de errores, logs, monitorización y alertas, y pruebas antes de cada lanzamiento. En Dlux Soft este enfoque redujo los errores en producción.
13. ¿Puedes añadir monitorización y alertas de errores?
Sí. Añado monitorización y alertas en cada corrección, para que el próximo fallo lo detecte el sistema y no los usuarios.
14. ¿Puedes crear una app full-stack tú solo?
Sí. Creé New-Waffle, una app web de sorteos de NFT, de principio a fin yo solo: la lógica del sorteo, el backend y el cliente web, y también el despliegue.
15. ¿Creas herramientas internas?
Sí. Dos de mis herramientas de código abierto son mongodb-data-exporter, que exporta cada colección de una base de datos MongoDB a su propio archivo JSON, y video-splitter-with-text, que divide vídeos y les añade texto.
16. ¿Puedes trabajar en un backend que hizo otra persona?
Sí, es la mayor parte de mi trabajo. He asumido productos en producción con millones de usuarios y he corregido sus problemas de rendimiento, sesiones y pagos sin reescribirlos.
17. ¿Usas NestJS?
Sí. Desarrollo backends en Node.js con NestJS cuando el proyecto se beneficia de sus módulos y su inyección de dependencias, y con Express cuando encaja mejor algo más ligero.
18. ¿Desarrollas APIs GraphQL?
Sí. Desarrollo APIs GraphQL además de APIs REST, y elijo entre ellas según cómo necesiten obtener los datos los clientes.