¿Cómo es trabajar en desarrollo web?

Realicé un plan de estudios CS en la escuela de posgrado y he programado juegos 3D OpenGL, aplicaciones iOS, aplicaciones Flash, aplicaciones C ++, * muchos * scripts de Python en mi trabajo, y he creado un prototipo de juego HTML5 multijugador en tiempo real (Node.js, Socket .IO, Phaser.io), así como una aplicación web de pila completa (GoLang, AngularJS), así que he visto ambos lados de la ecuación.

¡El desarrollo web es genial! Es muy divertido y muy gratificante. De hecho, lo prefiero sobre el software compilado. Las ventajas clave en comparación con el desarrollo de software “convencional” (especialmente en el front-end) como he experimentado es esta:

  1. Tiempos de iteración más rápidos. Dado que el navegador ejecuta dinámicamente HTML, CSS y Javascript en la carga de la página, nunca necesita compilar su código. Por otro lado, no tiene un compilador para detectar errores, y dado que Javascript está tipeado libremente, puede encontrar más errores de tiempo de ejecución si no es meticuloso. Pero una vez que escribe algo, ¡puede verlo de inmediato!
  2. Muchos recursos para elegir. La parte más difícil de conseguir una biblioteca o marco para hacer lo que quieres no es encontrar una, a menudo es elegir entre la sobrecarga de opciones. Dado que JavaScript es el lenguaje de facto de la web, los recursos compartidos son enormes. La mayoría de las veces, acceder a una biblioteca es tan simple como agregar un solo enlace a su HTML.
  3. Abundante documentación. Puede encontrar la respuesta a cualquier pregunta JS / CSS / HTML en Stack Overflow, así como las relacionadas con marcos populares como Backbone, Angular, React, Rails, NodeJS, etc. En comparación con el software convencional, donde puede usar software de terceros muy especializado con documentación inadecuada, encontrar respuestas es mucho menos una pesadilla potencial.
  4. Una interfaz gráfica de usuario única, fácil y divertida. Todo lo que muestra al usuario es HTML / CSS. Para cualquier funcionalidad relacionada con el dibujo, solo necesita conocer una sintaxis muy, muy bien. Incluso hay bibliotecas que lo hacen más fácil, Bootstrap es la más notable. Comparativamente, las pantallas en Android, iOS, Windows y Mac tienen diferentes API de ventana y llamadas de extracción que pueden ser difíciles de responder de un proyecto a otro.
  5. Un depurador incorporado. Los navegadores web modernos resaltan los elementos de la jerarquía DOM (¡tremendamente útil!) Y el perfil deportivo y un depurador / consola fácil de usar.
  6. Fácil distribución Simplemente inserte su código en su servidor de producción y sus usuarios lo tendrán de inmediato.

Pero también hay un par de desventajas clave:

  1. Muy rápido ritmo de desaprobación de código / cambio de paisaje. Creo que AngularJS anunció la versión 2.0, una reescritura completa, poco después de que 1.0 adquiriera una adopción generalizada. Rails era enorme hace solo 5 años, pero ha perdido mucho de su entusiasmo por nuevos marcos como Node. HTML5 aún no es un estándar web completamente maduro. Las cosas se mueven mucho más rápido en el mundo web y debes prestar atención constantemente para mantenerte relevante. La otra cara es que esto puede ser muy emocionante ya que siempre estás jugando con conceptos novedosos.
  2. Demasiadas maneras de hacer las cosas. Existen paquetes que administran cómo instalar paquetes (npm, bower, etc.), hay toneladas de marcos diferentes con diferentes ideologías, hay toneladas de paquetes de GUI, etc. Me gusta construir manualmente mi jerarquía de archivos, y cuando trabajar en proyectos que usan Grunt o Bower o npm o ??? para administrar recursos, puede ser demasiado para manejar. A menudo, un proyecto termina teniendo cientos de archivos de cruft que no tengo idea de lo que hacen.
  3. Javascript es peculiar. Funciones anónimas, promesas, devoluciones de llamada, problemas de alcance, herencia de prototipos, == vs. ===, indefinido vs nulo. Como lenguaje, personalmente sentí que tenía que descubrir muchas más peculiaridades en JS que en un lenguaje compilado convencional, de tipo estático.
  4. Explorador de Internet.

