Interesante pregunta. Mencionó específicamente el desarrollo de back-end, por lo que la respuesta es no, no debe comenzar con HTML y CSS. Dos razones para esto:
- HTML y CSS se utilizan principalmente en el desarrollo front-end, no en el desarrollo back-end. Javascript se puede usar en ambos extremos, pero en el lado de back-end, tiene muchas otras opciones. Por lo tanto, saber Javascript no es una necesidad absoluta.
- HTML y CSS se pueden aprender muy rápidamente, y con cosas como Bootstrap, incluso los ingenieros de back-end pueden aprender y crear una gran interfaz de usuario muy rápidamente.
Ahora, si decides aprender esto antes de un lenguaje de fondo, entonces eso también está bien.
De todos modos, dado que está interesado en el desarrollo de back-end, le proporcionaré algunos hechos y pensamientos que elegí, que deberían ayudarlo con su decisión y ayudarlo a comenzar.
- ¿Cuánto ha contribuido LinkedIn al aumento de los salarios de ingeniería de software?
- ¿Qué tan bueno es MacBook para software y aplicaciones de ingeniería electrónica?
- ¿Qué tan genial es ser un desarrollador de Python?
- A los 27 años, ¿cuál es la mejor manera de convertirse en ingeniero de software y obtener una buena paga, volviendo a los estudios durante 3-5 años o tratando de ser contratado en IBM / Atos / etc.?
- ¿Qué debo saber sobre la ofuscación (software)?
Tiene muchas opciones en términos de lenguaje: PHP, Python, Ruby, Javascript, Java, Scala, Go, Erlang y mucho más. He hablado sobre esto antes, y lo diré nuevamente: no te preocupes demasiado por el idioma. Elegir un idioma es realmente fácil, de hecho, la mayoría de los idiomas se pueden aprender en un mes o dos. Si tienes experiencia previa, puedes aprender los conceptos básicos de un idioma en una semana si trabajas duro.
También debe considerar los marcos web al tomar su decisión. Cada idioma tiene diferentes marcos, cada uno con sus propias fortalezas y debilidades. Entonces, solo elija un idioma y aprenda los conceptos básicos, y elija rápidamente un marco y comience a aprender eso. Como dije, hay muchas opciones:
Pitón
Soy parcial, pero Python es fantástico y es muy fácil comenzar. Sintaxis limpia, y literalmente tiene biblioteca para casi todo. Algunas personas se preocuparán por el rendimiento, la velocidad y la escala, pero, sinceramente, no debe preocuparse por estas cosas en este momento. De hecho, hay algunos sitios web y aplicaciones potentes con Python, por lo que ciertamente puede hacer que funcione si su aplicación crece enormemente. Por ejemplo: Youtube, Instagram, Pinterest, Disqus y muchos más.
Los frameworks web de Python más conocidos son Django, Flask, Tornado, Bottle y algunos otros. Django será la mejor opción el 90% del tiempo. Flask y Bottle son posiblemente más fáciles de comenzar, pero Django generalmente será una mejor opción a largo plazo. Una vez que superas el obstáculo inicial, Django es extremadamente gratificante. Sin embargo, si desea crear una aplicación web asincrónica, entonces vaya con Tornado.
Rubí
Otro gran lenguaje. El soporte de la biblioteca no está cerca de Python, pero en general, también es una buena opción. En términos de marco, prácticamente solo tienes una opción: Rails. En resumen, Rails es un marco web fantástico. Es particularmente bueno para construir e implementar rápidamente MVP. También hay muchas bibliotecas / gemas Rails útiles por ahí. Muy buena elección.
PHP
PHP tiene mucho odio hoy en día, pero puede ser una buena opción. Tiene una curva de aprendizaje muy baja, por lo que puede comenzar a construir cosas rápidamente. En términos de marcos, hay muchas opciones: 13 marcos PHP para ayudar a construir aplicaciones ágiles
Javascript
Javascript solía estar limitado solo en nuestros navegadores, pero ahora, está obteniendo una gran tracción en nuestros servidores con el advenimiento de Node. Es el idioma más utilizado en el mundo y, personalmente, estoy de acuerdo con él. Lo uso en mis clientes, pero no me gusta en mis servidores. El nodo en sí no es un marco, es simplemente un entorno. Sin embargo, en términos de marcos, nuevamente tiene opciones: 10 Mejores marcos de Node.js para desarrolladores
Node.js es muy popular en este momento, y tal vez por una buena razón. Sin embargo, antes de decidirse por esto, intente comprender cuáles son sus puntos fuertes y vea si necesita esos puntos fuertes en su aplicación. El nodo está controlado por eventos, tiene E / S sin bloqueo y es asíncrono. Esto lo hace extremadamente poderoso para construir aplicaciones en tiempo real.
Otros lenguajes, como Java, son bastante difíciles de comenzar. Sin embargo, son muy estables y, por lo tanto, extremadamente populares entre las empresas. No sugeriría un principiante para comenzar.
Conclusión
Quería darle una idea de las muchas opciones que tiene a su disposición para el desarrollo de back-end. Con suerte, con toda esta información, podrá elegir un idioma (y un marco) que se adapte a sus necesidades y crear algo.
Recomendación personal:
- Si desea crear una aplicación en tiempo real, con muchas solicitudes asíncronas, vaya con Node. Sin embargo, Tornado también puede funcionar.
- Si desea crear aplicaciones CRUD, por ejemplo: la mayoría de las aplicaciones disponibles, vaya con Django / Rails.
Buena suerte.