Nicolás Vegas

View projectsGitHub repository stars

Software engineer · High-volume systems · AI-assisted development

I like understanding how things work under the hood and solving problems pragmatically.

Photo of Nicolás Vegas

What I bring

  1. Problem analysis.

    • I study the impact and the alternatives to propose a pragmatic solution.
  2. Resilient systems.

    • Failures will happen. I anticipate them and design so the system withstands them.
  3. Maintainability.

    • I care that the system can still be changed two years from now, without adding complexity it does not need yet.
  4. Teamwork.

    • Good software is built by teams. I share what I learn, including through pills and labs.

Journey

  1. Tenerife

    I studied Computer Engineering.

    During my internship at Lean Mind I learned DDD, architecture and TDD, and applied them in my thesis: a web tool for running transport optimization algorithms.

    Read my thesis →

    Universidad de La Laguna · B.Sc. Computer Science & Engineering –

  2. Tenerife

    I worked on a KPI platform and its visualizer.

    Scheduled asynchronous jobs, with SQL data ingestion, and interactive dashboards for executives.

    Bitbox · Software Engineer · International retail –

  3. Madrid, remote

    I moved to banking to specialise in intensive data processing.

    Development of a platform for managing claims and calculating risk reports.

    Inetum · Software Engineer · Central banking –

  4. Tenerife

    I joined Lean Mind as a senior software engineer.

    Development of asynchronous electronic invoicing jobs and cross-platform cryptographic libraries.

    Lean Mind · Senior Software Engineer – Present

What I know

  1. Backend

    • Beyond CRUD: high concurrency, asynchronous systems, data processing with scheduled jobs, authentication and authorization, with failure handling designed in.
    • Java
    • Spring
    • Spring Batch
    • Python
    • Node
    • .NET
    • C++
    • RabbitMQ

    1,000,000records in 5 minutes

    File reading and selective writes, in batches of 1,000 records. The pattern illustrates batch processing.
  2. Frontend

    • I build interfaces end to end: state management, request caching, protected routes and pagination.
    • TypeScript
    • React
    • React Native
    • Redux
    • TanStack Query
    • UX/UI… that's where it gets hard

    ≈10 s to ≈2 sless waiting for pages to load

    Illustrative diagram: the first visit to a screen waits for its requests; later visits reuse the saved responses and take less time.
  3. Databases

    • I design for volume when the problem calls for it: indexes, partitioning and referential integrity within each database.
    • PostgreSQL
    • Oracle
    • MongoDB
    • S3
    • Object storage

    +100K to 4PostgreSQL pages read to find 1 row among 10 million

    Without an index, the query reads every table page. With one, it walks three index levels to the page that holds the row, reads that page and takes the row from it.
  4. Infrastructure

    • I understand how my code reaches production: pipelines, images, deployments on Kubernetes and AWS, and failure diagnosis.
    • Kubernetes
    • OpenShift
    • ArgoCD
    • Docker
    • GitHub Actions
    • Jenkins
    • AWS
    • Graylog

    0 downtimewhen deploying a new version

    A two-replica Deployment moves from version 1 to version 2: each new pod starts and, only once it is healthy, an old one is removed.
  5. AI

    • AI is part of how I develop: coding assistants, skills and specialized agents.
    • Claude Code
    • Codex
    • Copilot
    • Agentes
    • Skills

    Guardrailsin every agent's memory, not just in one repository

    Illustrative diagram: Claude Code and Codex start from my rules, work at the same time and their work ends in my review.