¿Necesitas un programador?

Mi nombre es Albert Capdevila y
soy programador .Net freelance.


Programador freelance Barcelona .net
"La simplicidad es pre-requisito para la fiabilidad"

Edsger W. Dijkstra

Subscríbete a la newsletter

Formulario de subscripción

¿Cómo puedo ayudarte?


  • Programo aplicaciones orientadas a la gestión, pero también realizo migraciones de datos, integraciones con aplicaciones externas, conectores, servicios, bases de datos, etc.
  • Participo y conozco el ciclo de vida completo del software.
  • Durante la fase de creación tomo requerimientos, propongo soluciones y presento estimaciones al cliente, explicando pros y contras y permitiendo escoger la mejor opción.
  • Durante las primeras fases de desarrollo diseño la arquitectura, la infraestructura, el funcional y la base de datos.
  • Soy capaz de entregar soluciones económicas que se adaptan a las necesidades del cliente.
  • Me encanta resolver problemas buscando la solución más simple. Conozco y aplico principios de programación y patrones de diseño y los adapto según las necesidades.
  • Puedo definir los mecanismos de entrega del software y configurar y adaptar los sistemas para su funcionamiento.
  • Me gusta trabajar en equipo y transmitir todo el conocimiento adquirido. Así mismo estoy ávido de nuevos conocimientos y me siento en un continuo proceso de aprendizaje.
  • Trabajo en remoto desde El Masnou (BCN), pero puedo desplazarme puntualmente si el proyecto lo requiere.

Certificaciones

Lenguajes, tecnologías, frameworks y bases de datos en los que tengo experiencia

Lenguajes:
C#, VB.net, Tranasct-SQL, javascript, CSS, HTML
Frameworks:
.net Framework, .net Core, MVC, RazorPages, WebForms, WinForms, WPF, Xamarin, Entity Framework, WCF, jQuery, Bootstrap
Bases de datos:
SQL Server, Access
IDE:
Visual Studio, Visual Studio Code
Nube:
Azure (AppServices, SQLAzure, Bus), Máquinas virtuales, Hosting compartido
Código:
patrones de diseño, principios de programación, código limpio (SOLID), programación orientada al dominio DDD
Certificaciones:
MCPS: Microsoft Certified Professional, MCSA: Web Applications, MCSD: App Builder, MS: Programming in HTML5 with JavaScript and CSS3, MCSD: Web Applications, Microsoft .NET Fundamentals (C#)

Últimas entradas del BLOG


Controla la calidad de tu código con NDepend

NDepend

Como freelance, la calidad del código que entrego es algo primordial para mí. El aprendizaje continuo y la intuición son los métodos que utilizaba hasta ahora para lograrla, pero gracias a NDepend cuento con una herramienta que aporta datos objetivos sobre la calidad de mi código.

Y lo que se puede medir, se puede mejorar.


leer más

Código limpio: el switch es código sospechoso

sospecha cuando utilices un switch


Cuando un cliente me explica una funcionalidad suele utilizar frases del tipo 'si tenemos esta situación entonces haz X, pero si es esta otra haz Y'. Uno de los reflejos inmediatos es intentar plasmar esta misma lógica en el código utilizando cláusulas switch.

En este post voy a explicar por qué debes sospechar de los switch de tu código y que puedes hacer para minimizarlos.


leer más

Tutorial para instalar Let's Encrypt en Azure

Guardi de seguridad


Tener un certificado ssl en tu web es a día de hoy imprescindible. Hasta ahora los certificados que había instalado a mis clientes y/o en mis proyectos los había comprado, pero desde que apareció Let's Encrypt es posible conseguir certificados ssl gratuitos.

Aquí te dejo un tutorial de los 6 pasos que he seguido para instalar el certificado Let's Encrypt en este blog, que está hospedado en Azure.


leer más


Lecturas recomendadas sobre c# y .net · marzo 2020


lecturas recomendadas sobre c# y .net de enero


Aquí os dejo las lecturas del mes de marzo. Ninguna de ellas habla del COVID-19 ;)

1. Timeout for Functions · Bernhard Hiller

¿Necesitas que una de tus funciones tenga un tiempo límite? Aquí tienes un ejemplo de cómo implementarla. Solo necesitas tres items: una función que ejecutar, un timeout de la función y otra función que ejecutar cuando se cumpla el timeout.

2. C#: Why You Should Prefer the is Keyword Over the == Operator ·  Thomas Claudius Huber

A partir de ahora, cuando quiera saber si un objeto es nulo utilizaré el operador "is".

3. Simplifying Parameter Null and Other Checks with the GuardClauses Library · Jason Roberts

No sé porqué este tipo de librerías no son más conocidas y utilizadas. Son una gran herramienta para proteger tu código y te permiten eliminar mucho código duplicado. Aquí tienes un artículo que muestra su utilidad. 

4. Event Driven Programming in C# · Jordan Lee

Este artículo explica como usar el patrón Publisher-Subscriber para acoplar las acciones de un servicio a otro. El ejemplo práctico que utiliza es un servicio cuyo objetivo es crear un Log de los resultados de otro servicio. 

5. C# Design Patterns – Facade · Code Maze

Un buen ejemplo de la utilidad que tiene el patrón Facade.

6. Working with Expression Trees in C# · Alexey Golub

Las Expression Trees son una herramienta poderosa que pocos programadores conocen. Aquí tienes un artículo fantástico con ejemplos teóricos y prácticos sobre el uso de esta clase. 

7. Discerning and maintaining purity · Mark Seemann

¿Se puede saber si un método es puro mirando su firma? ¿Qué podemos hacer para mantener los métodos puros a lo largo de la vida útil de una aplicación?

8. Easily Creating Windows Services with Topshelf · InspGadget99

Si quieres crear un servicio de Windows lee este artículo, contiene varios ejemplos de Servicios de Windows con diferentes funcionalides.

9. Modular Monolith: Architecture Enforcement · Kamil GrzybeK

Cuando se trata de hacer cumplir la arquitectura disponemos de tres herramientas: compilación, test automatizados y revisiones de código. ¿Cómo pueden ayudar cada una de estas tres herramientas a cumplir la arquitectura de una aplicación?

10. ASP.NET Core Guide for ASP.NET Framework Developers · Cesar Aguirre

Este artículo muestra las diferencias entre los proyectos hechos con ASP.Net Framework y ASP.Net Core. Útil tanto si empizas a trabajar con ASP.Net Core como si ya lo conoces. Refrescar las diferencias me ayuda a asentar conceptos.

Quizá algun día empiece a enviar una newsletter, si te gustaría recibirla subscríbete aquí

Archivo