Skills que todo programador Junior C# debe tener

C#Una pregunta muy común que me encuentro en los pasillos de mi alma máter, de parte de mis compañeros es que realmente debe saber un programador C# que recién empieza en el desarrollo de software. La mayor preocupación es, que cosas o tecnologías son criticas para el primer empleo y mantenerlo.

Si estas buscando tu primer empleo como programador junior C#, o acabas de conseguir uno, esta entrada te ayudara a tener una visión mas clara, tratando de ser un [patrón de aprendizaje] que podría servir de dirección, sin importar lo que vamos a desarrollar sea aplicaciones web o de escritorio.

Antes de entrar en detalle, necesitamos tener algo claro: [como programador junior, no se espera que lo sepamos todo !! ], todo programador tiene fortaleza en áreas especificas basado en proyectos que ya a trabajado.
Por cada skill al final de cada tema dejare links con recursos que he encontrado en la Internet y considero buenos recursos para aprender, si tu conoces mejores, por favor déjamelo saber y lo actualizare en el articulo.

Skills Fundamentales

Cualquiera que sea el área en la que te quieras enfocar a desarrollar aplicaciones de escritorio o Windows, a continuación algunas cosas que debes saber.

  • Estructuras de datos y Algoritmos
  • Bases de datos (MS SQL Server)
  • ORM (Entity Framework

Estructura de Datos

Si no tienes estudios universitarios, es fuertemente recomendado que al menos dispongamos de un mes y estudiemos estructura de datos y algoritmos. Estos son como el alfabeto del desarrollo de software. Claro !! podemos obviar esta parte y saltar directamente al desarrollo web, pero créeme, hay una gran diferencia entre un programador que ya ha estudiado estructuras de datos y algoritmos y uno que no lo ha hecho. Estas cosas realmente ayudan a pensar como un programador.
Estarías sorprendido de que las grandes compañías como Microsoft, Amazon dedica una parte significante de su entrevista técnica sobre estructuras de datos y algoritmos, no sobre ASP.NET CORE o WPF !! Porque ellos solo quieren ver si tu realmente piensas como programador o no.

Este es un buen libro para iniciarte en el tema:
Data Structures and Algorithms Made Easy

Bases De Datos

SQL Server es la DBMS mas usada por programadores .NET, asegurate de estar familiarizado con los conceptos básicos de las bases de datos relacionales y como crear tablas, vistas y procedimientos almacenados en SQL Srver.
T-SQL es el lenguaje de consulta, asegúrate de saber como hacer SELECT, INSERT, UPDATE, DELETE, JOIN y GROUP BY.

T-SQL Step by Step

O/RMs

Cuando estamos trabajando con una base de datos relacional, podemos usar un Object/Relational Mapper (O/RM) para guardar o consultar objetos en una base de datos, en el ecosistema .NET el mas usado es Entity Framework es el mas usado por todos los equipos.
Getting Started with Entity Framework 7

Desarrollo Web

Desarrollar aplicaciones web es fundamentalmente diferente a las aplicaciones de escritorio ya que las tareas se dividen en dos partes, Front-end y Back-end, pero a su vez los programadores estamos divido en tres grupos:

  • Front-end developers
  • Back-end developers
  • Full-stack developers (estos hacen ambas tareas)

Tu puedes elegir una dependiendo de tu interes, un Full-stack tiene mas oportunidad de empleo sobre los demas.

Programador Front-end

Como programador Front-end deberas estar familiarizado con HTML, CSS y JavaScript como minimo.

HTML es un lenguaje, que se utiliza para construir la estructura de una pagina web. No es un como un lenguaje de programación como C#, este no tiene logica. Usamos CSS para hacer que nuestra pagina se vea bonita. CSS es todo acerca de los estilos (colores, bordes, etc). Y finalmente usamos JavaScript para agregar interacción al sitio web.

HTML5 & CSS Fundamentals on Channel9
Javascript on Code Academy

Programador Back-end

ASP.NET MVC es el framework dominante para desarrollar aplicaciones web sobre un servidor. Como programador ASP.NET MVC, deberíamos tener una familiaridad básica con HTML, CSS y Javascript. Entonces, lo recomendable seria que empecemos con front-end y luego movernos hacia la programación back-end, lo que nos podría hacer un programador full-stack.

Aquí un tutorial completo sobre ASP.MVC

A Step-by-Step ASP.NET MVC Tutorial for Beginners

Programador aplicaciones de escritorio

Si lo que quieres es desarrollar aplicaciones de escritorio para windows,el 99% de los trabajos allá fuera requieren saber XAML, WPF o Windows Forms.

WPF: A Beginner’s Guide

Si eres un programador junior y tienes alguna otra pregunta por favor comenta, y si eres un programador con mucha experiencia y consideras que se me escapo comentar algo, déjamelo saber y lo actualizare el post.

Comments

6s comentarios

  1. Excelente aporte, de esto solo me falta dominar ASP.NET MVC, WFP que va de la mano con XLAM y Entity FrameWork (casi nada). Cuando alcance esos objetivos me lanzaré en la búsqueda del empleo.

    Un buen recurso para aprender rápido y directo al grano y con buenos ejemplos que incluso puedes probar en un IDE de C# online es TutorialsPoint que tiene un sección dedicada a tecnologías de Microsoft donde se pueden aprender estos temas, aquí les dejo el enlace:

    http://www.tutorialspoint.com/microsoft_technologies_tutorials.htm

    Saludos

  2. Esta reseña de habilidades está muy bn para que ustedes se sientan con la confianza de lanzarse detrás de un empleo, yo me como reclutador de desarrolladores les daré las más importantes según mi criterio.

    1. enfoque, 2 paciencia, 3. disposición.

    he contratado developers que poseen un amplio conocimiento del código de programación y los ide, pero carecen de las tres aptitudes personales mencionadas anteriormente y por ello no pueden retener los empleos, sin embargo he contratado otros que no poseen gran conocimiento del código de programación y con enfoque, paciencia y disposición han logrado ser programadores formidables.

    en resumen lo que digo es que deben cultivar esas tres aptitudes, si ve que no las posee no trate de ser developper por que será muy malo y si no es malo, vera que nunca llenara las expectativas del contratante, que en el 100% de las oportunidades solo ve sus resultados y que cumplan con las tres características fundamentales de la información que son: precisa, concisa y a tiempo, si sus resultados no poseen esas características no sirve de nada y su jefe estará insatisfecho.

Dejar una contestacion

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *