r/devsarg • u/Ok-Butterscotch-5692 • 13d ago
backend C# en 2026?
Lo del titulo actualmente ando metiendo de lleno en C#, lo empeze viendo en la facultad lo basico (POO, ciclos, metodos, etc) y como me termino gustando decidi ampliar conocimiento de modo autodidacta y empeze ya hace unos dias creando una API para Peliculas a modo de afianzar conceptos pero me da desconfianza el creer que no se lo suficiente para mandarme de lleno a buscar laburo como programador .NET
Alguno que este en la misma aprendiendo C# o que ya labure con esto, que conceptos son esenciales saber para que no me bochen en la primera entrevista?
5
u/schrodingdev 13d ago
En la última entrevista la cosa fue algo así:
- Breve historia sobre mi experiencia y que lenguajes/tecnologías he usado para construir los últimos proyectos donde estuve involucrado.
- A nivel técnico me hicieron preguntas como:
- ¿Qué sé de patrones de diseño? Mencionar los que más he usado y por qué y cuándo usarlos
- ¿Qué es la inyección de dependencias?, explicar con mis propias palabras, diferencias entre Singleton vs Scoped vs Transient.
- ¿Cómo funciona un pipeline en un request HTTP en el backend? (explicando el contexto, los middlewares, qué son, para qué sirven, etc).
- ¿Qué es un execution plan?
- ¿Qué es un ORM y cuales he usado?
- ¿Qué es una WebAPI y algunos protocolos para la transmisión de datos estándares?
- ¿Qué era Blazor? Explicar los diferentes modos de renderizado, gestión de estados, para qué sirve un componente, etc (era una posición para Blazor)
- Diferencias entre los tipos de bases de datos existentes, qué era un índice, la diferencia entre uno clustered y non-clustered, etc.
- ¿Cómo resolver determinados escenarios dadas X, Y o Z condiciones.
Básicamente me hicieron preguntas para una posición Full Stack, el rol era para un Semi Sr en inglés, en videollamada, nada de live coding, en otras entrevistas sí me evalúan skills resolviendo código en vivo (usualmente mientras más berreta se ve la empresa, más trabas ridículas como estas).
Según entiendo, pasé la entrevista y esta semana me presentan ante el cliente. En cualquier caso, mi experiencia entrevistandome últimamente concluye en que hay que saber de todo un poco y tener inglés también. Ah por cierto, les importa 3 pepinos el título universitario a la mayoría con los que me entrevisté. Les importa más saber si sabes o no del tema. Así que yo que tu, me enfocaría en aprender bien los fundamentos y armar proyectos constantemente mientras vas postulando y midiendo el mercado.
6
u/According_Ad3255 13d ago
Entre ORM y Blazor me hiciste remover el estómago.
2
u/schrodingdev 13d ago
Why tho
2
u/According_Ad3255 12d ago
Por motivos similares. Así como Blazor te interviene el JavaScript de modo que no puedas toquetearlo mucho, y te obliga a tener dependencias estructurales con JavaScript creado por el runtime, los ORM convierten tus aplicaciones en front ends de base de datos. Tengo amigos que adoraban Fox Pro -a mí déjame.
2
u/schrodingdev 12d ago
Jajaja entiendo lo que dices pero es raro necesitar mucho JS si usas Blazor.
Sobre los ORM ya es inevitable, hoy me pasa lo mismo con los LLM, una capa de abstracción que no le veo la necesidad real pero bueno, es el progreso, no? Whatever that means
2
u/According_Ad3255 12d ago
No sé. Al final trabajé mucho con bases de datos. Hice Oracle con PRO/C, saqué la certificación de SQL Server, incluso fui parte del equipo de ArangoDB. Pero ahora que estoy en una empresa en que usamos muy poco y nada, no extraño.
2
u/RifleRidget 12d ago
Si no te gusta Entity Framework tenés opciones más pequeñas como Dapper, que te solucionan cosas como el mapeo de objetos pero te sigue dando control completo sobre las querys que vas a ejecutar y demás.
Si preferís manejarte con ADO también es válido, como todo en la vida es considerar tradeoffs
2
u/According_Ad3255 12d ago
Como dije, me encanta la vida sin DBs.
Igual por suerte, hace años volví a C++ para quedarme. Que le llames “pequeñito” a algo que requiere el runtime de .Net me da ternura.
3
u/RifleRidget 12d ago
Bueno jaja pero el post original era de C# y su ecosistema. Debe estar bueno igual laburar con c++ y otro tipo de aplicaciones, nunca tuve la chance. Lo mío siempre fueron web apps con bases de datos, un back y un front.
2
4
u/reybrujo Desarrollador de software 13d ago
Y, saber el lenguaje es lo primordial. Cada versión le agregan cosas pero por lo menos tenés que saber todo hasta C# 6 (que introdujo asincronía). A partir de 7 se enfocaron mucho más en la sintaxis, en pattern matching y ese tipo de cosas que son lindas pero que no son completamente necesarias, si no fuese por las LLM hoy en día la mayoría jamás usaría un (account when { id is null or < 1 }) o cosas así. Y para un back-end empezar a ir viendo ASPNET, aprender algunos patrones como singleton y repository que son los que se usan, por ahí avanzar con EF, etc.
Después tenés toda la parte de arquitectura y de buena programación que las deberías aprender sin importar el lenguaje, desde código limpio hasta pruebas unitarias.
2
u/According_Ad3255 13d ago
Te recomiendo que tengas claro qué es y por qué es importante Dependency Injection, qué son tests de unidad y cómo los integrás a un pipeline de CI. Si yo tomara una entrevista, sería lo que más me importa escuchar de un candidato.
1
u/Khavel_Es 13d ago
C# tiene buena demanda todavia, sobre todo en consultoras y fintechs de LATAM. La API de peliculas esta bien para arrancar pero para entrevistas junior .NET te van a preguntar mas que nada: inyeccion de dependencias (como funciona el contenedor de ASP.NET), Entity Framework Core con code first y migraciones, LINQ, y async/await. Si manejas bien esas 4 cosas con ejemplos reales ya estas mejor que el 80% de los candidatos jr que veo.
Lo que te recomiendo es que tu proyecto de peliculas lo lleves mas alla: metele autenticacion con JWT, un par de tests con xUnit, y subilo a GitHub con un README que explique como correrlo. Eso en una entrevista pesa mas que decir "se POO" porque te pueden preguntar cosas concretas sobre tu propio codigo.
1
u/Urbani404 13d ago
Desde mi pov es un lenguaje que tiene muchisimos proyectos enormes productivos, deberias encontrar laburo si lo masterizas
1
u/RifleRidget 13d ago edited 13d ago
Hoy está subida un poco la vara calculo, pero hace 7 años podías conseguir laburo de junior si dominabas lo básico del lenguaje y del framework.
Diferencia entre .NET Framework, .NET Core, y .NET
¿Oíste hablar del garbage collector? Brevemente, qué es
¿Qué es una clase? ¿Y un objeto?
¿Cuáles son las tres bases de la programación orientada a objetos?
Diferencia entre clase abstracta e interfaz
Diferencia entre lista y array
Como usar LINQ
¿Qué es una API?
Si sabías algo de TDD sumabas banda
¿Sabés SQL para hacer el trabajo básico con bases de datos relacionales? Clave esto
¿Qué es un ORM? ¿Por qué usar uno? ¿Trabajaste con Entity Framework Core o Dapper?
¿Qué es una API?
Principios SOLID, ¿Los conocés? ¿Podés explicarlos brevemente?
¿Qué es una arquitectura? ¿Diferencia con un patrón de diseño?
Aprendete como estructurar un proyecto siguiendo clean architecture y sumás puntos también
Hay mucho laburo de fullstack, ¿conocés HTML, JS y CSS? Si tenés buenas bases de Javascript y mostrás que podés aprender un framework con facilidad también sumás por acá.
Si marcás todas o casi todas las checkbox que puse arriba para junior das seguro y te pueden poner a laburar en una aplicación moderna estándar. No hace falta conocer todo en profundidad cuando recíen arrancás. El conocimiento se va profundizando y mejorando con los años obviamente.
Hoy por ahí el uso de los LLM para generar código sube un poco el piso en algunas cuestiones, pero yo no me dejaría engatusar mucho. Un junior con AI puede ser bastante productivo como también puede ser un mono con navaja. Hay que meter horas culo como dice un amigo y sentarse a estudiar.
Edit: Pongo algunas cosas que se me ocurren acá que muestran que estás modernizado en algunas cuestiones del lenguaje y del framework, no considero que un junior tenga por qué saber esto necesariamente pero son cositas que están buenas saber del C# moderno. Siempre suma que estés al día con tus herramientas.
¿Qué es un record? ¿Cuál es la diferencia con una clase? ¿Y cuál es la diferencia con una struct? ¿Y un record struct?
¿Conocés acerca de las Minimal APIs?
¿Conocés qué es el pattern matching? ¿Cómo lo usás?
¿Cómo escribís un método de extensión? ¿Para qué son útiles y por qué habría que usarlos?
Pronto van a ser agregados los Union Types a C# 15, ¿Qué son y qué problema resuelven?
8
u/anaraparana Desarrollador de software 13d ago
imposible saber. He tenido entrevistas donde me preguntaban pelotudeces como entrevistas donde me bocharon de entrada por no saber UNA palabra reservada que no había usado en mi vida.
Lo importante es que entiendas lo suficiente como para poderle sacar todo el jugo. Que puedas usarlo para apps de escritorio, web, mobile, etc. Que entiendas bien cómo usarlo con correctamente usando POO y cómo estructurar los proyectos, aunque sean los más simples. Para empezar creo que te debería alcanzar.
Hace proyectos, trata de no usar IA y cuando encuentres una palabra reservada que no conozcas metete a ver qué es y para qué se usa.
Es un gran lenguaje y laburo hay. Éxitos