Para celebrar el día del programador vamos a poner todas las cartas sobre la mesa y a acercar la programación a aquellas personas que no conocen tanto esta parte del mundo tecnológico. Para ello nuestros amigos de Hack a Boss nos hacen un pequeño recorrido por los principales aspectos relacionados con la programación. ¡Vamos allá!
¿Qué es un programador o una programadora?
Dentro del sector de la programación hay diferentes niveles o roles profesionales que dependen de la experiencia de cada persona. Junior, Semi Senior y Senior son palabras que hacen referencia a cada categoría profesional. Como mencionaba, las categorías se rigen por parámetros de experiencia, pero en el ámbito que nos compete, esto es muy relativo.
El sector digital avanza tan rápido que en un abrir y cerrar de ojos la experiencia de un experto programador puede quedar obsoleta. Por eso, en programación estas categorías no son equiparables a las de otros ámbitos profesionales, por eso, vamos a ver sus particularidades.
Junior
Suele considerarse programador junior a aquellos programadores que, en líneas generales, cuenta con estas características:
- Experiencia laboral: de 0 a 3 años de experiencia real en proyectos.
- Conocimientos técnicos: suele requerir acompañamiento o supervisión de un senior.
- Conocimientos básicos: aquellos que se refieren a los procesos, las metodologías, los estándares de una empresa, etcétera.
- Proactividad: al empezar en nuevo trabajo, todos necesitamos orientación a la hora de determinar el proyecto y su desarrollo. Un junior, al acabar la tarea, no sabe tomar la iniciativa y continuar con otra sin preguntar a su supervisor.
Otras características que pueden definir este puesto son la productividad media o baja, la falta de innovación, la dificultad para cumplir con las fechas de entrega o la dificultad para trabajar bajo presión.
Semi Senior
Semi Senior es una categoría profesional intermedia cuyas características podemos definir de la siguiente manera:
- Experiencia laboral: de 3 a 6 años.
- Conocimientos técnicos: suficientes para gestionarse sin acompañamiento.
- Conocimientos básicos: maneja los procesos propios de la empresa con autonomía.
- Proactividad: sabe aprovechar su tiempo de manera productiva sin supervisión constante.
- Su productividad es media.
- No innova lo suficiente por no contar todavía con toda la seguridad necesaria.
- Cumple normalmente con las fechas, aunque puede fallar en ocasiones.
- Trabaja bajo presión, aunque puede frustrarse ante ciertas circunstancias nuevas.
- Interacciona adecuadamente con el equipo: participa y escucha.
Senior
La categoría profesional más alta de un programador sería la de Senior, sin embargo, como ya indicamos, esto es muy relativo y puede variar según las circunstancias. Existe la creencia general de que un programador nunca deja de ser junior: hasta los Senior deben continuar formándose constantemente.
Pero, en general, un Senior cuenta con estas características:
- Experiencia laboral: más de 6 años de experiencia.
- Conocimientos técnicos: es un especialista con grandes conocimientos que no suele cometer fallos.
- Conocimientos básicos: conoce a la perfección los procesos y estándares, los cumple y ayuda a los demás a aprenderlos.
- Proactividad: busca y crea sus propias tareas sin necesidad de que se las asignen.
- No necesita supervisión.
- Cumple con las fechas siempre.
- Trabaja bien bajo presión, se compromete con nuevos retos.
- Participa en decisiones de alto nivel.
¿Qué es front end y back end?
Bien, siendo la programación una moneda, el front end y el back end son las dos caras que componen esa moneda, ahora lo vamos a entender mejor.
En el ámbito de la programación web, la tecnología que se utiliza para diseñar sitios web se clasifica en dos grupos que desempeñan tareas diferentes, pero que están estrechamente relacionadas. Es aquí donde entran en juego los términos front end y back end.
Front end
En el desarrollo web enfocado en front end, los especialistas son editores de código, es decir, se encargan de trabajar directamente sobre el código del que se compone la interfaz de una página web. A través de lenguajes de programación como HTML, JavaScript y hojas de estilo CSS, todas esas líneas de código que veíamos en Matrix se simplifican para que nosotros, los usuarios de a pie, veamos iconos, imágenes o menús desplegables con los que navegar de manera sencilla por un sitio web a través de unos simples clics.
Gracias a las funciones de front end –el lado delantero o frontal, la parte que vemos– se incluyen todos los elementos gráficos como colores, fondos o animaciones que conforman el diseño y estructura de la página, es decir la parte visual.
De esta manera, cosas como <li><a href=»/contact/» class=»nav3″>Contact</a></li>, que nos puede parecer un mensaje secreto de espionaje, se traducen en un menú bonito y funcional que nos permitirá explorar el sitio web en el que nos encontremos (una tienda online, un blog de viajes, una escuela de programación, etcétera).
Back end
Bien, si el front end se encarga de traducir el código a elementos gráficos estéticos y comprensibles para el público general, las tareas de la programación back end se desarrollan entre bastidores, en el lado de las bases de datos y los servidores.
Los programadores dedicados al back end tienen conocimientos específicos de bases de datos y frameworks para que la página se cargue correctamente en los servidores y los usuarios puedan navegar cómodamente, asegurando así buenos niveles de usabilidad e interacción cuyo objetivo es ofrecer la mejor experiencia de usuario posible.
Algunos de los frameworks que se manejan en el back end son Vue.js o React.js, entre otros.
¿Qué es un programador o programadora full stack?
Este perfil corresponde a un programador que trabaja con full stacks —o pilas completas—, y cuyas funciones abarcan la parte del desarrollo front end y back end, es decir, está al frente de todo el proceso que conforma el desarrollo de las aplicaciones web. Además, es quien se encarga de coordinar ambas partes.
Suena bien, ¿no? Pues vamos a ver a continuación qué requisitos son necesarios para convertirse en esta figura omnipotente del desarrollo web.
¿Qué otras soft skills necesita un programador full stack? Sin duda, las más importantes, además de las habilidades de comunicación interpersonal, son la curiosidad natural, la creatividad, el pensamiento lateral y, sobre todo, buenas dotes de gestión del tiempo.
¿Para qué sirve la programación?
Centrémonos en la parte creativa y romántica de la programación. ¿Has pensado alguna vez en ser cupido? Las aplicaciones de ligar están hechas en gran parte por programadores o programadoras. ¿Entrar en un banco sin ser visto? La programación es necesaria para el correcto funcionamiento de los bancos. ¿Te gustaría ser capaz de mover un barco con los dedos? Los sistemas de navegación marítimos necesitan a profesionales de la programación.
Y ahora, en la parte más didáctica y menos poética. La programación se asienta en tres elementos principales que son la creatividad, la lógica y el razonamiento. Partiendo de esa base, cualquier persona puede llegar a programar y también necesitarlo. Sus finalidades son de lo más variadas, aplicaciones científicas, médicas, entretenimiento, gestión de empresas, arte digital y mucho más.
Si te ha gustado la explicación y te está picando el gusanillo de aprender programación, conocer un poco más esta profesión que, además de ser emocionante, está muy demandada actualmente en el sector de las TIC, no te pierdas las bootcamps de Hack a Boss. La Programación es para todos. ¿Te animas?
¡Muchísimas gracias Hack a Boss por este artículo!
Redacción: Verónica Souto
Vídeos: Miguel Rodríguez