En última instancia, cuando ha realizado un gran desarrollo de software, tiene la sensación de que el idioma, la plataforma o la biblioteca en la que programa no es muy importante. Un buen ingeniero de software podría hacer una transición bastante fluida hacia el desarrollo web (aunque lo contrario podría no ser cierto). Dicho esto, debido a las ventajas únicas en el desarrollo web que mencioné, creo que el desarrollo web es un área divertida, dinámica y entretenida para ingresar.

No me preocuparía por el pago o las perspectivas futuras. La web está aquí para quedarse y hay una escasez de buenos desarrolladores web en el front-end y back-end, y el pago es comparable o más alto (a veces debido a valoraciones locas y capital de inversión) en las compañías web que en las compañías de software más maduras y estables. .

Déjame pintarte una imagen:

  • Trabajar como desarrollador web está muy cerca de ser un artista. Tanto si eres compositor, pintor o poeta, comienzas con un lienzo vacío y construyes algo propio, con total libertad y sin límites. La unica limitacion es tu imaginacion.

Déjame pintarte otra imagen:

  • Trabajar como desarrollador web es similar a ser un trabajador de la construcción. Para construir una casa, hay muchos pasos a seguir, y usted es solo una parte del panorama general. Pero cada rol es importante, y si alguien no hace bien su trabajo, habrá consecuencias, ya sea a corto plazo o a largo plazo.

Tal vez otra imagen aclarará las cosas:

  • Ser un desarrollador web es como ser un amante. Amas a tu pareja, disfrutas de su compañía, pasas mucho tiempo aprendiendo más sobre ella y haces todo lo posible para que las cosas funcionen, pero hay momentos en los que te sientes frustrado, no sabes lo que hiciste mal, sientes que Esta relación te está alejando de todo y de todos los demás, y solo quieres tomar un descanso de tratar de solucionar todos los problemas, porque a veces parece que cuanto más intentas arreglar las cosas, más lo arruinas todo. Pero al final del día, todavía estás profundamente enamorado y no puedes verte con nadie más.

Al final del día, ser un desarrollador web es como cualquier otro trabajo, con sus altibajos, pero si te apasiona, ¡disfrutarás el viaje!

Esta es una carrera para ti si disfrutas creando cosas, incluso si son solo virtuales, y tienes una muy buena atención al detalle. El código no permite que los errores funcionen correctamente.

Alguna habilidad en diseño gráfico es una ventaja. Es muy útil tener un ojo de diseñador, incluso si usted no es el que realmente está haciendo el diseño gráfico. Realmente disfruto tomando los diseños de otras personas y haciéndolos realidad, pero tengo un título en diseño gráfico, lo que me permite perfeccionar el diseño a medida que lo construyo.

Además, debe estar bien sentado la mayor parte del tiempo, frente a un teclado y una pantalla. Esa parte probablemente volvería loca a algunas personas. Un trabajo de escritorio tiene sus propios riesgos y problemas y es muy común que las personas tengan síndrome del túnel carpiano o tengan problemas con la espalda y los hombros. Después de casi 20 años en esta profesión, para mantener a raya los problemas, trato de mantener mi estación de trabajo lo más ergonómica posible y recibo terapia de masaje médico dos veces al mes.

Comencé a diseñar web hace 11 años (tenía 10 años).
Ahora a los 21 años trabajo como diseñador de experiencia de usuario (UF, IXD, VD, PT) y diseñador de interfaz de usuario (Ambos son completamente diferentes aunque suena igual) en una startup con base en India, aunque mi título de trabajo es Diseñador de producto

