¿Es posible ser un programador exitoso sin creatividad?

Voy a contar mi experiencia, me encuentro con un antiguo desarrollador que puede ser calificado como “No creativo”. Han creado exactamente lo que se les ha dicho que hagan.

PERO han creado un software que no se puede mantener, todos lo hacemos cuando comenzamos, esa es la curva de aprendizaje. El fijador de código es el trabajo perfecto para personas no creativas.

Las personas tienden a codificar primero antes de comprender su producto o negocio. Mi maestro me dijo que un verdadero desarrollador es 10% café, 10% código y 80% pensamiento. De hecho, un desarrollador increíble no necesita Unit Test por la simple razón de que tienen buenos recuerdos y vuelven a leerlos más fácilmente. Pero el desarrollador increíble es bastante raro en estos días.

Cuando desarrolla un proyecto personal desde cero, como todos sugirieron aquí, tiene una mejor comprensión de cada capa. Pero tendemos a perder este conocimiento con lo que llamamos front-end, back-end y sin servidor … Trabajar como desarrollador no es codificar, pero es como un dios que crea un ser humano, debe pensar en la personalidad y la naturaleza de sus productos o problemas en todos los sentidos al preguntar cómo es, qué potencia tiene (velocidad de ejecución, interfaz hermosa, flexibilidad al agregar modularidad …), qué interacción con otros (microservicio, usuario, cliente, estudiantes, investigador, …) … Toneladas de preguntas cuando desarrollas algo.

La creatividad proviene del conocimiento, la apertura, la observación y los impulsores de los sueños. No es diferente de escribir una historia.

He visto a muchos desarrolladores escribir el mismo código una y otra vez cuando son mayores con 10 años de experiencia solo porque no les importa el producto y sienten que no quieren ser desarrolladores en primer lugar. Escribir el mismo código sin desarrollar su propio concepto significa imitaciones (o outsourcing de indios). Esto le impide comprender otro código, comprender cada capa de un software.

Obtuve una experiencia donde 4 desarrolladores y un gerente de proyecto (desarrollador principal, 2 desarrolladores senior y desarrollador de cadenas que reemplacé) que tiene problemas con un problema simple. Han pasado dos o tres meses para averiguar dónde estaba. Estaban buscando el código una y otra vez. Cuando comencé en este equipo por el momento, me quedé boquiabierto al ver que tienen más errores que las cosas resueltas. Y este problema lo resuelvo en pocos días porque analizo en un ángulo diferente y no me gusta hacer como los demás. Quizás porque soy un INTP. Pero si hubieran sabido lo básico de la creación de un software, en primer lugar, nunca habría sucedido.

La creatividad es importante para resolver problemas y también ayudarlo a no abandonar a mitad de camino cualquier tipo de problemas. La creatividad lo lleva a la empatía, a la comunicación, a una mejor experiencia de usuario, a trabajos de mejor calidad.

Puedes ser un desarrollador poco creativo, mi antiguo equipo es la prueba, pero puedes ser la causa de todos los problemas. La creatividad puede aprender, debes postergar un poco, leer, escribir, comunicarte, hacer deporte, jugar videojuegos, …

Entonces NO, no puedes.

Gracias por el A2A (pedir respuesta):

He conocido y trabajado con programadores que estaban claramente “desafiados por la creatividad”. La programación es una habilidad, que a menudo implica la traducción de requisitos inequívocos en un código correcto y cuidadoso que simplemente cumpla con esos requisitos. Dado que los requisitos (tomados uno a la vez) a menudo no son particularmente nuevos y originales, la traducción al código se puede hacer por experiencia de haber cumplido requisitos similares anteriormente. No tiene que haber mucha creatividad involucrada.

Por supuesto, en algo como la programación de juegos, o la creación de otras formas de “nuevo uso” (que a menudo equivalen a diversión y entretenimiento, o que implican investigación científica o modelado profundo de un fenómeno poco comprendido), el programador creativo tiene un claro ventaja.

