¿Cuáles son las habilidades clave que busca en un desarrollador de software?

Para ser un desarrollador exitoso en cualquier empresa, creo que una habilidad crítica es la resolución de problemas . El desarrollo de software se trata principalmente de resolver problemas. Tratar con software requiere un pensamiento muy estructurado. También puede requerir paciencia y pensar fuera de la caja para hacer frente a cualquier error.

Un desarrollador también debe prestar atención a los detalles . Es muy importante tanto para escribir el código, porque un pequeño error puede arruinar todo el software, como para corregir errores cuando tienes que localizar e identificar los problemas más pequeños.

Otra cosa es la constante motivación de aprendizaje . Eso es especialmente importante cuando se trata de startups. Si un desarrollador puede adaptarse rápidamente al mercado y las tecnologías de desarrollo de software en constante cambio, podrá ayudar a las startups que generalmente intentan hacer las cosas de manera diferente e ir más allá de lo esperado.

Finalmente, un ingeniero de inicio debería poder comunicarse efectivamente con otros desarrolladores, gerentes y clientes. He visto muchos buenos ingenieros que no pudieron trabajar con otros y eso fue un verdadero problema porque ambas partes estaban descontentas. Los ingenieros no pudieron comunicar sus necesidades y expectativas y fue difícil explicarles lo que queremos lograr.

Si desea obtener más información sobre la contratación de desarrolladores, le recomiendo leer Contratar personas mejor que usted, eso es lo único que tiene sentido por Inwedo en Inwedo – Software to Go Beyond

Tuve que evaluar a los desarrolladores de software mientras supervisaba los contratos gubernamentales para la programación.

  1. Habilidades de análisis. La capacidad de traducir problemas del mundo real en estructuras y procesos de datos lógicos. Derivar la simplicidad de la complejidad.
  2. Habilidades en programación. La capacidad de crear sistemas complejos de código a partir del Análisis. Incluye una comprensión del nivel de abstracción disponible en varios idiomas y las herramientas en las que iban a trabajar. Complejidad desde la simplicidad.
  3. La capacidad de trabajar con personas.

    Le di un peso desproporcionado a 3 porque muchos programadores tuvieron tantas dificultades con él. Creo que la programación atrae a las personas que tienden a tener problemas para trabajar con personas y que prefieren trabajar solos. Es muy malo. Mi prejuicio es que el equipo de programación ideal son dos personas, una de las cuales observa al otro programador crear el código y quien detecta los errores a medida que el código está diseñado y realmente escrito y probado. Y que intercambian periódicamente. De hecho, he experimentado que esto produce un código que es un orden de magnitud mejor que cualquier programador que trabaje solo. Reduce los errores en un factor de 10 y el tiempo de producción en aproximadamente la mitad, incluidas las pruebas. Hay estudios que verifican las ventajas, aunque no mis resultados observados. Sin embargo, no tengo referencias. Incluso un programador avanzado y experimentado con un novato real verá buenos resultados; Nunca vi a un programador que no tuviera puntos ciegos y que incluye a los mejores programadores que he conocido.

Para un puesto de desarrollador de software, debería ser capaz de resolver problemas de la vida real. Además de eso, debe tener un buen conocimiento de la estructura de datos y el algoritmo y alterar un lenguaje de programación orientado a objetos para poder codificar en ese lenguaje en particular si le piden que escriba un programa. También debe mencionar las herramientas en las que ha trabajado, como IDE, marcos, etc.