Si solo pudieras enumerar tres cosas que te hacen un buen desarrollador, ¿cuáles serían?

  1. Curiosidad.
  2. Habilidades de comunicación.
  3. Inteligencia.
  • Curiosidad Estoy usando este como un todo para el entusiasmo, la voluntad de aprender, el interés técnico y la iniciativa, la falta de aversión al cambio, etc. Es un indicador muy fuerte para desarrolladores mediocres frente a excelentes, en mi experiencia.
  • Habilidades de comunicación . El desarrollo de software es un esfuerzo de colaboración y social, tanto para otros desarrolladores y otros pares como el desarrollo de negocios (marketing, gestión, ventas, etc.), control de calidad, diseñadores y, por supuesto, usuarios / clientes finales. Un desarrollador fuerte con poca comunicación y habilidades de trabajo en equipo puede ser tolerado por su contribución técnica, pero la tolerancia es todo lo que será.
  • Inteligencia Estoy usando este como otro conjunto para habilidades técnicas, capacidad de resolución de problemas, capacidad de aprendizaje, pensamiento lógico, etc. El desarrollo de software es una búsqueda intelectual, lógica, estructurada y matemáticamente fundada. La fuerza en esas áreas viene más o menos con el territorio.

En mi experiencia, las 3 cosas principales que un desarrollador web necesita sobre todas las habilidades son:

  1. La voluntad de aprender y la implacabilidad en términos de querer tener éxito: el desarrollo web es una montaña rusa que se está desmoronando con las nuevas tecnologías que salen a menudo. Todo lo que necesita para aprender a convertirse en un gran desarrollador web está disponible de forma gratuita en Internet. Aprenda a codificar y ayudar a organizaciones sin fines de lucro
  2. Humildad: habrá un millón de personas mejor que tú. Tenga confianza para realizar tareas que no sabe cómo hacer y descubra cómo hacerlo a través de Google y prueba y error. Si surge una oportunidad en la que puede aprender de alguien más experimentado que usted, aprovéchela. Quédense hambrientos quédense tontos.
  3. Una computadora: es bastante necesaria.
  1. Se juega bien con (todos) los demás.
  2. Puede escribir un programa simple y confiable para jugar tic-tac-toe, que alguien puede transferir a cualquier CUI o GUI razonable sin tener que mirar al menos el 50% del código.
  3. Está familiarizado con Quick Sort, Heap Sort, Merge Sort, AVL y / o árboles Red-Black, listas doblemente enlazadas, tablas hash, árboles B, notación Big-Oh.
  4. Dispuestos a pasar hasta el 10% de su tiempo aprendiendo los requisitos, incluido el conocimiento implícito sobre la aplicación.
  5. Puede manejar algunas revisiones iterativas de planes y requisitos, como una lista planificada de 3 que se convierte en una lista de 5.

Interesar

Todo comienza con esto. Estar interesado en la programación. Sepa que es divertido y hágalo como un juego. Di ‘me están pagando por algo que hubiera hecho gratis’ cuando estás solo (sin embargo, no dejes que te exploten). Tómalo como un juego.

Persistencia

Prepárese para elegir un nuevo idioma o biblioteca en solo una semana y continúe trabajando con él. No te frustres cuando surjan cosas nuevas. Véalos como nuevos extraños con nueva experiencia. ¿Qué tienen para ofrecerte?

Atajos

saber cómo, cuándo usar Ctrl + c Ctrl + v. Reutilizar tanto como sea posible. Usa mucho el teclado. Conoce tu IDE. Sepa qué atajos tiene allí. ¿Cómo puedes hacer tu trabajo más rápido?

  1. Fuerte solucionador de problemas. Sin esta habilidad, el desarrollo es imposible.
  2. Amor de aprender. Si uno quiere aprender una vez y luego hacer lo mismo por el resto de su vida, debe ingresar a la contabilidad o al ingreso de datos.
  3. Integridad: Haz el trabajo. Dar lo mejor de sí. Se honesto. Trata a los demás con respeto. Dar crédito donde corresponda. Aceptar la culpa de los propios errores. Sea proactivo: no deje algo para los probadores si uno ya sabe acerca de un error.

1. La paciencia y las habilidades necesarias para comprender los problemas que está tratando de resolver a un nivel profundo.

2. La capacidad de gestionar la complejidad a través de estructuras disciplinadas que permiten abstracciones fáciles y poderosas.

3. Familiaridad con las herramientas necesarias para hacer el trabajo.

  1. Experimentación
  2. Experiencia
  3. Tutoría