Mediabistro logo
job logo

Photon is hiring: API Developer - Plano, TX in Dallas

Photon, Dallas, TX, United States


Senior Java Spring Boot Developer

We are seeking an experienced Senior Java Spring Boot Developer to join our team in designing and building next-generation, microservices-based solutions. You will play a critical role in the entire software development lifecycle, from domain modeling and architecture to coding, testing, and deployment. If you excel at tackling complex technical challenges, value high-quality code, and thrive in a fast-paced, agile environment, we'd love to have you on board.
Key Responsibilities

Architecture & Design
Lead the design and implementation of microservices using Spring Boot and other Spring technologies (Spring Data, Spring Cloud, Spring Security, etc.).
Apply Domain-Driven Design (DDD) principles to define bounded contexts, ubiquitous language, and domain models that align with business capabilities.
Collaborate with cross-functional teams (Architects, DevOps, QA, Product Owners) to ensure scalable, resilient, and maintainable solutions.
Hands-On Development

Write clean, efficient, and testable Java code following best practices and coding standards.
Implement RESTful APIs (Level 2 or Level 3) with robust data contracts, versioning strategies, and error-handling conventions.
Build and maintain unit, integration, and end-to-end test suites, ensuring high code coverage and reliability.
Performance & Reliability

Analyze system performance and optimize application code, database queries, and resource utilization to meet SLAs.
Utilize caching, messaging, and other architectural patterns (e.g., Circuit Breaker, Retry) for fault tolerance and high availability.
Continuous Integration / Continuous Delivery (CI/CD)

Integrate code into CI/CD pipelines (Jenkins, GitLab CI, or Azure DevOps) for automated builds, tests, and deployments.
Collaborate with DevOps engineers to containerize services using Docker and manage deployments with Kubernetes or similar orchestration tools.
Collaboration & Leadership

Participate in agile ceremonies (daily stand-ups, sprint planning, retrospectives), providing technical leadership and insights to the team.
Proactively identify risks, bottlenecks, and technical debt, proposing innovative solutions to maintain project momentum.
Documentation & Knowledge Sharing

Maintain clear and comprehensive documentation of code, architecture, design decisions, and domain models.
Share knowledge and promote a culture of continuous learning and improvement within the engineering team.
Qualifications

Education & Experience

Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field (or equivalent practical experience).
810+ years of professional software development experience, with a strong focus on Java (Java 8+).
5+ years working with Spring Boot in microservices architectures.
Technical Expertise

Proven experience in Domain-Driven Design (DDD), including the ability to define bounded contexts and domain models effectively.
Strong knowledge of RESTful API development, JSON/XML payloads, and API versioning best practices.
Experience with Spring Data JPA, SQL/NoSQL databases, and best practices for data persistence and caching.
Familiarity with cloud services (AWS, Azure, GCP) and container technologies (Docker, Kubernetes) is a plus.
Hands-on experience with CI/CD tools and processes, as well as test-driven development (TDD) and behavior-driven development (BDD) methods.
Soft Skills

Excellent communication and collaboration skills, able to articulate technical concepts to both technical and non-technical stakeholders.
Strong problem-solving and analytical skills, with the ability to handle complex tasks and troubleshoot effectively.
A leadership mindsetcapable of mentoring team members, driving best practices, and influencing architectural decisions.
Bonus Skills

Experience with event-driven architectures (RabbitMQ, Kafka).
Advanced knowledge of observability (monitoring, logging, tracing) and performance tuning at scale.
Familiarity with security best practices (OAuth2, JWT, encryption, etc.).
Compensation, Benefits and Duration

Minimum Compensation: USD 44,000Maximum Compensation: USD 156,000Compensation is based on actual experience and qualifications of the candidate. The above is a reasonable and a good faith estimate for the role. Medical, vision, and dental benefits, 401k retirement plan, variable pay/incentives, paid time off, and paid holidays are available for full time employees. This position is available for independent contractors. No applications will be considered if received more than 120 days after the date of this post.



En Español: Desarrollador Senior de Java Spring Boot

Buscamos un desarrollador de arranque de Java Spring con experiencia para unirse a nuestro equipo para diseñar y construir soluciones basadas en microservicios de próxima generación. Usted desempeñará un papel crítico en todo el ciclo de vida del desarrollo de software, desde el modelado de dominio y la arquitectura hasta la codificación, pruebas y implementación. Si sobresale en abordar desafíos técnicos complejos, valora código de alta calidad y prospera en un entorno rápido y ágil, nos encantaría tenerlo a bordo. Responsabilidades clave

