10 cosas que los desarrolladores web deben saber para volverse realmente increíbles

Autor: Laura McKinney
Fecha De Creación: 10 Abril 2021
Fecha De Actualización: 16 Mayo 2024
Anonim
Spock: O por qué deberías utilizarlo para testear tu código Java
Video: Spock: O por qué deberías utilizarlo para testear tu código Java

Contenido

Los desarrolladores deben ser más que simples trabajadores generadores de código. Esperamos más de nuestra vida digital y son estos chicos quienes la construyen, entonces, ¿qué necesitan saber los mejores desarrolladores? Aquí están las cosas que veo que faltan de muchos desarrolladores. Esto no es exhaustivo, pero son estas cualidades las que convierten a un programador razonable en un desarrollador asombroso.

Pero no es una cosa, y especialmente nunca la capacidad de analizar XML u optimizar código. Es una colección sorprendente de habilidades que no se enseñan en los libros sobre escritura de código. Son algo extra.

¿Por qué desahogarse así? Porque el desarrollo es importante, pero los desarrolladores a menudo están destinados a un mundo diferente, no siempre de su creación. Esto nunca funciona. El desarrollo, cualquier cosa técnica, siempre prospera cuando aquellos con los conocimientos técnicos comprenden más que solo el código.

01. La codificación ya no es suficiente


Estamos en un mundo donde la codificación es cada vez menos impresionante. Todo el mundo crea sitios, algunos de ellos codifican, pero usted no tiene que hacerlo. Ya no son solo los nerds los que pueden crear sitios, aplicaciones y funciones.

Desde que apareció la web y la gente pudo aprender por sí misma, ha habido desarrolladores autodidactas. Pero incluso los graduados están amenazados. Recibo CV de personas con títulos en informática, cursos de inteligencia artificial, diversos medios y codificación en su haber, pero todavía les falta algo. A veces falta mucho.

No soy el primero en decir esto. "La codificación no es suficiente" es el título del capítulo 3 de El programador apasionado, que junto con libros como Pensamiento y aprendizaje pragmático instar a los programadores a mejorar más allá del código; para convertirse en miembros responsables y completamente humanos del equipo.

Amplitud y profundidad

Los desarrolladores necesitan mejorar de dos maneras: amplitud y profundidad. Necesitan comprender la amplitud de las interacciones humanas en su equipo y con las cosas que construyen. Necesitan comprender la profundidad del sistema con el que están trabajando, hasta el SO.

Y no solo los desarrolladores deberían leer este material. Si está trabajando con desarrolladores, creo que debería esperar más de ellos. Hágales esbozar de qué están hablando. Haz que expliquen con imágenes, objetos y (funciona) recortes de personas exactamente cómo será el sistema para los humanos que lo usen.


02. La gran advertencia

Voy a hablar de forma negativa sobre los desarrolladores, pero creo que se me permite porque soy uno de ellos. También porque al menos una cosa de la que hablo aquí es cierta para muchos de los desarrolladores que conozco. Aunque su trabajo es excelente y conocen su código, los tiempos son competitivos. Necesitas tener una ventaja, y esta es:

  • ser más técnico

y

  • ser mucho mas humano

03. Qué dice Internet

Buscar en Google "habilidades esenciales de desarrollo web" muestra lo que cabría esperar. Conocimientos de framework, x-browser, CSS y JS. Enumeran los marcos que debe conocer, las plataformas para las que debe escribir y las nuevas tendencias a las que debe estar atento.

Estos son nuestros medios. Son las cosas con las que construimos, pero no son las que dan éxito a un proyecto. Un desarrollador puede comprender cada detalle del sistema, decirle cada característica de una API y una nueva tecnología CSS, pero aun así producir algo inutilizable.

Entender el medio

Los desarrolladores, como todo el mundo, necesitan comprender su medio, pero también deben comprender a la audiencia, ya sean los usuarios, el equipo u otros desarrolladores. Necesitan comprender cómo encaja su medio en el mundo (en otras palabras, el entorno de producción) y qué efecto tiene (cómo lo usa la gente).

