¿Qué habilidades necesitas para ser un desarrollador de C # centrado en el back-end?

En la pila ASP.NET, aprovechará muchas más oportunidades mordiendo la viñeta para convertirse en un desarrollador de pila completa. En algunas aplicaciones ASP.NET, el código de front-end y back-end están estrechamente entrelazados y no necesariamente requieren conocimiento o uso de ningún framework de JavaScript. Es decir, algunas aplicaciones están limitadas a formularios HTML con un poco de jQuery espolvoreado para un mínimo de usabilidad. Pero esas son en gran medida “aplicaciones de juguete” que no son públicas (por ejemplo, como aplicaciones internas que se usan solo dentro de una organización y, por lo tanto, tienen una barra mucho más baja para la experiencia y el rendimiento del usuario).

Mi preferencia, si alguna vez tuviera que tomar otro concierto ASP.NET, sería construir una API RESTful elegante usando la API web de Microsoft (que es realmente bastante atractiva en comparación con lo que he usado en Rails / PostgreSQL o Python / GCP) liderado por un repositorio de fuente web independiente y desconectado utilizando uno de varios marcos JavaScript. Menciono esto porque trabajar estrictamente en el código de back-end utilizando la API web de Microsoft podría ser un ángulo de especialización para usted. Además, necesitaría conocer la herramienta ORM seleccionada por dentro y por fuera, ser experto en migraciones de esquemas, ser experto en implementar en la nube de Azure, ser experto en SQL Server (o alguna otra base de datos relacional a prueba de balas) y estar bien. estudió los pros y los contras de varias bases de datos de documentos como RavenDb y similares.

Prefiero encarecidamente que los desarrolladores de full-stack se unan o consideren la contratación, porque descubrí que uno informa al otro de manera inesperada. En mi experiencia, tener desarrolladores front-end y backend exclusivos ralentiza el desarrollo de productos. Nunca seguiría ese modelo si estuviera arrancando un producto con mi propio dinero.

Pero si estás empeñado en hacer SOLAMENTE programación de back-end con ASP.NET, entonces ser un desarrollador de API Web crack es una posible vía, pero será mejor que seas sobresaliente o te costará encontrar un trabajo atractivo .

Creo que, principalmente, es importante tener en cuenta qué problemas suelen ser los más grandes y más generalizados en las bases de código de fondo. A menudo, estos problemas pueden ser triviales para evitar si simplemente los conoce y ha aprendido alguna práctica de diseño (o metodología de trabajo) que los mitiga.

Si alguien le pidió que construyera un automóvil, existen infinitas formas de combinar piezas para terminar con algo parecido a un automóvil, pero fuera de esta flexibilidad infinita, existe un subconjunto mucho más pequeño de ideas de diseño y construcción que crean el resultado objetivamente mejor. .

¿Cómo aprende qué problemas principales son comunes? Ya sea leyendo sobre ellos en un libro o publicación de blog, o (más probablemente) observando los errores de otras personas en una base de código, a medida que se desliza para ser el último desarrollador en algún proyecto a largo plazo.

Siempre que vea el código de otra persona, en el primer plano de su mente debe estar la conciencia / análisis de qué errores (quizás sutiles) están presentes. Si no puede ver cómo se puede mejorar el código antiguo, entonces no está creciendo como desarrollador de software.

Siempre tenga ese radar encendido para lo que es tonto, qué estilo es demasiado complicado, qué orden es ilógico, qué agrupamiento crea algo poco intuitivo, qué denominación es confusa, qué suposiciones no son razonables, dónde la encapsulación simplificaría las cosas, etc.

Tan pronto como se dé cuenta de que ignora lo que representa una buena solución para algo, ¡investigue la respuesta! Internet está lleno de soluciones de código y bibliotecas gratuitas para resolver problemas comerciales comunes. Reinventar la rueda es una pérdida de tiempo.

Es esta conciencia de lo que no funciona y de las buenas soluciones disponibles, lo que le permite asumir de manera confiable tareas de lógica empresarial más complejas.

Quora User y Sam Fogarty han dicho todo, entre ellos, que yo diría.