Arquitectura & Diseño Lidera el diseño y la implementación de microservicios utilizando Spring Boot y otras tecnologías de Spring (Datos de primavera, Cloud de Primavera, Seguridad del primavera, etc.). Aplique principios de Diseño impulsado por dominios (DDD) para definir contextos limitados, lenguaje omnipresente y modelos de dominio que se alineen con las capacidades empresariales. Colaborar con equipos interfuncionales (Arquitectos, DevOps, QA, Product Owners) para garantizar soluciones escalables, resilientes y mantenibles. Desarrollo práctico.

Escribir código Java limpio, eficiente y testable siguiendo las mejores prácticas y estándares de codificación. Implementar APIs RESTful (nivel 2 o nivel 3) con contratos de datos sólidos, estrategias de versión y convenciones de manejo de errores. Construir y mantener unidades, integración y conjuntos de pruebas de extremo a extremo, asegurando una alta cobertura y fiabilidad del código.

Analizar el rendimiento del sistema y optimizar el código de aplicación, las consultas de la base de datos y la utilización de recursos para cumplir con los SLA. Utilice el almacenamiento en caché, mensajería y otros patrones arquitectónicos (por ejemplo, Circuit Breaker, Retry) para la tolerancia a fallos y alta disponibilidad. Integración continua / entrega continua (CI / CD)

Integrar el código en las tuberías de CI/CD (Jenkins, GitLab CI o Azure DevOps) para edificaciones, pruebas y implementaciones automatizadas. Colaborar con ingenieros de devOps para contener servicios utilizando Docker y administrar implementaciones con Kubernetes o herramientas de orquestación similares. Colaboración y liderazgo

Participar en ceremonias ágiles (stand-ups diarios, planificación de sprints, retrospectivas), proporcionando liderazgo técnico e información al equipo. Identificar proactivamente riesgos, cuellos de botella y deuda técnica, proponiendo soluciones innovadoras para mantener el impulso del proyecto. Documentación y Compartir conocimientos

Mantener una documentación clara y completa del código, la arquitectura, las decisiones de diseño y los modelos de dominio. Compartir conocimientos y promover una cultura de aprendizaje continuo y mejora dentro del equipo de ingeniería.

Educación y experiencia

Licenciatura o Maestría en Ciencias de la Computación, Ingeniería de Software o un campo relacionado (o experiencia práctica equivalente). 810+ años de experiencia profesional en desarrollo de software, con un fuerte enfoque en Java (Java 8+). 5+ años trabajando con Spring Boot en arquitecturas de microservicios.

Experiencia comprobada en el diseño impulsado por dominios (DDD), incluida la capacidad de definir contextos y modelos de dominio limitados de manera efectiva. Conocimiento sólido del desarrollo de API RESTful, cargas útiles JSON/XML y las mejores prácticas de versión de API. Experiencia con Spring Data JPA, bases de datos SQL/NoSQL y mejores prácticas para la persistencia y almacenamiento en caché de datos. Familiarización con los servicios en la nube (AWS, Azure, GCP) y las tecnologías de contenedores (Docker, Kubernetes) es una ventaja. experiencia práctica con herramientas y procesos CI/CD, así como métodos de desarrollo basados en pruebas (TDD) y desarrollo basado en comportamiento (BDD).

Excelentes habilidades de comunicación y colaboración, capaz de articular conceptos técnicos tanto a las partes interesadas técnicas como a las no técnicas. Fuertes habilidades para resolver problemas y análisis, con la capacidad de manejar tareas complejas y solucionar problemas de manera efectiva. Una mentalidad de liderazgo capaz de asesorar a los miembros del equipo, impulsar las mejores prácticas e influir en las decisiones arquitectónicas.

Experiencia con arquitecturas basadas en eventos (RabbitMQ, Kafka). Conocimiento avanzado de observabilidad (monitoreo, registro, rastreo) y ajuste de rendimiento a escala. Familiarización con las mejores prácticas de seguridad (OAuth2, JWT, cifrado, etc.). Compensación, beneficios y duración

Compensación mínima: USD 44,000Compensación máxima: USD 156,000La compensación se basa en la experiencia y las calificaciones reales del candidato. Lo anterior es una estimación razonable y de buena fe para el puesto. Los beneficios médicos, visuales y dentales, plan de jubilación 401k, incentivos variables, tiempo libre pagado y vacaciones pagadas están disponibles para los empleados a tiempo completo. Este puesto está disponible para contratistas independientes. No se considerarán solicitudes si se reciben más de 120 días después de la fecha de este puesto.