He visto esto descrito como la persona "amplia y profunda". Amplia, porque necesitas entender el mundo como un ser humano que trabaja con otros humanos. Profundo porque necesita un conocimiento técnico completo por debajo del nivel de su parte del proyecto. Estos desarrolladores le dan a su proyecto un gran impulso y cambian el ritmo del proyecto, sin lo cual encontrará personal no técnico empantanado en detalles tediosos que se desbordan del equipo técnico.


04. Las cosas con las que construimos

Recientemente escribí una lista de todo lo que usamos para crear sitios, administrar el alojamiento y hacer cosas para que las personas que se unan puedan tener una hoja de trucos de tecnologías para aprender en sus primeras semanas. Estábamos tomando como leído que la gente sabía estas cosas, por lo que para darles un impulso a los nuevos reclutas, enumeraríamos todo lo que usamos cada día.

Esperaba media docena de tecnologías, pero terminé con muchas más. Esta lista, "lo que usamos", incluye los CMS, lenguajes de programación y tecnologías de navegación habituales, pero también un montón de herramientas que el equipo ni siquiera recordaba haber usado. Todo era memoria muscular. Al escribir "git", "phing", "thor" en la línea de comandos, ni siquiera pensamos que alguien podría no hacerlo.

Construir herramientas; CI; git para el control de versiones se daba por sentado, pero mirando hacia atrás en los CV, estos apenas aparecían. Los de moda aparecerían (¿y es cínico que creo que ciertas agencias los agreguen?) Pero a menudo sin experiencia concreta.

Estas herramientas son importantes para acelerar el desarrollo de proyectos, así que asegúrese de tener un conjunto de herramientas mucho más rico que su lenguaje, el CMS y un par de marcos. Necesita implementación, pruebas, CI, control de versiones sólido (en equipos, no por su cuenta), y necesita comprender los conceptos centrales de estos en lugar de solo unos pocos tutoriales.

05. Devops

Estas herramientas y trucos adicionales encajan perfectamente en lo que la gente llama "devops". Devops se enfrenta a dos silos tradicionales: la producción, que mantiene las cosas en funcionamiento, y el desarrollo, que fabrica cosas nuevas (y, a menudo, detiene el funcionamiento). Los silos dan como resultado dos campos con poca simpatía el uno por el otro.

Los desarrolladores sin conocimientos de producción suelen producir código que no es adecuado para la producción, mediante el uso de configuraciones o funciones que aún no están en la pila de producción. Como no son conscientes de los problemas del entorno de producción, codifican para completar la función en lugar de implementarla en producción.

Estos pequeños detalles pueden crear retrasos dolorosos, agravados por la tendencia de enviar la administración del servidor al extranjero.

Entender la pila

Devops es un campo enorme en sí mismo, que abarca la implementación continua y mucha automatización. Este es un resumen amplio, pero lo que los desarrolladores deben comprender es la pila en la que se están ejecutando. No es suficiente delegar esto en el administrador del servidor, debe comprender las implicaciones que la plataforma tiene en su código.

Si trabaja en Rails, lea el código de Rails y sepa cómo Apache ejecuta Ruby. Si trabaja en Java, conozca las opciones de configuración. Si usa Perl, comprenda cómo instalar módulos Perl y configurarlos.

Obra misteriosa

La lista "lo que usamos" contiene muchas de estas cosas, y los buenos desarrolladores se lanzan a eso para comprender cómo se realiza todo este trabajo misterioso. Y una vez que lo obtienen, las implementaciones son más rápidas, el trabajo se implementa con más fluidez y todos están más felices.

La implementación continua y las prácticas relacionadas de devops se están volviendo tan estándar que cualquier desarrollador o empresa que no lo practique se está preparando para ser superado. Alguien más empezará a hacerlo y luego será más rápido que tú.

Útiles herramientas

Buscar en Google "devops" te da una idea de las herramientas que utilizan estos tipos. No se trata de PHP y MySQL o Rails. Se trata de enviar software y mantener las partes riesgosas de los proyectos libres de riesgos. Se concentran en la implementación, la automatización y en mantener la canalización del desarrollador al entorno de producción funcionando lo más rápido posible.

Verá que este estilo de desarrollo le brinda desarrolladores que trabajan mejor entre sí y con otros departamentos y empresas. Si están trabajando con una API de un tercero, comprenderán los problemas que probablemente surjan del otro lado. Cuando trabajen con los administradores del servidor, comprenderán lo que necesitan instalar y sabrán cómo se ubican sus software en los servidores de producción. Lo contrario de esto puede ser doloroso ...

