¿Qué debo elegir? ¿Desarrollo front-end o desarrollo back-end?

Es bueno que sepas tu interés.

Pero no puede huir de la construcción de la lógica como mencionó en su publicación. La construcción de la lógica es importante en la programación, y el front end también lo es. La lógica y la programación son parte integral de CSS, HTML, JavaScript y en todos los lugares que se te ocurran. No se preocupe si no puede codificar fácilmente. Aprenderás eso eventualmente en tu carrera.

Entonces, si te apasiona el diseño web o las tecnologías web, no lo pienses dos veces. Solo sigue lo que te gusta hacer. Todo lo demás seguirá.

Con respecto al back-end, siempre puedes cambiar tus dominios. Dado que la mayor parte del material está disponible en línea. Aprender nuevas tecnologías no debería ser un problema aquí. Lo importante es practicar. Tendrás que practicar cada concepto a fondo. Para CSS o, de hecho, para cualquier cosa, cuanto más practiques, más aprenderás y esa es la única forma de progresar.

En caso de que quiera saber por dónde comenzar, primero aprenda los conceptos básicos del front end y luego aumente gradualmente el nivel aprendiendo conceptos avanzados.

La mejor de las suertes.

Parece que lo que quieres es más un rol de diseñador que un rol de desarrollador. Sugeriría centrarse en clases de diseño y desarrollo frontend. Ángulo para un trabajo de diseño web / UI que requiere algunas habilidades de desarrollo frontend ligeras. No te divertirás en absoluto haciendo trabajo de backend, que es pesado en lógica y programación y bastante ligero en trabajo gráfico.

Si le encantan los colores, las imágenes y los gráficos y no le gusta tanto la codificación, parece obvio que debe apegarse al desarrollo front-end. El desarrollo de back-end se trata casi por completo de las cosas que no te gustan, ya que el front-end está muy inclinado en la dirección de las cosas que disfrutas. Tal vez tome algunas clases de diseño como asignaturas optativas mientras termina su título de CS. Comprender la informática y la programación le dará una ventaja sobre la mayoría de las personas de front-end.

Estoy de acuerdo con Kamlesh en que si haces lo que amas, tendrás éxito, independientemente. Como prefacio a esta respuesta, me gustaría señalar que hago trabajo de front-end, principalmente como andamiaje para el desarrollo de API, y para mi uso personal, y también disfruto de la composición y el diseño.

Tomando un toque diferente al responder esta pregunta, te diré por qué, como desarrollador de pila completa, elegí centrarme en el back-end en lugar del front-end.

Evolución tecnológica

Las tecnologías de fondo, una vez bien desarrolladas (como J2EE, .NET, Django, RoR, Node.JS, etc.), son de larga duración, ya que inevitablemente se mantienen durante la vida útil de un servicio. Ese servicio puede ser derribado y reconstruido, pero en comparación, estas tecnologías son estables cuando se colocan lado a lado con marcos frontales como Ember, Angular, etc.

Elección

En el front-end del mundo, lidiarás con HTML, un marco de JavaScript y CSS (o algo que se compila en CSS). Esos marcos pueden parecer muy, muy diferentes, pero está limitado a lo que JavaScript puede hacer en un navegador determinado. En un entorno profesional, y dependiendo de su grupo demográfico objetivo, es probable que esté muy limitado por los navegadores que prefieran sus usuarios. Esto limitará su elección de marcos.

En el back-end, la elección es completamente suya según los requisitos de la plataforma. Usted controla completamente el medio ambiente y, como resultado, tiene mucha más libertad.

Reto

En pocas palabras, no escalas un front-end. Si está buscando un desafío tecnológico, seguramente lo encontrará en el back-end. Verá el mismo tipo de mejores prácticas tanto en el desarrollo front-end como back-end, incluido el diseño, las pruebas y la implementación, pero el alcance y la profundidad de esas prácticas serán mucho mayores en el back-end.

Los desafíos que enfrentará en el desarrollo del back-end, que variarán según las necesidades de la plataforma, serán mucho más diversos y mucho más grandes que los del front-end. Como ejemplo, donde el front-end se ocupa principalmente de la presentación de datos, el back-end se ocupa de la lógica empresarial, el almacenamiento de datos, el almacenamiento en caché, el cómputo a gran escala, etc.

Si tiene más interés en DS y Algoritmos, le sugiero que vaya con el desarrollo de back-end. El DS y los algoritmos también son necesarios en el front end, pero el conocimiento avanzado no es tan importante.

Si tiene más interés en UI / UX, puede elegir el desarrollo front-end. Además de estas opciones, puede ser un desarrollador Full Stack con habilidades de desarrollo tanto back-end como front-end. Todo lo mejor.

Debes ir con lo que te interesa. Porque si aprendes lo que te apasiona, entonces serás bueno en eso y es importante para una buena carrera.

Para la carrera en TI, tanto los desarrolladores frontend como los backend son esenciales, así que no se preocupe por el hecho de que debe ir al backend para una buena carrera.

Incluso si no eres muy bueno en la construcción de lógicas, te sugiero que, como estudiante de CS, tengas un buen dominio de los conceptos básicos de informática. Para los estudiantes de primer año tener un buen dominio de los conceptos básicos es muy importante.