Descripción del Puesto
Fonestar es un destacado fabricante de equipos y sistemas de audio profesional, especializado en sistemas de megafonía. En el equipo de I+D desarrollamos nuestros sistemas de manera integral, abarcando desde el diseño mecánico hasta las aplicaciones de usuario, incluyendo la electrónica y el software embebido. Nos esforzamos constantemente por alcanzar nuestro objetivo principal: ofrecer valor a los clientes y usuarios finales.
Actualmente desarrollamos un ecosistema de aplicaciones para interactuar con dispositivos en red local y en la nube. Nuestro front combina una aplicación de escritorio multiplataforma (React + Electron) y una aplicación móvil (React Native), ambas sustentadas por un monorepo TypeScript y un SDK propio. Es un entorno con diagramas interactivos, dashboards, múltiples paneles, datos en tiempo real y un fuerte enfoque offline‑first.
Buscamos a una persona senior, autónoma y resolutiva, que disfrute de los retos técnicos y nos ayude a llevar funcionalidades a producción con calidad y velocidad.
#129513;
Lo que harás
Desarrollar y evolucionar funcionalidades end‑to‑end en React (desktop) y React Native (móvil).
Trabajar en la app Electron (procesos
main/renderer
, IPC, empaquetado y distribución multi‑OS).
Crear y mantener UIs complejas: múltiples vistas/pestañas, flujos densos,
state
interdependiente, diagramas (React Flow) y drag & drop avanzado.
Diseñar e implementar estrategias offline‑first: persistencia local,
caching
, colas y sincronización diferida.
Colaborar en la arquitectura del monorepo y en la integración de nuestro SDK propietario.
Realizar code reviews, cuidar buenas prácticas y mejorar la calidad (tests, profiling, refactors).
Participar en decisiones de UX y en la mejora continua del producto.
#127919;
Requisitos imprescindibles
Experiencia sólida en React construyendo interfaces complejas y con gran volumen de estado.
Experiencia demostrable en React Native, incluyendo ciclo con Android Studio y Xcode.
Electron en producción: IPC, procesos
main/renderer
, empaquetado y distribución.
TypeScript avanzado (generics, tipos discriminados, utilidades, tipado estricto).
Experiencia en aplicaciones complejas (múltiples vistas, flujos densos, alto nivel de interacción).
Experiencia manejando datos en tiempo real: WebSockets, MQTT u otros sistemas
event‑driven
.
Offline‑first: persistencia local,
caching
, colas y sincronización.
Monorepos (Nx, Turborepo o workspaces) y paquetes compartidos.
Capacidad para trabajar de forma autónoma y entregar features end‑to‑end.
Concurrencia/asincronía:
mutex
,
debounce
, prevención de
race conditions
, control de ciclos async.
Integración de SDKs propietarios: comprensión de patrones (singletons, callbacks,
async lifecycle ).
Dominio de GitHub: ramas, PRs,
code reviews
,
commits
limpios, Actions (CI).
Node.js: filesystem, procesos del SO, módulos nativos, ejecución fuera del navegador.
Buenas prácticas y patrones de diseño; capacidad para entrar con rapidez en un codebase existente.
➕ Muy valorable
Experiencia con React Flow o librerías similares de diagramación/canvas (Konva, DnD Kit, etc.).
Experiencia con dispositivos, IoT, comunicaciones locales o hardware (protocolos, puertos, servicios locales…).
Conocimientos o experiencia con PostgreSQL, SQLite o persistencia local en general (IndexedDB, filesystem).
Conocimientos de UX aplicados a interfaces avanzadas y flujos densos.
Experiencia en testing: Jest, React Testing Library, Playwright.
Docker y nociones de contenedores.
Experiencia en CI/CD.
Experiencia o interés en Material UI (MUI): componentes, theming, styled-components, design tokens.
Experiencia en i18next u otras soluciones de internacionalización en React/React Native.
Conocimientos de sistemas operativos desde el punto de vista del desarrollo: Windows, Linux y macOS.
Capacidad para producir código seguro y confiable, evitando bugs, vulnerabilidades y problemas de estabilidad.
#128344; ¿Qué ofrecemos?
Salario: 35.000 - 45.000 € brutos/año.
Trabaja 100% remoto, híbrido o presencial, según prefieras.
Horario: lunes a jueves de 8a.m. a 16:30p.m. y viernes de 8:00a.m. a 14:00p.m. Jornada intensiva en verano (julio y agosto)
Portátil y herramientas de trabajo, tanto software como hardware.
Desarrollo personal y profesional. Aquí no se limita a nadie, nos encantan las personas que suben el nivel del equipo y la empresa.