06. Dev lo arreglará ... quizás

Esa búsqueda de "habilidades esenciales para desarrolladores web" trae una buena respuesta de Michael Greer (CTO de The Onion) en Quora:

  • Pereza: se niega a hacer algo dos veces: escribe un script o algo para ello.
  • Cobardía: piensa en probar, se preocupa por la carga y el impacto del código
  • Imprudencia: prueba cosas nuevas constantemente, lanza ideas el mismo día

La cobardía es una buena forma de expresar "atención al detalle". La depuración y las pruebas son el 99 por ciento de la vida de un desarrollador que nadie mencionó cuando llegó a W3Schools o comenzó el curso de informática 101.

La capacidad de arreglar aplicaciones requiere excelentes habilidades para resolver problemas, pero no solo depurar código. A veces, la solución para los usuarios que no pueden descargar sus facturas es hacer que la página se pueda imprimir, en lugar de pasar un día generando archivos PDF. A veces, un enlace puede reemplazar una semana de desarrollo, pero esa elegante solución no sucederá si los desarrolladores resuelven problemas simplemente escribiendo muchas líneas de código.

Las pruebas son un punto ciego maravilloso para muchos desarrolladores, a pesar de las muchas herramientas que existen. Utilice pruebas unitarias, selenio, pruebas de carga y herramientas de creación de perfiles como xhprof. Análisis de elementos como New Relic para reducir el tamaño de su aplicación. Y considere que todo esto es parte del trabajo del desarrollador: es su código, asegúrese de saber que funciona según lo previsto en lugar de esperar que lo haga.

Depuración

La depuración también es un punto delicado. No cómo usar un depurador, sino cómo depurar un problema, por lo que agregaría a la lista de Michael Greer:

  • Impaciencia: ignora agresivamente la información irrelevante para encontrar y resolver el problema real.

Esta es la piedra angular de todas las técnicas de depuración. Ignorar lo irrelevante y encontrar significado en lo relevante. Desafortunadamente, muchos son propensos a martillar servilmente lo irrelevante durante horas o días, solucionando un problema al intentar lo mismo 10 veces.

Hay muchos libros (lamentablemente, no el que le presenté al editor que no nombraré) sobre depuración y todos los desarrolladores deberían leerlos todos. Un desarrollador realmente bueno puede depurar problemas en un sistema sin ver una línea de código.

07. Qué quieren los usuarios

Comprenda lo que la gente que le rodea está tratando de hacer. Disfrute del código, me encanta el arte de aplicar sangrías a los archivos CSS a la perfección o de optimizar una aplicación de rieles, pero recuerde que todo tiene un propósito.

Los desarrolladores necesitan comprender el negocio, las operaciones y los procesos comerciales porque sus cosas ayudan a ejecutarlo. Los desarrolladores con este conocimiento pueden crear software y aplicaciones que ayuden a los usuarios, pero a menudo parecen inusualmente productivos. Esto puede deberse a su rápida escritura o al asombroso conocimiento de la pila, pero es más probable que se deba a su conocimiento de lo que quieren los usuarios.

Mercado competitivo

Volviendo a mi punto original, que el desarrollo es cada vez más fácil y el mercado de grandes desarrolladores es más competitivo, cualquier desarrollador que sea capaz de comprender los requisitos comerciales y aportar algo excelente para satisfacerlos tendrá una ventaja. Comprender el mercado, los clientes y por qué la gente se separa del dinero es de gran ayuda.

Comprenda los datos y cómo cambiarán con el tiempo. En la mente del desarrollador, deberían alinear las nuevas tecnologías con los desafíos que tiene hoy o que ve venir. De esta manera, cuando sugiera una idea nueva y elegante al MD oa un cliente, se basará en lo que los clientes realmente quieren y obtendrá el presupuesto / tiempo para ello. (Por el contrario, lo peor de lo que se puede ver es que los desarrolladores venden su nueva tecnología favorita como solución para todos nuestros males).

