Cómo convertirse en un gran desarrollador de un buen desarrollador

Concéntrese en las habilidades blandas.

Hay ciertas características que diferencian a los grandes desarrolladores de los buenos desarrolladores. Y va más allá de lo que saben.

El conocimiento y la información están disponibles hoy para todos, pero el carácter es algo más fundamental. Después de trabajar con más de 1000 desarrolladores premium en la ruta escalable, (descargo de responsabilidad: soy el fundador) hemos podido identificar 7 cualidades que diferencian a los grandes programadores.

1. ACTITUD POSITIVA

Un gran programador se preocupa por su producto. Son positivos, están dispuestos a hacer todo lo posible para hacer el trabajo y dar lo mejor todos los días. Aunque es importante no agotar a un desarrollador con plazos urgentes frecuentes, a veces esto es inevitable. Cuando necesite llevar un producto al mercado o necesite enviar una determinada característica antes de la fecha límite, el gran programador dará un paso adelante y lanzará el producto siempre que sea posible. Porque les importa Un gran desarrollador no deja que su ego se interponga en la toma de comentarios. Una buena manera de inculcar una actitud positiva es darles proyectos interesantes para trabajar, darles un sentido de propiedad y alabarlos por su buen trabajo. Las startups pueden ofrecer opciones sobre acciones, pagar a los empleados por trabajar horas extras, proporcionar vacaciones remuneradas remuneradas o encontrar otras ventajas que garanticen que se conserven excelentes programadores.

CÓMO PROBAR ESTA HABILIDAD:

Preguntas de muestra de la entrevista: 6 preguntas de muestra , 4 preguntas vitales de la entrevista , respuestas de Quora .

Otras preguntas:

  • ¿Cómo manejas el conflicto? (aversión al conflicto u orientación a la solución)
  • ¿Te consideras afortunado? (arrogante o humilde)
  • ¿Cómo fue tu viaje a la entrevista? (Reclamante o sin preocupaciones)
  • ¿Con qué tipo de personas no te gusta trabajar? (¿traen a su jefe?)

2. HABILIDADES DE COMUNICACIÓN SUPREMA

Las buenas habilidades de comunicación se correlacionan directamente con las buenas habilidades de desarrollo. Un gran desarrollador es capaz de comprender los problemas claramente, dividirlos en hipótesis y proponer soluciones de manera coherente. Entienden los conceptos rápidamente, o hacen las preguntas correctas para comprender, y no necesitan tener todo escrito en el documento de especificación. Los grandes desarrolladores offshore generalmente hablan varios idiomas de manera coherente y se sienten muy cómodos con la documentación en inglés. En el mundo de la tecnología, el inglés es el idioma de facto de la mayoría de las interacciones de documentación e desarrollador. Si no lo hablan lo suficientemente bien, necesitarán intérpretes y traductores, haciendo que sus conocimientos sean de segunda mano y rápidamente obsoletos.

CÓMO PROBAR ESTA HABILIDAD:

– Simule una reunión scrum y vea cómo interactúan.

– Déles un problema / escenario y vea cómo se comunican de manera efectiva.

– 10 preguntas para hacer

3. EXCELENTE A LA VEZ Y GESTIÓN DE TAREAS

Los grandes desarrolladores son altamente confiables. Tienen una fuerte ética de trabajo y se presentan a las reuniones a tiempo. Una habilidad importante es la capacidad de estimar la cantidad de tiempo necesaria para completar una tarea, comunicarla y cumplirla. Los desarrolladores excepcionales son excelentes para administrar a sus clientes o líderes en lugar de que usted los administre.

CÓMO PROBAR ESTA HABILIDAD: la prueba generalmente está en el pudín. Una buena manera de evaluar a cualquier desarrollador en estas cualidades es firmar un contrato a corto plazo y tener un período de evaluación en el que todos brinden comentarios sobre el desarrollador. La clave es reconocer las fortalezas y debilidades de su equipo desde el principio y evolucionar el equipo en función del rendimiento. Si alguien no está cumpliendo, quizás deba tomar la difícil decisión de retirarlo del equipo y probar a alguien nuevo.

4. HABILIDAD DE APRENDIZAJE RÁPIDO

Los grandes desarrolladores suelen ser sorprendentes autoaprendices. Tienen la capacidad de aprender nuevas tecnologías por su cuenta y no se sienten intimidados por las nuevas tecnologías. Tienen la capacidad de extraer datos dispares y procesar información sobre la marcha. Cada programador experimentará una situación en la que él o ella no sabe la respuesta. Los grandes programadores encontrarán diferentes recursos, hablarán con las personas adecuadas y encontrarán la solución pase lo que pase. La mejor habilidad que cualquiera puede tener es saber cómo aprender, y los grandes desarrolladores han dominado la habilidad del autoaprendizaje.

CÓMO PROBAR ESTA HABILIDAD:

– Preguntas para hacer, bolsa de trabajo

– Entrevistas de casos

– Entrevistas estructuradas de comportamiento.

