24/01/07/9df399ae-7fde-4645-b6dc-de1ebb915ab6_linkedin-photo-1394.linkedin-photo-1394
David Montesdeoca
24/01/07/9df399ae-7fde-4645-b6dc-de1ebb915ab6_linkedin-photo-1394.linkedin-photo-1394

David Montesdeoca

Software Developer

In Madrid, Spain

General information

Introduction

I am a software developer with over 10 years of experience building products for various companies. I am as passionate about it as I was on the first day and am a very curious person who likes to constantly learn new technologies and tools.

Currently, I am looking for a 100% remote full-time position as a full-stack developer with a flexible schedule, preferably in a company that develops its own products.

I am particularly interested in mature agile projects developed using DDD and clean architectures (e.g. hexagonal architecture a.k.a. ports and adapters). I would love to be surrounded by people who know a lot more about these topics than I do and have the opportunity to learn new things every day.

For the right project I am willing to work with any programming language, as long as the company gives me the time required to learn and master it.

I value very positively that the company contributes with the community, with open source projects, technical blog, talks, etc.

Last year, I created my own blog where I talk about stuff that I believe may be interesting to others or that would have been helpful for me to have come across earlier.

My best practices

I always try to write clean, readable, simple and maintainable code; applying design patterns and SOLID principles that I consider relevant in each case. I read as much as I can on those topics to strengthen my knowledge and I try to apply what I learn in both new and legacy code, whenever possible.

I strongly believe it is tremendously important to be consistent in everything we do as a team. Therefore, we must be committed to maintaining coding standards defining style guides, using linters, etc.

The way I see it, the purpose of DRY is not fully understood in our industry, as we usually end up with the wrong abstractions, causing more problems than solutions. And I think that is especially true for tests, where I consider WET (Write Everything Twice) is a better option, easier to understand and to modify if necessary.

The information that can be added to the description of a pull/merge request and a commit is too valuable to overlook. That's why I apply the best practices that have long been described on this post and include the references that helped me to find a certain solution.

Also I consider that doing pair programming can help to create better quality code.

Some of my references in the industry: Sandi Metz, Thoughtbot, Shopify, Martin Fowler, Janko Marohnić, Codely, Evil Martians, Kent C. Dodds, Kent Beck

My skills

Continuous learning
Attention to detail
Team player

Languages

Spanish
Native/Bilingual
English
Fluid

Technologies and tools

I master

  • JavaScript
  • Git
  • HTML
  • CSS
  • Docker
  • Redux
  • Github
  • DynamoDB
  • Redis
  • Grafana
  • Kibana
  • REST
  • ETL
  • WebSockets
  • React
  • Babel
  • DBeaver
  • Capybara
  • YAML
  • Sass
  • Python
  • PHP
  • Ruby
  • Ruby on Rails
  • AWS
  • PostgreSQL
  • MySQL
  • GraphQL
  • Elasticsearch
  • SQL
  • Linux
  • Ubuntu
  • CoffeeScript
  • GitLab
  • AJAX
  • Redux-Saga
  • Golang
  • Bash
  • JSON
  • Gitflow
  • Cucumber
  • Jest

I want to work with

  • JavaScript
  • Git
  • Vue
  • HTML
  • CSS
  • Jenkins
  • Docker
  • Kubernetes
  • Express
  • Redux
  • Kafka
  • Nginx
  • TypeScript
  • NextJS
  • NodeJS
  • Cypress
  • Scala
  • Github
  • Ethereum
  • Prometheus
  • Erlang
  • NoSQL
  • Redis
  • Grafana
  • Kibana
  • REST
  • API
  • SaaS
  • ETL
  • Tailwind
  • Swagger
  • WebSockets
  • Vim
  • WebComponents
  • Vitest
  • Vite
  • Shellscript
  • React
  • PostGIS
  • DBeaver
  • Capybara
  • Jamstack
  • Elm
  • Web3
  • YAML
  • Sass
  • Java
  • Playwright
  • Event Store
  • Deno
  • Python
  • Django
  • PHP
  • Symfony
  • Kotlin
  • Ruby
  • Ruby on Rails
  • Go
  • AWS
  • React Native
  • PostgreSQL
  • MySQL
  • GraphQL
  • MongoDB
  • Elasticsearch
  • SQL
  • Linux
  • MariaDB
  • Cassandra
  • Terraform
  • Ansible
  • RabbitMQ
  • Svelte
  • GitLab
  • Postman
  • Nuxt.js
  • AJAX
  • Redux-Saga
  • Golang
  • TestingLibrary
  • Bash
  • JSON
  • Makefile
  • Serverless
  • Storybook
  • Gitflow
  • Elixir
  • Cucumber
  • Preact
  • nestJS
  • Github Actions
  • Jest
  • Rust
POWERED BYManfred Tech© 2024 Manfred Tech S.L.