¿Cómo puede un cerebro derecho lidiar con el código masivo de cerebro izquierdo? [cerrado

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/18551

  •  22-10-2019
  •  | 
  •  

Pregunta

Soy un artista, principalmente, aunque me describo como artista/físico. Si bien puedo hacer matemáticas, lidiar con las palabras y las cosas "lógicas" consideradas a la izquierda, es un esfuerzo y cometo errores, mientras que lo hago bien y la mayoría de las veces pienso en términos de las cosas asociadas con el cerebro derecho Pensamiento: relaciones espaciales, contexto holístico de gran imagen, etc. Por supuesto, todo lo que es confuso, ya que la teoría del cerebro de la derecha izquierda se simplifica demasiado y ninguna actividad mental es tan simple. Sin embargo, siento que encajo bien con artistas, directores de videos, chefs y otros pensamientos no verbales, tipos creativos, mientras que la mayoría de las personas en "TI" o ingenieros de software hardcore tienen mentes que funcionan de manera diferente, con atención a los detalles, manteniendo la mantenimiento de Muchos detalles en mente a la vez, y fuertes capacidades racionales y verbales.

Así que aquí estoy en un trabajo que me pagan para arreglar errores quisquillosos y oscuros en un enjambre masivo de software C ++, muy pesado en OO, y cualquier línea de código no tiene sentido a menos que tenga en cuenta aproximadamente otros veinte nombres de clase y métodos, Relaciones entre ellos, el flujo de ejecución (muy tipo espagueti) y otros detalles.

Además de eso, también estoy fuertemente contra gran parte de los estilos contemporáneos de C ++ y OO. Aquellos que escribieron este código realmente bebieron el oo profundo y el moderno C ++ Kool-ADE. Creo que en realidad hace que el código sea mucho más difícil de seguir, mucho más difícil de decidir dónde arreglar o cambiar algo. No sé si esto es parte de la difusión izquierda/derecha (o como quieras llamarlo) o no.

Pero trabajar en el C ++ debo: la gente depende de mí para mis ingresos. ¿Cuáles son los consejos y las técnicas para lidiar con esta situación, para ser lo más efectivos posible para mi empleador?

¿Fue útil?

Solución

Intente meterse más en el lado del diseño de las cosas donde sentirse cómodo con la confusión es una fortaleza sería mi sugerencia en términos de progresión profesional. Como alguien a quien le gusta ser creativo, trabajar en el mantenimiento puede no ser un gran ajuste, mientras que trabajar en cosas nuevas puede ser mejor si eso es posible.

Si bien no hay nada de malo en querer un poco de orgullo en el trabajo de uno, querer no empantanarse en los detalles puede ser algo que quizás tenga que encontrar un nuevo enfoque para mejorar. En lugar de mirarlo como bajar y ensuciarse, puede haber otra perspectiva que podría hacerlo divertido de alguna manera.


El apoyo y el mantenimiento probablemente tengan a sus fanáticos, ya que algunas personas preferirían ajustar los sistemas existentes que poner en un nuevo sistema. Sé que tiendo a trabajar mejor con un sistema existente que estoy cambiando en lugar de tratar de sacar algo del éter.

Lo que puede intentar hacer es observar cuando las personas desean ideas para lidiar con varios puntos de problemas y soluciones de lluvia de ideas, ya que esto es parte de lo que le gusta. No se trata de saber qué líneas de código cambiar, sino si puedes decirle a alguien: "¿Miraste en ese objeto y viste si está haciendo más de lo que afirma?" Tipo de cosa.

Otro punto es saber lo que desea crear: gráficos, aplicaciones, sitios web, procesos o sistemas? Todas estas son cosas ligeramente diferentes que al querer crear, se le podría pedir "Crear qué?"

Otros consejos

No lo hace sonido (al menos para mí) como su código está particularmente orientado a objetos, o particularmente similar a "C ++ moderno". Más bien lo contrario, uno de los llave elementos de la buena orientación de objetos es la encapsulación, cuya intención principal es reducir La cantidad de cosas que debe realizar un seguimiento en un momento dado. Del mismo modo, "muy tipo espagueti ... flujo de ejecución" suena ni orientado a objetos ni moderno (nada).

Ahora, supongo que si miré el código que está manteniendo, podría verlo de manera diferente, y/o puede ver que mi código es similar a lo que está manteniendo en este momento, eso es un poco difícil de adivinar. Es cierto que si intentas rastrear cada detalle de cómo funciona mi código, supongo que podrías verlo como un flujo de control de espagueti.

Solo, por ejemplo, soy mucho más cariñoso (o al menos tolerante) de bastantes conversiones implícitas que muchos programadores: uso bastante cosas como las clases de proxy. Esto significa que fácilmente podría haber tres o cuatro objetos temporales de diferentes tipos creados en el curso de llamar a una sola función (y tenga en cuenta que en realidad no estoy hablando de ejecutivo la función, solo vocación eso). Por supuesto, todos esos objetos temporales serán destruidos nuevamente al final de la expresión que contiene la llamada de función. Si lo cuenta, podría tener fácilmente media docena o más funciones separadas invocadas para llamar/regresar de una función que se llama "visiblemente" en el código.

El objetivo de hacer las cosas de esa manera, sin embargo, es facilitar pasar por alto La mayoría de las trivia involucradas en (por ejemplo) tratando detalles como cómo Se representa un objeto en particular y se concentra únicamente en lo que realmente es en cambio. Solo necesitaría lidiar con la mayor parte de ese código si vio un error en esa parte en particular. Intento evitar gran parte de eso, sin embargo, creando clases tan pequeñas y simples, que hacen tan poco, que apenas se necesita más que una mirada para darse cuenta de que es obviamente Correcto, por lo que es fácil ignorar a partir de entonces.

Advertencia: Esta respuesta es muy larga y tiene mucha psicobabble (que trato de explicar, pero aún así). ¿Qué puedo decir? La psicología es una de mis temas favoritos fuera de la programación.

Soy un artista, principalmente, aunque me describo como artista/físico. Si bien puedo hacer matemáticas, lidiar con las palabras y las cosas "lógicas" consideradas a la izquierda, es un esfuerzo y cometo errores, mientras que lo hago bien y la mayoría de las veces pienso en términos de las cosas asociadas con el cerebro derecho Pensamiento: relaciones espaciales, contexto holístico de gran imagen, etc. Por supuesto, todo lo que es confuso, ya que la teoría del cerebro de la derecha izquierda se simplifica demasiado y ninguna actividad mental es tan simple. Sin embargo, siento que encajo bien con artistas, directores de videos, chefs y otros pensamientos no verbales, tipos creativos, mientras que la mayoría de las personas en "TI" o ingenieros de software hardcore tienen mentes que funcionan de manera diferente, con atención a los detalles, manteniendo la mantenimiento de Muchos detalles en mente a la vez, y fuertes capacidades racionales y verbales.

Esto en realidad se basa en una visión algo obsoleta de la neurociencia. En un momento, los científicos creían que el cerebro izquierdo solo era responsable de la lógica y los datos sensoriales en bruto, mientras que el cerebro derecho era el único responsable de la intuición y el sentimiento. Como resultado, el cerebro izquierdo es realmente capaz de todo lo que es el cerebro derecho y viceversa. Como alguien que es extremadamente Cebado derecho pero lógico, terrible con direcciones y orientación espacial, y completamente desprovisto de cualquiera de la creatividad artística que tradicionalmente se asocia con el cerebro adecuado, puedo dar fe de esto.

La mejor manera de pensar en la diferencia entre el cerebro izquierdo y derecho es pensar en ellas como imágenes espejo entre sí. Para comprender esto, necesita algunos datos de fondo. A un psicólogo llamado a Carl Jung se le ocurrió una teoría de la personalidad en los años 20 que dividió la personalidad a lo largo de un par de dimensiones. Probablemente haya oído hablar de uno de ellos: introversión vs extraversión. He escrito un pareja postes de blogs Sobre este tema, pero básicamente se reduce a esto: la introversión se diferencia de otros, mientras que la extraversión se centra en cómo puede conectarse con los demás. Esto se conoce como una "actitud".

Luego tiene cuatro funciones cognitivas diferentes: pensamiento, sentimiento, sensación e intuición. Por simplicidad, digamos que dos de estas funciones se consideran funciones de "juzgar" (pensamiento y sentimiento), mientras que los otros dos están "percibiendo" las funciones. Las funciones de juicio toman decisiones. Cuando estás en una mentalidad de juzgar, estás tratando de evitar sorpresas. Desea haber tomado todas las decisiones correctas de antemano para que no tenga que adaptarse cuando surjan sorpresas. Debido a que ha realizado tanta planificación por adelantado, es posible que tenga una tendencia a volverse rígido e inflexible una vez que se haya tomado una decisión. Por otro lado, una mentalidad de percepción tiende a preferir volar por el asiento de sus pantalones y rodar con los golpes.

En general, combina la función y una actitud para crear una actitud de función (creativamente nombrada) (pensamiento introvertido, sentimiento extravertido, etc.). Las personalidades conscientes de las personas se definen principalmente por una actitud de función dominante y una actitud de función auxiliar. Eventualmente, los psicólogos llegaron a un consenso de que hay en general dos tipos de personas: las personas cuyas dos funciones principales consisten en una función de juicio introvertida y una función de percepción extravertida, o personas cuyas dos funciones principales consisten en una función de juicio extraver y una función de percepción introvertida . Si alguna vez ha realizado la prueba de personalidad MBTI o similar, la última carta le dice en qué categoría se encuentra. Si eres una P, significa que eres un jueces introvertido/perceptor extravertido y J es al revés.

¿Aún conmigo hasta ahora? Aquí es donde llego a lo que quise decir con las dos partes que son imágenes espejo del otro. Nadie se dio cuenta en ese momento, pero esencialmente estaban construyendo un boceto de dónde se encuentra la funcionalidad en el cerebro. De hecho, cada una de las actitudes de función de Jung se ha asignado a una ubicación aproximada en el cerebro. Resulta que todas las funciones P (juicio introvertido y percepción extravertida) están en el lado derecho del cerebro y las funciones J están en el lado izquierdo del cerebro.

Cada vez que dices que las personas de cerebro izquierdo son buenas en los detalles y las personas de cerebro derecho son buenas en el "panorama general" (aunque diría que "imagen completa" sería más precisa), te estás centrando en el lado extravertido de las cosas . Si una persona de cerebro izquierdo administra una persona de cerebro derecho, el zurdo querrá saber todos los detalles sobre cómo el derecho va a hacer su trabajo por adelantado y de antemano. Quieren los requisitos establecidos en piedra y plazos duros decididos de antemano. El derecho solo quiere una idea muy amplia de lo que necesitan hacer para que puedan completar los detalles más adelante.

Sin embargo, tenga en cuenta que esto no parece ser lo que está experimentando. Parece que el código de los zurdos probablemente no estaba terriblemente bien pensado de antemano y tiene algunos problemas que podrían haber sido evitados por alguna previsión. Esto se debe a que cuando crea modelos abstractos de cosas como el código en su cabeza, está utilizando su introvertido función, que funciona al revés. El derecho quiere construir ese modelo con anticipación y hacerlo de tal manera que llene todos los detalles necesarios o fácilmente pueden Complete todos los detalles. Además, pueden volverse rígidos en términos del mejor enfoque para tomar (tenga en cuenta que está tomando una línea dura sobre cómo se siente sobre las características más avanzadas de C ++). El modelo de los zurdos será más ad hoc y se completará a medida que avanzan.

Mi experiencia es que, debido a esto, los zurdos acusarán a los diestros de sobreengar sobre todo, mientras que los diestros acusarán a los zurdos de ser demasiado rápido y sucio. Ambas partes tienen un grano de verdad para ellos, pero solo cuando ese enfoque se lleva al extremo. Sin embargo, esto es divertido: están adoptando enfoques opuestos para lograr el mismo objetivo (es decir, hacer las cosas). Los diestros quieren que su modelo se decida por adelantado para que puedan pasar menos tiempo implementando la cosa y, por lo tanto, hacer todo el proyecto antes. Los zurdos quieren pasar menos tiempo de arquitecto para que puedan hacer las cosas antes.

Por cierto, estas dos actitudes se invierten cuando se trata de cosas de tipo de gestión de proyectos (determinar los plazos, obtener requisitos, etc.). Esto puede conducir a una situación realmente confusa en la que un lado está acusando al otro de ser demasiado rígido, mientras que el otro afirma que el otro lado no está planeando lo suficiente, y luego el siguiente argumento tiene a ambos lados tomando exactamente la postura opuesta.

¿Qué puedes hacer con todo esto? Nada más que ser consciente de estas diferencias y tratar de acomodar la opinión del otro lado tanto como sea posible. Sin embargo, el problema es que esto va en ambos sentidos. Puede comprender y acomodar a los zurdos tanto como sea posible, pero eso no hará mucha diferencia a menos que intenten devolver el favor. Este es siempre el desafío. No porque los zurdos sean imbéciles y quieran que la vida de los diestros sea miserable, sino porque los zurdos están acostumbrados a ser dominantes en el campo de la programación. Si tu forma de pensar se hizo eco de casi todos los demás, estarías bastante convencido de que estás en lo correcto también.

Confia en tu intuicion. Si eres un buen profesional, significa independientemente de tu "cerebro", izquierda o derecha, cosas que los cerebros izquierdos hacen conscientemente que puedes hacer intuitivamente. Al final es lo mismo. Desafortunadamente, no controlamos nuestra subconsciencia, pero hace el trabajo más rápido que nuestra conciencia, si lo hace en absoluto. Estas ideas intuitivas que salen de la nada son exactamente los resultados de los cálculos subconscientes.

Ah, y puedes fallar, no es confiable. Pero desde que preguntaste ...;)

