Mi madre me pidió el otro día que le dijera a Ironhack que creen un curso para que las madres puedan explicar a qué se están dedicando sus criaturas durante el bootcamp. Supongo que lo habrá pasado mal en la feria cada vez que tenía que contarle a alguien en qué locura se había metido su hijo esta vez.
Como veo poco factible que Ironhack haga algo así, y como hoy es el día de la madre, he decidido que le voy a dedicar este post a la mía explicándole a qué me dedico tan lejos de casa durante todas esas horas al día.
Lo esencial
Un desarrollador web es el responsable de decirle a a una página web cómo funcionar.
Pues sí mamá, básicamente es eso. Probablemente te preguntes cómo. Pues con un montón de lineas llenas de frases en lenguajes inventados por el demonio. Y no siempre tienen tantos colorines como en la foto de abajo.
Con todas esas líneas tan coloridas al final lo que hace el programador es decirle al ordenador que responda haciendo algo cuando suceden ciertas cosas.
Por ejemplo, cuando metes tu usuario y contraseña en el correo electrónico, detrás ha habido un programador que ha escrito un puñado de líneas que se aseguran de que tú eres tú y que luego te llevan a tu bandeja de entrada.
Además, el desarrollador se encarga de colocarlo todo de manera que todo quede bien ordenadito y limpio, para que cuando llegue otro programador a ese código sea capaz de entender qué quería decir el creador.
Y también para que cuando haya que hacerle cambios (que al final siempre hay que hacerlos), las posibilidades de que se rompa algo no sean tan grandes.
Al final un programador web se encarga de hacer y mantener páginas web usando lenguajes de programación. Eso ya lo tienes claro ¿no? Pero... ¿Para quién hacemos todo esto? Pues puede ser...
- Una gran compañía tecnológica ya asentada. Un Google o Facebook, por poner un par de ejemplos que te suenen.
- Una Startup. ¿Lo qué?. Esa palabreja se refiere a una empresa pequeñita-mediana que está medio empezando, no tiene todavía muy claro qué está haciendo y que suele estar relacionada con cosas de tecnología. Crea su propio producto como puede ser una aplicación del móvil, una plataforma web, un cacharro de los muchos cacharros que están sacando ahora con internet...
- Freelance. El mercenario de toda la vida, buscando empresas con proyectos y productos propios en los que arrimar el hombro haciendo lo mejor que sabe, pero que no se casa con nadie.
- Una consultora. Empresa que funciona como un freelance, buscando proyectos concretos, trabajando para clientes ocasionales, etc.
Algunas pinceladas a tener en cuenta
Desarrollador vs Diseñador
Mamá, no me dedico a hacer que las webs se vean bonitas. Podría hacerlo, pero mi misión principal es construir las entrañas que hacen que todo funcione.
El que normalmente se encarga de decidir el aspecto que tendrá una página web es el diseñador. Él sabe de colores, de distribuir elementos, de tipografías... Vamos, de lo que viene a ser diseñar.
Yo como desarrollador cogeré las plantillas que haya hecho él y las convertiré en código precioso que luego el navegador se encargará de traducirlo para que se vea bonito.
Sí, todo lo que estás viendo ahora mismo en realidad son un puñado de frases indescifrables, que la cosa esa que usas para ver páginas web (llamada navegador, por si no lo sabías) convierte en secciones, colores, letras, efectos chulos... Cosas que el diseñador elige, y que yo me encargo de escribir y de hacer compatible con todos los navegadores que hay.
"Front End" vs "Back End"
Esto quizás sea demasiado avanzado para ti, pero no está de más que tengas un primer acercamiento con el tema. Dentro de los desarrolladores hay dos tipos fundamentales.
Se distinguen por dos palabras en inglés: front y back. En español, delante y detrás. ¿Por qué? Porque una página web digamos que tiene esas dos partes.
Por un lado está la parte visual de la que te hablaba en el apartado anterior y que decide el diseñador. Es hacer que todo sea bonito, agradable y divertido para todos los usuarios finales de la web. A eso se le llama el "front". Lo de delante y que ve todo el mundo.
Como es la parte que está más cerca del diseño, hay muchos desarrolladores especializados en esta parte de la web que además entienden de diseño. Y al contrario, hay muchos diseñadores que aprenden algo de código para saber el potencial y las limitaciones o hacer sus propios pinitos en esto.
Por otro lado están las entrañas profundas de la página web. Todo aquello que hace que cuando cargues una foto o mandes un email lo haga sin que haya problemas por el camino. Es la parte de atrás. El "back".
Gran parte de las cosas que llegan a la superficie del navegador dependen de esta parte. Es como los cimientos de un edificio. Si no están bien hechos, la página web se vendría abajo con muchísima facilidad.
Y luego están los que saben hacer las dos cosas, a los que se les llama "full-stack developers.
Páginas web vs Aplicaciones web
Por último, creo que es importante que tengas una pequeña distinción en la cabeza. En realidad no me dedico a hacer simples páginas web. Hago aplicaciones.
"¿Cuál es la diferencia?", te preguntarás. Hay muchas discusiones sobre el tema, pero podriamos reducirlo a lo siguiente:
- Si solo se puede ver contenido quietecito y lo máximo que puedes hacer con ella es pinchar enlaces, es una página web.
- Si puedes interactuar con ella, pidiendole cosas y que te devuelva otras cosas en respuesta, es una aplicación web.
Por ejemplo, cuando estás en facebook puedes cotillear perfiles, darle a me gusta, comentar, subir fotos... Eso sería una aplicación web.
Al final eso se traduce en mayor complejidad en la que ahora no voy a entrar. Pero es esa dificultad la que hace que este mundillo sea tan entretenido y me guste tanto.
Mamá, espero que lo que he explicado te haya quedado claro. Y cualquier duda que tengas... ¡Pregunta sin miedo! Un besaco :)