– Preguntas de adivinanzas

5. EXPERIENCIA TÉCNICA PROFUNDA Y AMPLIA

Los grandes desarrolladores han trabajado con un puñado de tecnologías el tiempo suficiente para convertirse en expertos y son competentes con muchas. Por supuesto, es importante encontrar un programador que haya trabajado en un producto similar al suyo o que utilice las mismas tecnologías. El programador adecuado para su proyecto podrá comenzar a ejecutar porque ya conocen las tecnologías correctas. Seguirán los estándares de codificación y escribirán un código que sea comprensible y comentado cuando sea necesario y que se pueda pasar a otra persona fácilmente. Al combinar sus habilidades cognitivas y su diversa experiencia en la industria, pueden llegar a soluciones óptimas rápidamente. Un desarrollador experimentado conoce bien las mejores prácticas como el desarrollo ágil, el software de gestión de tareas (Jira, Trello, etc.), el control de versiones (si conocen a Git, es una señal de que se han movido en sistemas anteriores como SVN) y están trabajando en diferentes entornos (entorno de desarrollo local y conocimiento práctico de implementación de aplicaciones), así que pregúnteles acerca de estas cosas.

CÓMO PROBAR ESTA HABILIDAD:

  • Pida ejemplos de trabajos anteriores: ¿Pueden mostrar productos anteriores que hayan construido, enviar muestras de código o capturas de pantalla de diferentes mejoras?
  • Referencias: pedir referencias. Hablar con emprendedores o CTO para los que han trabajado le dará una indicación de su habilidad técnica y sus otras cualidades intangibles.
  • Desafíos de programación: aunque la mayoría de los desafíos relacionados con el trabajo real no se parecen a los desafíos de programación que se encuentran en sitios como CodeEval , si un desarrollador puede tener éxito en algunos de los problemas basados ​​en algoritmos más difíciles en un corto período de tiempo, sabe que está lidiando con Una persona inteligente que conoce su informática.
  • Hackathons: hoy en día, muchas empresas han comenzado a contratar directamente desde hackathons. En los hackathons puedes ver a programadores altamente talentosos construir software en cuestión de horas. Es una excelente manera de evaluar la eficiencia de la programación, la necesidad de crear software utilizable y qué tan bien funcionan individualmente y en equipo.

6. UN BUEN JUGADOR DE EQUIPO

Otra excelente calidad de los desarrolladores premium es su capacidad para ayudar a otros desarrolladores a mejorar. Ofrecen ayuda a los compañeros de equipo cuando están estancados, enseñan nuevas habilidades a otros y escriben documentación que ayudaría a los compañeros de equipo no solo en su organización sino también en la comunidad de desarrolladores en general.

CÓMO PROBAR ESTA HABILIDAD: preguntas para evaluar las habilidades de colaboración

7. ALTO ENFOQUE EN EL USUARIO FINAL

Un buen programador hace lo que se le pide mientras que un gran programador piensa en el usuario final del software y trabaja para resolver sus problemas dentro de las capacidades de la organización. Un gran programador quiere saber que la característica que está creando es de gran valor y se retrasa cuando una característica no crea ningún valor para nadie. A veces, una característica es extremadamente difícil de construir o lleva mucho tiempo. El gran desarrollador comprenderá la necesidad de construirlo y motivará al equipo técnico a encontrar la solución.

CÓMO PROBAR ESTA HABILIDAD: liderazgo , 50 preguntas principales

OTRAS COSAS A CONSIDERAR:

La experiencia está sobrevalorada: aunque la experiencia es importante, no debería ser el único factor que utilice para contratar talento técnico. Alguien con una capacidad de aprendizaje rápido, gran actitud y habilidades de liderazgo emergentes podría ser más creativo con soluciones que son de gran valor para el negocio. La experiencia a menudo viene con el ego, y tomaremos la actitud correcta sobre la experiencia en muchos escenarios.

La importancia de estas cualidades difiere según el tamaño de la empresa: las empresas más grandes y maduras a menudo buscan un conjunto de habilidades específicas porque sus posiciones son más estáticas y definidas. Sin embargo, la capacidad de resolver problemas, aprender nuevas tecnologías, usar muchos sombreros y trabajar en equipos pequeños se vuelve más importante en un escenario de inicio.

¿CÓMO PUEDE ALGUIEN CONVERTIRSE EN UN GRAN DESARROLLADOR?

Agudice la mente: con la accesibilidad a los cursos en línea, no tiene que ir a la escuela para convertirse en un gran desarrollador. Sin embargo, muchos programadores excelentes fueron a buenas escuelas y se especializaron en informática. Obtener un título en ciencias de la computación ayuda a comprender mejor la arquitectura y le brinda una perspectiva holística del mundo de la programación de computadoras. Estar sincronizado con lo último en tecnología ayuda a mantenerse actualizado. Lea muchos artículos y blogs sobre las últimas tendencias en tecnología, pruebe nuevos juguetes durante su tiempo libre, siga comunidades, asista a conferencias y agregue valor a la comunidad escribiendo.