Creo que visualmente también y los detalles de la tipografía Bedevil Me.

Términos de Google: sitio de dislexia británica también estilos de aprendizaje: pensamiento espacial visual, entero a aprendizaje en parte.

Conceptos primero, consejos después

  1. Las personas cerebrales correctas imaginan todo en su "ojo de la mente".
  2. Cuando su visualización corresponde bien a la realidad, el trabajo es fácil
  3. Los pensadores de cerebro derecho que no hacen que el pensamiento del cerebro izquierdo debe confiar en la visualización
  4. Los alumnos de cerebro correcto aprenden todo a la vez '¡Ajá!' Luego ajuste los detalles en la construcción mental. Primero necesitan la descripción general, luego los detalles.
  5. Sin una visión general de contexto, los detalles flotan en el vacío, sin conectar en el ojo de la mente, por lo que se debe utilizar la memorización de la fuerza bruta. Muy duro para el derecho correcto.

Consejos que me ayudaron:

  • 1 Use el color para distinguir las piezas de sintaxis
    1. Escriba el seudocódigo del código que está depurando: esto hace esto, luego vaya aquí y etiquete las secciones del código para que coincidan
    2. Si los objetos fueran, por ejemplo, animales reales, tendrían hábitos y comportamientos esperados. Esta es una forma más fácil de pensar sobre la codificación.
    3. Me imagino el código como una historia con Pseudicode como mis notas y luego sigo el proceso.

  • ¿Qué sección arreglar a continuación?

  • Mi flujo de trabajo

  • ¿Quien vive allí? (Proceso, conexiones, datos, etc.)

  • ¿Qué necesitan hacer? (función) OK

    OK

  • codificarlo en algún lugar, puede ser sintaxis /ortografía comprobada ok copiar y pegar

  • Prueba

    Resultado -> funciona? Si, sigue adelante

    ¿No? Los personajes deben estar actuando a Hamlet donde todos mueren.

  • Volver al medio ambiente-

  • dejó algo fuera?, errores de sysntax
  • Necesita una conexión
  • Necesita datos
  • El código de error tiene significado?
  • funciona en otra parte del código?
  • ¿Problemas de la versión?
  • se supone que debe funcionar
Licenciado bajo: CC-BY-SA con atribución
scroll top