La creatividad humana es profundamente valiosa en todas las formas de esfuerzo humano, creo. Un conserje creativo y comprometido hace un mejor trabajo que uno que solo realiza los movimientos. Por supuesto, esto es cierto para la programación de computadoras. También es el caso de que para ciertas ocupaciones y opciones de vida, la creatividad es un requisito más crítico que para otros. Ser un artista creativo o un escritor de televisión tiende a requerir de manera más crítica creatividad que ser un codificador. Sin embargo, podría ser que, dado que el codificador está creando un nuevo comportamiento informático con su código, el elemento de creatividad es más importante en la codificación que en otras profesiones de oficio comparables.

FWIW, tiendo a enfocar mi trabajo como un desafío creativo, y creo que ha sido una ayuda para mí.

La programación en sí misma es análisis, ni creatividad. Si bien es posible que no pueda idear un programa para escribir, si trabaja para una empresa que le asigna trabajo (arregle esto, escriba un programa para hacerlo), y es un buen programador (puede analizar un problema y use el análisis para encontrar una solución), no le iría muy mal.

Pero … si está haciendo esto no como una carrera futura, sino solo para usted, ¿podría una persona sin (inserte algo que falta) ser un buen dentista? O un buen biólogo? O … se te ocurre la idea, si vas a usar la programación para disfrutar, pero no vas a disfrutarla (y golpear tu cabeza contra la pared para tener una idea de un programa para escribir no es disfrutar), ¿por qué molestarse? (Algunas personas piensan que la programación es algo que todos deberían aprender. Eso no es tan cierto que tendría que estudiar algunos grados avanzados para decirles todas las razones por las que no es cierto).

Como profesional, no necesita creatividad, ya que la mayoría de las veces, el proyecto lo dicta su jefe o el cliente.

Sin embargo, cuando esté comenzando, entonces sí, una vez que haya descubierto los conceptos básicos, querrá trabajar en un proyecto.

Si no puede pensar en un proyecto para escribir, puede intentar simplemente copiar otra idea, es decir, hacer un clon básico de Twitter.

Una vez que haya pasado la etapa básica, necesita construir algo , es la mejor experiencia de aprendizaje.

No. Es posible ser un mono código exitoso sin creatividad. Pero no un programador.

No paso la mayor parte de mi esfuerzo de programación escribiendo código. Lo paso pensando. ¿Cuál es el resultado deseado aquí? ¿Cuál es la mejor manera de lograr eso? ¿Está clara esta especificación? Si no, ¿cómo expreso lo que necesito saber?

Programar cualquier cosa no trivial requiere una cuidadosa reflexión y planificación. O en otras palabras, creatividad. Estás diseñando y creando algo, no solo siguiendo servilmente una especificación sin comprender lo que significa o lo que debe hacer.

Ser un “programador no creativo” es como ser un “artista” que solo puede pintar por números. Se requiere creatividad para hacer el trabajo en cualquier cosa que no sea el nivel más básico. Tienes que saber cómo y cuándo colorear fuera de las líneas.

La respuesta es muy sencilla y no. Porque cuando trabajas en un proyecto solo piensas cómo resolverlo y cómo puedes obtener el resultado de manera simple. Entonces, como viaje de aprendizaje de diferentes cosas, se logrará un gran conocimiento y ese es su activo. Por lo tanto, debe ser dedicado y un poco creativo también.

Debe ser creativo: creativo en la selección de herramientas y el desarrollo de ideas para resolver el problema que enfrenta.

Pero lo que parece estar describiendo no es esa forma de creatividad, sino pensar en un problema o aplicación comercial que será una salida interesante. Podría ser mejor con la pregunta “¿Cuáles son las tres ideas de aplicación que son problemas adecuados para un programador principiante que usa ?” Una vez que tenga el problema, quizás se encuentre más creativo.