Sigue a tu corazón: hacer cosas que te apasionen automáticamente te ayudará a mejorar. Los mejores programadores son curiosos, les encanta construir cosas y les encanta el impacto que la tecnología tiene en el mundo. Le ayudará a ser más creativo y adquirir habilidades en todos los ámbitos.

Obtenga la experiencia: al comenzar, no acepte un trabajo solo porque le paga bien. Tome un trabajo que lo ayudará a obtener una experiencia significativa en un corto período de tiempo. Incluso es por casi no pagar. Construye esa experiencia. Intenta trabajar para una startup. Trabajar para una gran empresa. Trabajar en todas las industrias.

Forme su caja de herramientas: la tecnología está cambiando muy rápidamente. Se están construyendo nuevas plataformas, se están desarrollando nuevos lenguajes y se están creando productos a un ritmo sorprendente. Es importante mantenerse adaptable y aceptar el cambio. Elija las últimas herramientas y forme su caja de herramientas. Un gran desarrollador aprende las herramientas desde el principio y luego crea cosas.

Hola tushar

Para pasar de bueno a excelente, siento que necesitas tener estas características:

  • Pasión

    El aspecto Pasión debería ser tu impulso para convertirte en un mejor desarrollador. ¿Estás dispuesto a aprender cosas nuevas para avanzar en tu carrera de programación? ¿O es solo otro trabajo de 9 a 5 para usted?

  • Visión

    El aspecto de la visión proviene de estar en la industria durante un largo período de tiempo. Una vez que tenga la experiencia, comenzará a ver hacia dónde avanza lentamente la industria. Una vez que tenga visión, puede ajustar su conjunto de habilidades para avanzar hacia un objetivo específico.

  • Comunidad / Compañeros

    Si bien he publicado formas de mostrar que eres un programador de rockstar (10 formas de mostrar que eres una estrella de programación) y 3 formas de convertirte en el mejor desarrollador (5 pasos para comenzar tu carrera de programación (y tres formas de convertirte en el mejor) ), Creo que la mejor manera de pasar de bueno a excelente es participar en una comunidad de desarrolladores.

    No solo brindará comentarios a sus pares, sino que, a su vez, recomendarán mejores formas de codificar las aplicaciones. Es una situación de ganar-ganar.

    Como dicen, los pájaros de una pluma se juntan. Encuentre otros desarrolladores para ayudar a intercambiar ideas entre sí. Validará sus habilidades de codificación también.

    Y si son grandes amigos, te dirán si tu código está loco o no. 😉

  • Investigación

    Estoy constantemente leyendo cuando se trata de desarrollo. Por supuesto, hoy en día es como tomar un sorbo de la manguera de bomberos. Hay tanta información por ahí, que es difícil mantenerse al día. Use un lector de RSS (como Feedly) y suscríbase a los feeds de un sitio donde le envía noticias en lugar de ir a varios sitios web para ver sus noticias.

Espero que esta lista ayude. ¿Alguien más tiene algo que agregar, mis compañeros? 😉

ACTUALIZACIÓN: (2015-08-10) Acabo de escribir una publicación de colección el viernes sobre cómo convertirse en un gran desarrollador (Colección: ¡Cómo ser un gran desarrollador!)

(¡No te olvides de votar!)

More Interesting

Me gusta la programación y la informática, pero no me gusta la programación competitiva. ¿Qué tengo que hacer?

¿Hay demasiados desarrolladores / ingenieros de software en el campo?

¿Es posible que un desarrollador de software junior de 25 años de Israel obtenga una visa de trabajo en los Estados Unidos?

¿Sería una lástima que obtuviera un doctorado en Ciencias de la Computación en una buena universidad, pero solo trabajara como ingeniero de software (no como investigador científico o profesor)?

¿Hay un buen ingeniero de software que no conozca Java?

Cómo estudiar bien en ingeniería de software (M.Tech)

¿Quién es un ingeniero de software senior? ¿En qué momento sabes que eres un ingeniero de software senior? ¿Realmente hay alguna lista de verificación?

¿Qué debo hacer para ser ingeniero de software? ¿Qué camino de aprendizaje debo tomar?

Ingenieros de software, ¿alguna vez miran atrás a proyectos pasados ​​y se preguntan cómo lo hicieron?

Si las escuelas de comercio enseñaran ingeniería de software, ¿qué tan efectivo sería para cerrar la brecha entre la demanda y la oferta de ingenieros de software?

¿Te gusta realizar entrevistas con ingenieros de software?

¿Cuántos lenguajes de programación debes conocer con fluidez para ser considerado ingeniero de software oficial?

¿Cómo es el mercado laboral para un ingeniero de software o un programador en Newfoundland, Canadá?

¿Quiénes son algunas de las personas (y sus historias) que todos los ingenieros de software deberían conocer?

Cómo comenzar a invertir en el mercado de valores en India sin conocimiento previo