Los desarrolladores tienen mucho control: ¿necesitan saber qué significa cada campo de la base de datos para el usuario final? Si cambiamos los datos, ¿qué verán los usuarios? ¿Existe una mejor manera de ayudar a los usuarios? Con demasiada frecuencia, la opinión de los administradores de bases de datos es que el mundo es un mal reflejo de su base de datos en lugar de que su base de datos sea una mala representación del mundo real. El mundo es un desastre y sorprendentemente lleno de casos extremos. Háganlo, administradores de bases de datos.

08. Dibujar y escribir

Dibujar es la forma más directa de comunicar cómo serán las cosas. Los desarrolladores deben poder dibujar sus ideas en pizarrones, papel y tapetes de cerveza.

Los desarrolladores deben poder hacer prototipos en papel, imprimir capturas de pantalla y hacer garabatos en ellas solo para comunicar su intención. No confíe en el desarrollador que asiente, dice que entiende y abre su editor.

Fallar por poco dinero: la mejor codificación comienza con el dibujo como un prototipo rápido. Falla con más frecuencia y asegúrate de que todos los desarrolladores que te rodean hagan lo mismo, ya que es más probable que tengas éxito de esa manera.

09. Diviértete

¿Y si tiene que dedicar 10 horas a resolver un problema moviendo un enlace? Disfrútalo, incluso si solo es el desafío de terminar el trabajo.

La peor actitud de los desarrolladores (o de cualquiera) es la apatía hacia lo que el equipo está tratando de lograr. Desafortunadamente, esto es común, porque los desarrolladores se ven a sí mismos fuera de lo que el equipo está logrando. (El programador apasionado plantea la pregunta, "¿cuánto más divertido podrías hacer tu trabajo?", pruébalo.)
Y prepárate para mostrar tu trabajo, ya que lo contrario es: no amplíes después de haber probado un par de tutoriales sobre Ruby a "Experience of Ruby".

El desarrollo web y de aplicaciones es todavía una profesión joven, pero el conjunto de habilidades que realmente necesitan los grandes desarrolladores se está expandiendo. Todo el mundo debería esperar más de los desarrolladores porque cuanto antes salgamos de la trastienda y nos involucremos en el proceso creativo, mejores serán los resultados.

10. Mantente alerta

Para llevar esto a una buena ronda 10, agregaré una última cosa. Estar atento. Encuentra competencia. El peor tipo de cualquier cosa es uno aislado.

"Sé siempre el peor tipo en cada banda en la que estés".

Los peores, en realidad, los muy malos, los programadores, codificadores, diseñadores aprenden sus cosas y se duermen en los laureles. Sin marcapasos, es demasiado fácil reducir la velocidad y sin ver competencia se convierte en un hábito verse por encima del promedio.

Entonces, sé lo peor que puedas encontrando lo mejor. Únase a proyectos fuera del trabajo, contribuya y busque comentarios y críticas porque cuantas más críticas reciba, menos personas le darán en el futuro. Cuando adivinas lo que quieren mejor de lo que son, entonces eres el desarrollador ninja que todos quieren.

Dan Frost es director técnico de la empresa web de servicio completo 3EV, socio oficial de AWS. Ha trabajado en CMS y desarrollo de aplicaciones web durante siete años.

¿Me gusto esto? ¡Lee esto!

  • Cómo crear una aplicación
  • Las mejores fuentes web gratuitas para diseñadores
  • Descubra lo que sigue para la realidad aumentada
Articulos Populares
Cree un componente principal compatible con SEO para NextJS / React
Leer

Cree un componente principal compatible con SEO para NextJS / React

i bien React e una podero a biblioteca de Java cript, no incluye toda la pieza que nece ita para crear un di eño de itio web imple y funcional. NextJ e un marco de React que le permite crear iti...
3 trailers de videojuegos impresionantes
Leer

3 trailers de videojuegos impresionantes

i de ea aber qué tan lejo ha llegado la indu tria de lo videojuego en lo último año , olo mire u avance , que compiten cada vez má con lo avance de película por la emoció...
Las mejores cámaras de apuntar y disparar en 2021
Leer

Las mejores cámaras de apuntar y disparar en 2021

Tener una de la mejore cámara de apuntar y di parar e una gran idea para lo creativo , ya que on independiente , muy conveniente y pueden er muy económica . Una cámara de apuntar y di p...