Estás en el camino correcto con HTML y CSS, pero esa es puramente la capa de presentación (es decir, cómo se ve el sitio web en lugar de cómo funciona). El más importante para aprender es Javascript, y esto te abrirá todo.
Aprenda Javascript vainilla, obtenga la sintaxis y aprenda cómo interactúa con el DOM HTML. Pruebe cosas en la consola de Javascript en las herramientas de desarrollo de su navegador (las usará mucho). Luego, elija algunos de los conjuntos de herramientas y marcos más utilizados, como jQuery, que simplifican la interacción DOM y la funcionalidad AJAX. Luego busque en uno de los marcos MV * como Angular, Backbone o Ember para construir una interfaz de aplicación front-end completa. En el lado de la presentación, no estaría de más investigar los gustos de Bootstrap, que simplifica significativamente los diseños de front-end y la capacidad de respuesta en todos los dispositivos.
Además, probablemente esté aprendiendo las formas “modernas” de hacer cosas en el front-end con HTML y CSS. Asegúrese de volver también y aprender los métodos anticuados, usando HTML3-4, y con el diseño y el diseño usando tablas. Esto puede sonar como basura hoy en día, pero de vez en cuando se le pedirá que cree cosas como correos electrónicos HTML; realmente tiene que usar los métodos de diseño más básicos, de mínimo común denominador posibles en estas circunstancias, dado La gran variedad de software de correo electrónico que utilizan las personas. Muchas, muchas personas todavía usan versiones antiguas de Outlook o * shiver * Lotus Notes (mucho más que quienes usan los gustos de IE6-7). Puede usar CSS en línea, y algunos softwares de correo electrónico más modernos admitirán una hoja de estilo incrustada (útil para correos electrónicos receptivos), ¡pero realmente tiene que codificar los estándares de 1999 la mayor parte del tiempo para esto!
- ¿Cuál es la tecnología detrás de la aplicación HTML5 / Chrome del New York Times?
- ¿Cuáles son los pasos que sigue para optimizar un sitio web?
- ¿Cómo hacen los desarrolladores posibles implementaciones de tiempo de inactividad cero?
- ¿Hay algún punto en aprender HTML y JavaScript cuando WordPress puede hacer lo que ya hace?
- Cómo hacer un contenedor translúcido usando CSS
Como líder, lidiarás mucho con elementos de diseño. Entonces aprende sobre eso. Conozca Photoshop, incluso si es solo para cortar y optimizar imágenes. Aprende un poco de psicología del diseño y teoría del color. Aprenda los mejores formatos de imagen para usar en diferentes situaciones. Aprenda a combinar imágenes en sprites CSS para ahorrar ancho de banda cuando corresponda. Aprenda dónde puede usar elementos SVG y cómo acomodar pantallas de ultra alta resolución (por ejemplo, pantallas Retina de Apple). Aprenda CSS en la medida en que pueda reemplazar muchas imágenes de mapa de bits con CSS puro (gradientes, sombras, animación, etc.).
Este es pequeño, pero muy importante: a las personas que escriben contenido de texto les encanta entregárselo en un archivo de Word. Si copia y pega fuera de Word, incrustará una carga completa de HTML superfluo que probablemente romperá su código. ¡Así que aprende a quitarlo!
Puede encontrarse trabajando con equipos con procedimientos de desarrollo más formalizados: metodologías como “cascada” y “ágil”, y procesos como la integración continua y las pruebas automatizadas. Hay mucha terminología, procedimientos y reglas para aprender en este tipo de entornos, y muchos pros y contras a los que no voy a entrar aquí. Pero una cosa que debe aprender desde el principio es cómo usar el control de fuente como Git, Mercurial o Subversion. Obtenga una cuenta de GitHub o Bitbucket, aprenda a comprometer, bifurcar y fusionar código con ella, y esté preparado.
En el back-end, puede analizar los gustos de PHP (fácil de comenzar) y, cuando esté listo, profundizar en algunos de los sistemas más grandes basados en framework como Cake / Laravel / Symfony (PHP) , Python / Django, Ruby / Rails, .NET o Java. Sin embargo, si lo ha hecho bien con Javascript hasta este punto, también podría buscar en Node.js, básicamente un intérprete de Javascript del lado del servidor y un micro servidor que puede ocupar el lugar de cualquiera de los otros idiomas de back-end, y, cuando se usa con un marco como Express, también puede manejar MVC.
También tendrá que aprender una tecnología de base de datos: MySQL es un buen punto de partida para principiantes, al igual que PostgreSQL. Tendrá que aprender el lenguaje de consulta SQL, aunque la importancia de esto se compensa en cierta medida por la capacidad de utilizar herramientas ORM para aplicar esquemas de bases de datos directamente a las matrices. También puede aprender a usar una de las soluciones NoSQL: MongoDB y CouchDB son populares, usan la notación de objetos Javascript estándar para la estructura y no son tan rígidos como las bases de datos SQL tradicionales.
Y sí, voy a ir allí. Si vas a aprender Photoshop y vas a obtener una suscripción a Adobe CC, aprende un poco de Flash. Puede ser obsoleto en los dispositivos móviles y comenzar a ser así en el escritorio, pero aún no es una tecnología muerta, y muchos de los avances de HTML en los últimos años todavía se están poniendo al día con lo que Flash podía hacer hace 10 años. Por ejemplo, el enlace de datos bidireccional “revolucionario” de Angular: ¡Flash ha podido hacerlo desde que introdujo campos de texto dinámicos con Actionscript a principios de la década de 2000! También se está convirtiendo en una tecnología bastante popular para el desarrollo de aplicaciones móviles multiplataforma y sigue siendo el único juego en la ciudad cuando se trata de una transmisión de video adecuada (en lugar de descargar videos progresivamente), por lo que definitivamente vale la pena tenerlo en su kit de herramientas.
Entonces, ese es su kit de herramientas de programación. Pero tener todas estas herramientas a su disposición le ofrece muchas opciones. Por lo tanto, también recomendaría estudiar la interfaz de usuario y el diseño de la experiencia del usuario, y aprender a usar las herramientas que ha aprendido de la mejor manera posible. También tendrá que aprender a hacer que sus sitios web funcionen bien con Google, no tiene mucho sentido usar AJAX para llenar sus páginas si desea que Google pueda indexarlas. El contenido cargado dinámicamente es genial, pero se puede buscar contenido “estático”.
En cuanto a cómo hacer una carrera con él, su cartera lo es todo. Cuando empiece, tome todos los trabajos que pueda encontrar, haga un trabajo tan bueno como pueda con él y construya un sitio de cartera. Sea positivo y comprometido, tenga buenos consejos y opiniones informadas, sea un buen jugador de equipo y mantenga una mente abierta. Aprenderá más en el trabajo de lo que nunca leerá Stack Overflow (e incluso Quora).