Aquí hay un artículo medio que explica el título de mi trabajo.

¿Qué es el diseño de producto? – El innovador

De los 11 años de experiencia, aprendí programación (C, C ++, PHP, Java, JavaScript, Python y Ruby), pero no era bueno en matemáticas, así que nunca quise ser programador, ya que la mayoría de las veces fallaba. una solución. Más que eso, nunca disfruté la programación.

Me encanta comprender a las personas, y también me encanta mencionar la solución para ayudar a que los usuarios tengan una buena experiencia.
Hay experiencia en todo, pero mi trabajo es brindar una experiencia positiva incluso para una tarea complicada. Realmente disfruto haciéndolo.
Pero cuando traté de presentar una solución como programador, nunca disfruté realmente mi experiencia como programador. Como hay casos en los que tuve que refactorizar el código que provocó un cambio en la ejecución, pero el usuario final nunca se da cuenta. Lo que realmente me importaba era la experiencia más feliz de un usuario final.

Ahora sobre el pago, obtienes un mínimo de $ 80k por año para desarrolladores web (MEAN stack / Full stack). Hay nuevas empresas que ofrecen $ 110k, $ 120k.
Para tener una idea clara de lo que estoy diciendo, busque en AngelList según la ubicación que mencionó (consulte AngelList)

Ahora que odio?
Hubo situaciones en las que no tuve la opción de ir con mi solución, sino con el cliente, lo cual nunca disfruté o hice con verdadero corazón. Respeto las sugerencias y soluciones de alguien que comparte el mismo amor por el diseño. Pero a menudo recibo sugerencias personales, que realmente odiaba como cualquier cosa.

y por último
“Si pudieras volver a la universidad y cambiar algo, ¿qué harías o aprenderías de manera diferente?”
Dejé la universidad para siempre y nunca quiero volver.

Un diseñador / desarrollador web es responsable del diseño, diseño y codificación de un sitio web. Están involucrados con los aspectos técnicos y gráficos de un sitio web: cómo funciona y cómo se ve. También pueden participar en el mantenimiento y la actualización de un sitio existente.

Después de establecer el público objetivo para un sitio web e identificar el tipo de contenido que alojará, un diseñador / desarrollador web:

1. escriba el código de programación, ya sea desde cero o adaptando el software del sitio web existente y los paquetes de gráficos para cumplir con los requisitos comerciales

2. prueba el sitio web e identifica cualquier problema técnico

3. Cargue el sitio en un servidor y regístrelo con diferentes motores de búsqueda.

..

Un diseñador / desarrollador web debe:

1. Tener habilidades en programación de software y gráficos.

2. tener creatividad e imaginación

3. Ser adaptable y capaz de aprender nuevas técnicas.

4. Tener buenas habilidades interpersonales y de comunicación.

5. mantenerse al día con los avances en tecnología informática y cómo esto afecta el entorno empresarial

Experiencia
Yo era un desarrollador web a tiempo parcial. No soy apto para ese tipo de trabajo, pero era la forma más fácil de ganar dinero.

Creé el sitio web y el tablero, el sistema de información basado en la web, el perfil de la compañía, la página de destino, el sistema de inventario, etc. O configurar JavaScript y HTML y CSS y embellecer la tabla, lo que subjetivamente apesta. Eso no fue solo para mí.

Principalmente, lo que hice fue varias formas de CRUD o tratar con el inicio de sesión de los usuarios o cosas así o integrar API desde las redes sociales, lo cual es aburrido.

Para mí, un desarrollo web cotidiano apesta. Cualquier cosa CRUD normal apesta.

Ahora trabajo en proyectos de investigación con muchas cosas teóricas, informáticas, como big data y aprendizaje automático, que es más interesante.

