Web Developer
5+ years exp
Java
SQL
TypeScript
JavaScript
Kotlin
Active 2 days ago
Invite to interview
Download CVCV
Overview
Technical skills
Timeline
Roles
Overview
Full-stack developer (Junior) focused on Java Spring Boot REST services with pragmatic, hands-on integrations. The strongest proven skill is implementing simple REST endpoints and external HTTP integrations as shown by TriviaController.java and ChatGptClient.java. Public code does not demonstrate production-grade concerns such as secure secret management, migration/version history, caching, retries or observability.
Phone
Technical skills
Languages
5
Java
SQL
TypeScript
JavaScript
Kotlin
DevOps
5
Git
Kibana
Rest API
Jenkins
AWS
Other
17
Spring Boot
Mockito
Angular
JUnit
SonarQube
Oracle
Spring Framework
Spring Data JPA
PostgreSQL
Spring MVC
ElasticSearch
GitHub
Bootstrap
RxJS
ApexCharts
Docker
CI/CD
Timeline
Full Stack Web Developer
•
Middle
Ayesa
•
Full-Time
Developed and maintained the Iberdrola client web platform, contributing to both frontend (Angular) and backend (Java with Spring Boot). Wrote and executed unit and integration tests using JUnit and Mockito, supported functional analysis for new requests, and maintained technical documentation. Participated in CI/CD and quality workflows with Jenkins and SonarQube, and used Kibana for monitoring and error tracing.
Java
Spring Boot
Angular
Rest API
SQL
Git
Jenkins
SonarQube
Kibana
JUnit
Mockito
Full Stack Web Developer
•
Middle
Ayesa
•
Full-Time
Developed and maintained a customer-facing web application for Iberdrola, working on both frontend and backend features. Wrote and maintained unit and integration tests using JUnit and Mockito for backend and Jasmine/Karma for frontend. Participated in functional analysis, created technical documentation in Enterprise Architect, and contributed to continuous quality and deployment using Jenkins, SonarQube, and monitoring in Kibana.
Java
Spring Boot
Angular
Rest API
SQL
Git
Jenkins
SonarQube
Kibana
JUnit
Mockito
Full Stack Web Developer
•
Middle
The Whiteam
•
Full-Time
Developed and maintained Iberdrola customer web functionality in collaboration with Ibermática. Contributed to a platform migration from AngularJS to Angular by building new architecture and UI components, then progressing the stack to newer Angular versions. Implemented backend logic in Java and coordinated automated testing support with JUnit and Mockito.
Java
Angular
Git
JUnit
Mockito
Junior Backend Developer
Confidence: Medium API Engineer
Full-stack developer (Junior) focused on Java Spring Boot REST services with pragmatic, hands-on integrations. The strongest proven skill is implementing simple REST endpoints and external HTTP integrations as shown by TriviaController.java and ChatGptClient.java. Public code does not demonstrate production-grade concerns such as secure secret management, migration/version history, caching, retries or observability.
API Design
3/10
How well APIs are designed
Basic REST controller design is present with ResponseEntity usage and a single error mapping, but lacks versioning, pagination, idempotency, consistent error contracts and API stability considerations.
Evidence
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/controller/TriviaController.java: usage of @RestController, @GetMapping and ResponseEntity with CategoriaNotFoundException handling
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/service/ChatGptClient.java: custom HTTP client used by controller to fetch remote data (no API versioning or robust contract handling)
Data Layer & Database
2/10
Working with databases
Uses JPA entities and Spring Data repositories but shows no migration history, transaction boundaries, isolation choices or hand-tuned queries; data access often loads entire tables and filters in-memory.
Evidence
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/repositorio/PreguntasRepo.java: CrudRepository-based repo
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/dominio/Pregunta.java and Categoria.java: JPA entity annotations
Scalability & Performance
1/10
Handling load and speed
No evident scalability or performance engineering: no caching, no queueing/decoupling, no connection/timeouts tuning or rate limiting; client calls are synchronous and blocking.
Evidence
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/service/ChatGptClient.java: synchronous HttpURLConnection calls with no timeout/backoff
TrivialSpringApp/src/main/resources/static/script.js: client-side fetch() usage that proxies via allorigins, indicating no production caching or CDN strategy
System Architecture
2/10
Overall system structure
Simple monolithic layout with basic separation between controller, domain and thin service client layers; no clear service decomposition, configuration/secret management or graceful degradation patterns.
Evidence
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/controller/TriviaController.java: controller layer
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/service/ChatGptClient.java: service layer implementing TrivialService
Security & Auth
1/10
Protecting data and access
Minimal security posture: API keys are referenced inline/comments, no secrets management, no authentication/authorization, and no input validation at boundaries beyond basic PathVariable use.
Evidence
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/service/ChatGptClient.java: Authorization header placeholder 'Bearer poner aqui la API_KEY de openAI' hardcoded in code/comments
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/controller/TriviaController.java: direct @PathVariable usage without validation
Reliability & Observability
2/10
Stability and monitoring
Very light reliability and observability: basic try/catch and System.out/printStackTrace debugging, one mapped exception to 404, but no structured logging, metrics, timeouts, retries or graceful shutdown handling.
Evidence
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/controller/TriviaController.java: try/catch handling CategoriaNotFoundException and mapping to HTTP 404
TrivialSpringApp/src/main/java/com/infotek/trivial/aplication/service/ChatGptClient.java and .../repositorio/InteligenciaArtificialClient.java: use of System.out.println and e.printStackTrace for error output
Expertise
Java• Junior
Backend AI & LLM• Junior
Technologies
Java• since 2021 • Senior
Kotlin
Rest API• since 2022
Spring Framework
Spring Boot• since 2022
Mockito• since 2021
Spring MVC
Spring Data JPA
Recommendations
- Maintain and extend small-to-medium Spring Boot REST services, adding input validation and unit tests around controllers and services.
- Implement production hardening for existing integrations: move secrets to environment/config, add timeouts, retries with backoff and structured logging to the ChatGpt client.
- Work on data-layer improvements: replace in-memory filtering with repository queries, add migration tooling and write integration tests for DB interactions.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Frontend Developer
Confidence: High App Engineer
Frontend-focused fullstack app engineer (middle) who builds Angular applications with real-time telemetry and SSR integration. The strongest proven skill is building real-time dashboards and services, as shown by the TelemetrySocketService, KpiService and SSR/client hydration configuration. Tests, formal a11y work and measurable performance audits are not evidenced in public code.
UI Component Architecture
5/10
How interface parts are built
Component boundaries show modern Angular patterns (standalone lazy components and shared loader) and service-based separation, but there is no evidence of a custom design system or extensive composition patterns beyond ordinary app structure.
Evidence
shopfloor-live-frontend/src/app/app.routes.ts: lazy-loaded standalone components via loadComponent
shopfloor-live-frontend/src/app/shared/loader/loader.component.ts: shared LoaderComponent
shopfloor-live-frontend/src/app/features/machines/pages/machine-list/machine-list-component.ts: MachineListComponent
Responsive & Cross-browser
2/10
Works on all screens and browsers
Minimal evidence of advanced responsive or cross-browser work; templates contain basic semantic structure but no container queries, RTL, or explicit i18n/feature-detection patterns.
Evidence
shopfloor-live-frontend/src/app/app.html: semantic header/nav/main structure
Performance Optimization
5/10
Speed of the interface
Shows purposeful performance-related choices such as SSR, client hydration, zone change detection tuning and component lazy-loading, but lacks measured optimizations, bundle-analysis artifacts or virtualization patterns.
Evidence
shopfloor-live-frontend/src/app/app.config.server.ts: provideServerRendering(serverRoutes) (SSR config)
shopfloor-live-frontend/src/app/app.config.ts: provideZoneChangeDetection({ eventCoalescing: true }) and provideClientHydration
shopfloor-live-frontend/src/app/app.routes.ts: lazy-loading via loadComponent
Accessibility & Semantics
2/10
Usable for everyone
Little explicit accessibility work is visible; basic semantic markup exists but no ARIA on custom widgets, no focus management patterns or CI a11y tooling found.
Evidence
shopfloor-live-frontend/src/app/app.html: nav links and semantic layout
State Management & Data Flow
5/10
Managing data in the app
Server-state and client flows are split into services, with real-time telemetry and a global loading service plus HTTP interceptors, indicating good discipline for ordinary SPA data flows; however advanced patterns like optimistic updates with rollback, formal request cancellation or state machines are not present.
Evidence
shopfloor-live-frontend/src/app/core/service/loading.service.ts: centralized loading state
shopfloor-live-frontend/src/app/app.config.ts: provideHttpClient configured with functional interceptors (apiKeyInterceptor, loadingInterceptor)
shopfloor-live-frontend/src/app/features/machines/services/telemetry-socket.service.ts: TelemetrySocketService (real-time socket integration; imports SockJS)
UX & Visual Polish
4/10
Look and feel quality
User experience has practical polish components (loader, toast notifications, charts) and loading state handling, but there is limited evidence of comprehensive UX patterns like skeletons, undo, or measured perceived-performance improvements.
Evidence
shopfloor-live-frontend/src/app/shared/loader/loader.component.ts: app-level loader
shopfloor-live-frontend/src/app/app.config.ts: provideToastr configuration for notifications
shopfloor-live-frontend/src/app/features/machines/pages/dashboard-component/dashboard-component.ts: dashboard likely using charts (ng-apexcharts dependency)
Industries
Manufacturing• Junior
Technologies
JavaScript
TypeScript• since 2025 • Junior
RxJS
Kibana• since 2022
Angular• since 2021
CI/CD
Bootstrap
Jenkins• since 2022
Git• since 2021
AWS
Docker
ApexCharts
GitHub
Recommendations
- Develop real-time dashboard features and telemetry-driven user interfaces for manufacturing or industrial applications.
- Integrate and extend Angular SSR and hydration flows for multi-page dashboards with lazy-loaded components.
- Implement end-to-end observable state flows with formal request cancellation and optimistic update patterns for interactive UIs.
- Add automated accessibility checks and unit/e2e tests to raise engineering maturity.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
