¿Qué es lo que más odias al desarrollar software?

Estar abrumado por la complejidad. Puntos dobles si resulta ser una complejidad innecesaria.

El software es bastante diferente a los ladrillos de lego. No es algo en lo que pueda escribir “la línea que acepta pagos”, luego escriba “la línea que muestra los productos”, luego escriba “la línea que actualiza el inventario”.

Muchos no programadores piensan que es así.

En realidad, trabajamos muy, muy duro para asegurarnos de que cada parte del sistema tenga el menor impacto posible sobre el resto del sistema.

Pero a veces fallamos. Y mete las cosas en un lío. Entonces, cuando cambia la parte de “pago”, de repente, los productos dejan de aparecer. Y nadie puede entender por qué. No debería suceder.

Un eje del dolor es que el software se puede escribir de muchas maneras diferentes para hacer lo mismo. Algunos de ellos son más fáciles de entender y modificar que otros. En el extremo lejano (malo), puede escribir código de espagueti ilegible que no se puede cambiar de forma segura. Esta es la complejidad del código . Pero aún funciona correctamente, ¡así que todos están felices! Y a veces es más rápido preparar este tipo, ¡tan rápido y más barato! ¡Hurra!

Y los profesionales jóvenes a veces escriben así. Los gerentes inexpertos son seducidos por el “más barato, más rápido”. Al menos, hasta que los picaron en la línea.

Esto es frustrante: pasar un mes para descubrir que la dificultad se debió simplemente a una mala redacción del software, nada más.

El otro eje del dolor es la complejidad del problema .

Algunas áreas son inherentemente difíciles.

La matemática detrás del procesamiento de imágenes para un escáner CT médico es realmente difícil. Incluso si codifica ese software perfectamente, será difícil de entender. Porque el problema es difícil de entender.

Por el contrario, escribir una aplicación de lista de tareas es fácil. Nada de eso es difícil de entender.

Entonces tenemos una matriz de dolor:

Si los codificadores profesionales quitan algo de lo que yo digo, es ” por favor, quédese a la izquierda “.

El software es lo suficientemente difícil, sin escribirlo de manera difícil.

Elige fácil. Cada vez.

Escribir software, honestamente.

Simplemente no me gusta la codificación, me encanta resolver problemas. Sin embargo, una vez que he resuelto el problema, tengo que escribirlo. Eso me atrapa. Tal vez sea mi enfermedad juvenil de gratificación instantánea. Simplemente no me gusta hacer el trabajo, especialmente si sé que puedo.

He dejado caer muchos proyectos personales debido a esto. Hacer un juego? ¿Hacer una aplicación móvil? Aprender montaje? Aprender pequeña charla? Aprenda algoritmos … Todo. Una vez que obtengo lo justo, dejo de preocuparme. El problema ha sido resuelto y no tengo ganas de hacer el resto.

PD: ¡La respuesta de Alan Mellor es genial!

Esto iba a ser un comentario, pero parecía estar recibiendo.

Aquí está mi consejo para que cualquiera permanezca a la izquierda en Alan Mellors Graph, antes de comenzar a resolver cualquier problema, pregúntese, ¿ya hay una solución para esto que pueda usar?

Recientemente me hice cargo de una herramienta interna que debe ampliarse, agregando algunas funciones de usuario y otras cosas. El tipo que lo desarrolló usó Spring, dije genial, luego veo que ha implementado su propia autenticación ldap, estoy como bien, luego hay algunas clases para los roles de usuario que había hecho, pensé que estaba bien, use eso y luego vea que se dejan vacíos y no se usan en absoluto. Estaba pensando que si vas a usar algo como la primavera, ¿por qué no usar ninguno de los beneficios y hacerlo tú mismo? Y este desarrollador no era principiante por cierto.

Por lo tanto, tenga en cuenta las soluciones existentes, manténgalas actualizadas y piense en el próximo desarrollador que debe analizar su código.

More Interesting

Para un primer trabajo, ¿es preferible ser ingeniero / desarrollador de software en una gran multinacional o una startup? ¿Por qué por qué no?

Microsoft acaba de lanzar PowerApps (potencia tu negocio con aplicaciones). ¿No crees que una tecnología así es una amenaza para las empresas de TI y los desarrolladores de software?

¿Cómo es ser ingeniero de software en CloudFlare?

¿Pueden los desarrolladores de software o informáticos contribuir a hacer que la energía renovable sea más rentable? ¿Si es así, cómo?

Cómo encontrar la lista de desarrolladores de productos de software en los EE. UU.

¿Qué es lo que más tienes al desarrollar software?

¿Cuándo es demasiado tarde para despedir a los desarrolladores de software? Se suponía que el proyecto estaría completo en 4 meses, pero han pasado 10 meses. Hay muchos errores en la aplicación y parece barata. ¿Qué tengo que hacer?

¿Cómo manejan los desarrolladores de software lo desconocido y lo nuevo?

¿Por qué es más difícil para una mujer conseguir ese trabajo de desarrollador de software?

¿Cuánto puede mejorar un desarrollador promedio en un año?

Me han ofrecido $ 23 / h como desarrollador de software para posponer mi graduación y continuar trabajando a tiempo completo. Estoy a un año de graduarme y tengo dos años de experiencia en el campo. ¿Qué tengo que hacer?

¿Cuáles son los principales factores para determinar si un desarrollador, evaluador, administrador de sistemas u otro profesional de la tecnología asistirá a una conferencia de software?

Cómo conseguir un trabajo en desarrollo de software

¿Qué es 'portar' en el desarrollo de software?

¿Puede continuar con el desarrollo de software si tiene una licenciatura en ingeniería mecánica?