En mi empresa actual, los desarrolladores web hacen exactamente lo que estoy harto y parecen disfrutarlo. Entonces, es realmente posible que no sea culpa del desarrollo web, sino solo yo.

Pista
Si realmente quieres hacer eso, creo que estás en el camino correcto. Leí en algún lugar de Quora que la demanda de desarrolladores de JavaScript podría aumentar significativamente, ya que ahora tiene motores más rápidos y se ejecuta en ambos extremos.

Salario
Lo siento, no lo se. Yo no vivo en los Estados Unidos. Pero en mi país, para un recién graduado sin experiencia, es casi lo mismo con otros puestos.

Máquina del tiempo
Aconsejaría a mi yo universitario que aprenda materias teóricas de manera más rigurosa y que pase menos tiempo haciendo dinero fácil.

Aprendizaje:
En el desarrollo web en comparación con cualquier otro campo técnico, debe estar siempre alerta para aprender nuevas tecnologías y adpat usted mismo. Entonces, si usted es la persona que ama aprender cosas nuevas y ama los desafíos, es bueno para usted.

Equilibrio trabajo-vida:
Si está trabajando en los plazos ajustados, equilibrar su trabajo y su vida es uno de los mayores desafíos.

Estrés:
Los defectos, la construcción, la nueva tecnología, los requisitos del cliente, etc., provocan estrés, pero después de pasar algunos años en la industria, aprende a ignorar el estrés.

Pizza, café, té, fideos, sándwich se convierten en su comida / bebida principal. Usted conoce todos y cada uno de los lugares de entrega de alimentos (debido a los trabajos nocturnos), ya sabe lo que realmente significa “fin de semana”, ya que la mayor parte del sábado y el sol está pasando trabajando. Te encanta tu PC, portátil … para ti, stackoverlfow y google son el lugar donde pasas tu tiempo … las herramientas de desarrollador son la herramienta favorita para ti

pero además, trabajando en el desarrollo, se pone a trabajar con el equipo, sigue los planes, sigue los plazos, cumple el hito y celebra el lanzamiento del proyecto.

Cuando lo hago, lo disfruto. (Des) afortunadamente, en mi carrera, a menudo ha estado entre las cosas que hago en lugar de lo que hago. Dicho esto, creo que atrae a una persona del tipo “muchos sombreros”, porque incluso cuando estoy enfocado en el desarrollo web, tengo que saber mucho sobre muchas cosas para hacerlo bien (por ejemplo, diseño, fuentes web, varias API, HTML / CSS / JavaScript, problemas de compatibilidad del navegador, alojamiento, nombres de dominio, DNS, transferencia de archivos, SSH, trabajar con clientes, tramas, SEO, redes sociales, capacitación, etc.)

Mirándolo desde afuera, se trata mucho más de la resolución de problemas y mucho más colaborativo de lo que piensas. La parte de codificación es una cosa, pero la parte del cliente es enorme y tienes que pasar más tiempo en esa parte y ser mejor en esa parte de lo que probablemente piensas.

Gestión de aplicaciones front-end (diseño de formularios, diseños, páginas) y back-end (actualización de la base de datos). Scripting según las necesidades del usuario. Debe ser bueno en conceptos de programación orientados a objetos.

El desarrollo web básico cubre HTML, Photoshop, Javascript, CSS, etc.

Es genial si disfrutas aprendiendo constantemente, preocupándote por las minucias, sintiéndote inferior la mayor parte del tiempo y pasando por repentinos estallidos de estrés que detienen el corazón en un minuto y sentimientos de invencibilidad vertiginosa al siguiente. Es una montaña rusa y una de las pocas cosas que puede hacer que combina creatividad real y practicidad valiente con un potencial que altera el mundo. Personalmente, lo odio y lo amo.

