¿Cómo se controlan las complejidades del desarrollo web? [cerrado]

17

He sido programador del lado del servidor durante la mayor parte de mi carrera y solo recientemente comencé a dedicar más tiempo al desarrollo web. Estoy sorprendido por la cantidad de cosas que necesito dominar para escribir una aplicación web decente. Solo para enumerar algunas herramientas / tecnologías que necesito aprender,

  • Lenguaje de programación del lado del servidor (Java / JSP, ASP, PHP, Ruby u otra cosa)

  • Un marco web decente (para cualquier aplicación de tamaño mediano a grande).

  • HTML y CSS

  • Javascript

  • Biblioteca Javascript (JQuery / ExtJS, etc., principalmente para AJAX). Es bueno saberlo aunque no sea necesario.

  • Al menos un conocimiento básico de diseño web: diseños, colores, fuentes, etc.

  • Una buena comprensión de la seguridad web.

  • Una buena comprensión de los problemas de rendimiento / escalabilidad.

  • Pruebas, problemas de compatibilidad del navegador, etc.

La lista continua.

Entonces, mi pregunta para los desarrolladores web experimentados es: ¿cómo logran aprender y mantenerse actualizados sobre tantas cosas? Mientras desarrolla una aplicación web, ¿cómo maneja las complejidades involucradas en estas áreas y logra escribir una aplicación bien diseñada, fácil de usar, segura, eficiente y escalable?

Como desarrollador web, ¿uno tiene que ser un experto en todos los intercambios o debería especializarse en una o dos áreas y dejar el resto a otros miembros del equipo?

Rahul
fuente
Las cosas nuevas son difíciles al principio. No dejes que eso te descarrile. date cuenta de que no podrás competir con desarrolladores experimentados y experimentados y simplemente haz tu mejor esfuerzo. Expande tus habilidades con el tiempo según sea necesario. Todas estas herramientas cambian tan rápido de todos modos, debes ser un aprendiz de por vida para sobrevivir en el desarrollo. Eso, u obtén programación "afortunada" en ensamblador. por 20 años.
P.Brian.Mackey

Respuestas:

9

Lenguaje de programación del lado del servidor (Java / JSP, ASP, PHP, Ruby u otra cosa)

Usa un marco. Django, por ejemplo.

Un marco web decente (para cualquier aplicación de tamaño mediano a grande).

No "mediano a grande". Use un marco para todo .

HTML y CSS

Es lo que es. Aprenderlo.

Javascript

Use bibliotecas y marcos tanto como sea posible. Escribe menos, reutiliza más.

Biblioteca Javascript (JQuery / ExtJS, etc., principalmente para AJAX). Es bueno saberlo aunque no sea necesario.

Correcto. Usa una biblioteca.

O.

Utiliza FLEX.

Al menos un conocimiento básico de diseño web: diseños, colores, fuentes, etc.

Copiar sitios existentes.

Una buena comprensión de la seguridad web.

Lea www.owasp.org cuidadosamente. Y. Use un marco que haga esto.

Una buena comprensión de los problemas de rendimiento / escalabilidad.

Usa Apache. Use un marco que maneje esto. Lea las arquitecturas escalables de Internet de Schlossnagle.

Pruebas, problemas de compatibilidad del navegador, etc.

Marcos. Bibliotecas

Hay un truco para esto. Use tantas bibliotecas y marcos como pueda. La web ha existido por años.

Pararse en los hombros de los gigantes. Por favor. No necesitas reinventar todo esto.

S.Lott
fuente
Es cierto que no debe reinventarlo todo como un desarrollador experimentado familiarizado con todos los marcos y herramientas. Pero, eliminar todas estas herramientas como un chico nuevo solo aumenta la barrera de entrada. Debería estar haciendo javascript básico y como un novato para disminuir esta barrera. Pero, dado que el OP preguntó cómo un "desarrollador experimentado" hace cosas, no puedo hacer ping a -1 para esto.
P.Brian.Mackey
5

¿Cómo logran aprender y mantenerse actualizados sobre tantas cosas?

Consejo 1 . Esté atento a todas las cosas que están sucediendo allí. Escuche de lo que habla la gente, revise cosas, lea artículos y blogs, marque lo que es importante, aprenda, experimente, mantenga la curiosidad natural sobre todo.

Consejo 2 . Absolutamente diviértete en el proceso.

Consejo 3 . Como alguien señaló en SO una vez, las cosas que ha enumerado se relacionan con el conocimiento colectivo de muchos desarrolladores. No esperes saberlo todo a la perfección, es demasiado para que una sola mente lo maneje. Tome lo que necesita y sepa dónde encontrar el resto.

Como desarrollador web, ¿uno tiene que ser un experto en todos los intercambios o debería especializarse?

Es mejor estar bien versado en diferentes áreas. Lo especial del desarrollo web es que de repente une todos los aspectos del desarrollo del producto en un solo lugar en una sola mano. Inevitablemente, debes ser consciente de muchas cosas para que todo funcione. Pero en serio, ¡es una gran alegría tener los dedos en todas partes!


fuente
2

No siempre tienes un equipo, al menos en mi caso. Por lo tanto, ser un "gato de todos los oficios" es útil.

Pero no tiene que saberlo / no lo sabrá todo, así que sea bueno para buscar en Google.

Desarrollarás las habilidades a medida que las necesites.

Ben L
fuente
Sí, parecía muy difícil al principio.
Rice Harina Cookies
1

Hay aspectos básicos que debe conocer: HTML, CSS, marcado semántico, qué hace HTTP y cómo hacer un buen uso de él.

Luego observa lo que necesita para este proyecto, sea cual sea el proyecto actual. Probablemente eso implicará comenzar con una plataforma o CMS existente y personalizarlo, a veces un trabajo completamente a medida, pero a menudo no. A veces habrá requisitos relacionados con dónde y cómo está alojado que lo guiarán a la plataforma correcta, otras veces la funcionalidad que desee guiará el alojamiento que puede usar. Aprendes lo que necesitas a medida que lo necesitas. Es un poco lento como una forma de trabajar, pero termina siendo la forma en que la mayoría de nosotros fuimos buenos en lo que hacemos: proyecto por proyecto aprendiendo lo que necesitábamos saber.

Obviamente, cuanto más trabaje en compañía de desarrolladores web más experimentados, más rápido podrá aprender de ellos, pero en general, la mayoría de nosotros adquirimos estas habilidades poco a poco con el tiempo.

glenatron
fuente
1

Trato de saber lo suficiente sobre todas las tecnologías actuales para poder saber cuándo deben aplicarse. Por ejemplo, soy principalmente un desarrollador de ASP.NET, pero sé lo suficiente para que Ruby on Rails descubra si es más adecuado para un problema en particular.

Las tecnologías que estoy usando realmente trato de conocerlas dentro y fuera. Si hay una característica particular en ASP.NET, quiero conocerla en detalle y saber cuándo debería y cuándo no debería aplicarla. Lo mismo ocurre con JQuery, CSS y todo lo demás que uso.

Para mantenerme al día, escucho podcasts, me suscribo a los canales RSS, examino StackOverflow y asisto a eventos para desarrolladores.

RationalGeek
fuente
1

Comience de manera fácil con .NET o JEE / JSF. No es necesario que haga su primer proyecto de la manera difícil. Guarde esa complejidad para cuando realmente la necesite.

Brian Knoblauch
fuente