A2A.
El desarrollo web es muy amplio, apuesto a que las personas provienen de diferentes orígenes e historias. Espero que esta pregunta atraiga muchas historias y experiencias únicas, será interesante. Voy a compartir el mío, salte amablemente a la parte de “consejos” si no quiere leerlo. 🙂
Escribí mi primer programa en 2007.
- ¿Cómo es obtener una maestría en ciencias de la computación del Instituto de Tecnología de Rochester?
- ¿Cuál es el criterio para obtener una maestría en informática de la UCB?
- ¿Es necesaria la certificación CompTIA si tienes un título en informática?
- Soy un estudiante universitario en el campo de la informática, pero la programación y la codificación nunca han sido mi taza de té. Me gusta estudiar y quiero ver mi carrera brillante. ¿Qué tengo que hacer?
- ¿Qué es mejor: ser ingeniero informático o programador autodidacta?
Fui bastante “forzado” por uno de mis maestros de secundaria porque obtuve buenos resultados en su examen lógico-matemático. De vuelta en la escuela secundaria, era parte del club de matemáticas de nuestra escuela, así que tal vez por eso. Al ingresar a la escuela secundaria, me uní al club de computación porque quería aprender diseño gráfico.
Aprendí a Pascal en los talleres de mis superiores; era lo que todo principiante usaba en ese entonces. Aprendí cosas bastante rápido y pronto me convertí en el equipo central de programación de mi escuela. Participé en algunas competiciones y clasifiqué bastante bien, lo que alcanzó su punto máximo para competir en los Nacionales. Esto me ganó el respeto de algunos maestros y más tarde, uno se me acercó y me pidió que participara en un concurso de diseño web.
No sabía nada sobre diseño web y los detalles técnicos de la competencia.
Y él también.
Pero mi escuela quería apoyarme y pagar un curso de “diseño web”, así que acepté. Bueno, solo me enseñaron acerca de la sintaxis HTML básica (creación de enlaces, tablas, listas) en una oficina de aspecto no tan profesional durante unas pocas semanas, pero estaba feliz. Me iluminé sobre cuán divertido y visual, considerando que tenía interés en el diseño, podría ser la programación; ¡Fue divertido!
En D-1, volamos a la ciudad donde se realizó la competencia. Descubrí que la competencia iba a durar todo el día (aproximadamente 10 horas), intenté prepararme mentalmente para ello, luego me quedé dormida.
Resultó que era un concurso de diseño web de Joomla.
Nos dieron el instalador de Apache (XAMPP) y nos dijeron que configuremos el entorno de desarrollo nosotros mismos. No tenía ninguna educación previa sobre cómo funcionan los sitios web, cómo necesitamos servidores web para alojar sitios, cómo la web consiste en programación del lado del servidor y del lado del cliente, ninguno en absoluto . Lo que hice fue leer las breves instrucciones una y otra vez tratando de entender qué es XAMPP, qué es Joomla y qué parte de él corresponde a lo que he estado aprendiendo durante un tiempo: HTML.
No pude
No bajo tanta presión, al menos. Me di por vencido a la hora del almuerzo, le pedí permiso a mi maestro para no volver a la competencia y él entendió. Fue muy vergonzoso.
No seguí aprendiendo desarrollo web después de eso y volví a Pascal porque tenía una mayor demanda (para competencias). Luego me gradué y me especialicé en EE porque pensé que era más “genial” que CS en lo que respecta al tema (pensar en crear robots y tal) y la comunidad (los estudiantes de EE parecían más divertidos y felices, jajaja). Solo aprendí C y LISP formalmente allí, pero me uní a la división de computadoras en mi comunidad de estudiantes de EE.
Allí, volví a los asuntos pendientes con el desarrollo web:
- Reaprendí HTML,
- junto con CSS,
- condimentado con JavaScript (más como jQuery en realidad),
- entró en el lado del servidor con PHP,
- configurar XAMPP en mi computadora portátil por mí mismo (¡por fin!),
- usando la base de datos relacional MySQL,
- usó CodeIgniter y leí sobre la arquitectura MVC,
- aprendí el diseño de la base de datos al realizar prácticas (nunca antes había creado “claves”),
- intenté crear una startup basada en un sitio web con amigos,
- luego se graduó con tesis enfocada en programación (procesamiento de imágenes).
Para entonces, me di cuenta de que la programación era mi pasión. No me divertí tanto analizando circuitos o calculando integrales triples en comparación con ajustar, optimizar y organizar códigos que producen un sitio web hermoso y funcional.
Actualmente estoy trabajando como ingeniero de software líder en una pequeña empresa en el extranjero, programando principalmente en C # y lenguajes web del lado del cliente. Lo que aprendí desde que trabajé (casi 2 años):
- Programación y diseños orientados a objetos (no tenía conocimiento previo sobre esto),
- mapeo relacional de objetos (ORM),
- procesos de prueba (prueba unitaria, prueba de regresión automatizada),
- creando y trabajando con API,
- integración continua (cuán importantes son las tareas de mantenimiento y los scripts),
- mantener un programa funcionando 24/7 en el servidor,
- actualización automática de aplicaciones del lado del cliente (escritorio),
- Selenio o pruebas automatizadas,
- rastreo web y raspado,
- tomas web,
- NodeJS con Express y SailsJS,
- NoSQL con MongoDB,
- MVVM JS frameworks con AngularJS y KnockoutJS,
- Preprocesador CSS con LESS y SCSS,
- quizás más.
Ahora, para obtener los mejores consejos para ser un buen desarrollador (web) IMO:
- Nunca te conformes con lo que eres capaz de hacer
El desarrollo web ha estado cambiando a un ritmo relativamente alto. Aprende todo lo que puedas porque solo puede hacerte bien. Uno de los valores más importantes de un desarrollador es su disposición y capacidad de aprender. - No eres una máquina que solo puede producir códigos
Se le permite (y muy probablemente se espera) pensar más allá del alcance técnico de su trabajo. Piense como un propietario, diseñador y usuario al mismo tiempo. Los buenos desarrolladores no son aquellos que solo pueden traducir especificaciones al trabajo. - Siempre es un maratón, no un sprint
No use hacks rápidos o soluciones alternativas. No siempre cree nuevas clases para sus reglas CSS (objetivo de reutilización). Organice su código JavaScript del lado del cliente (se desordena fácilmente si no se esfuerza por evitarlo).
¡La mejor de las suertes!