Realmente no sé cómo responder una pregunta porque todavía estoy en la escuela secundaria, pero solo tienes que gustar lo que estás haciendo y esperar encontrar barreras y problemas en el camino, pueden ser tan simples como un enlace mal en un sitio web o si está creando una aplicación o programa, falta una línea de código o está mal escrita, solo depende y siempre haga preguntas, siempre piense cómo podría ser mejor, ¿cómo podré hacer que este usuario sea fácil de usar? Por supuesto, lleva mucho tiempo hacer algo con el desarrollo de aplicaciones o programas o incluso sitios web, pero la mayoría de las veces vale la pena si disfrutas de todas las barreras u obstáculos que enfrentas, por supuesto, me inspiró mi madre que tiene una licenciatura en Technollogy y ella está trabajando en sus maestros, pero yo quiero más de lo que es capaz de hacer y crear programas, etc. He creado mi propio navegador web y aún he creado un sitio web. Supongo que también me encantan los sitios web. Siempre estoy haciendo uno, incluso si nadie lo ve. De todos modos, los hago con hosting gratuito y dominios. Espero que esto sea lo que estás preguntando si quieres más. ¡Siempre puedo decir más o decirte más!

Es una combinación de lo siguiente en diferentes grados a lo largo del tiempo:

– frustrante
– Emocionante
– De miedo
– Confuso
– frustrante
– Desafiante
– Divertido
– frustrante

ABURRIDO AF.

Es una broma. Está bien la mayoría de los días, aunque sí, no es el trabajo más emocionante, por decir lo menos … La parte más difícil es el estilo de vida sedentario, que comienza a pasar factura si no lo compensas intencionalmente.

Es mejor que hacer uno de los miles de otros trabajos malos, aburridos y sedentarios que pagan un tercio más.

Es muy divertido. Llego a ser creativo, reflexivo y efectivo. Encuentro problemas con los sistemas existentes y puedo crear soluciones para cosas que ni siquiera sabían en qué andaban mal.

Puedo hablar con los clientes y obtener comentarios y ofrecer sugerencias sobre lo que hay que hacer. Y la construimos.

A veces me molestan porque los clientes no entienden lo que necesitamos para construir y hacer las cosas mal. A veces gano demostrando que nuestro camino es mejor.

Claro, hay estrés al necesitar 100
Todo se hace de una vez y, a veces, los clientes simplemente lo molestan porque simplemente no entienden.

En general, me encanta

¿No es obvio? Desarrollarás aplicaciones web. Algunas de las tecnologías utilizadas para desarrollar aplicaciones web son PHP, ASP.NET, HTML, CSS, JQUERY….

More Interesting

¿Cómo determinó en qué área de la informática le interesa?

Cómo decidir entre una gerencia o un campo técnico

Cómo dominar las estructuras de datos y los algoritmos sin experiencia en informática, para conseguir un trabajo en las mejores empresas tecnológicas del mundo

¿Cuál es el trabajo diario de los desarrolladores de R?

¿Cuál es el tipo más simple de trabajo de programación?

Soy un estudiante de ingeniería informática en mi primer semestre. Me apasiona la programación de computadoras. ¿Qué debo hacer para convertirme en un profesional?

¿Es mejor lograr una licenciatura en informática junto con una maestría en informática o un MBA en emprendimiento?

¿Qué conjunto de habilidades tecnológicas paga más?

¿Qué área de programación verá el mayor crecimiento en los próximos años?

Educación de posgrado: ¿es posible trabajar en un programa de doctorado en IA de informática junto con una especialidad en sistemas de control?

¿Cómo elegir entre redes de computadoras o ciencias de la computación? ¿Qué tipo de trabajo podría hacer en cualquier campo?

¿Debería estudiar informática si las matemáticas son mi debilidad? No tengo mucha experiencia con eso, pero sé algunas cosas.

¿Qué puedo hacer con una especialización en contabilidad y una menor en CS?

¿En qué se diferencia la vida de la investigación de un trabajo técnico?

¿Cuál es el salario inicial típico para un graduado en informática de BYU en Silicon Slopes?