Leí muchos artículos sobre dilación y motivación, pero constantemente encontré en ellos un malentendido total o parcial del problema. O simplemente una falta de coincidencia personal con sus realidades: las personas son todas diferentes, al final. Describiré lo que sé por experiencia propia y lo que me ayuda personalmente. De repente, alguien más lo ayudará.
¿Qué causa la dilación? ¿Por qué este problema suele ser menos agudo en otras profesiones? ¿Por qué los programadores son tan especiales?
Se trata de los detalles específicos de la programación (solución sistémica de problemas complejos). No se puede programar a medias: tal trabajo equivale a cero. El código con un pequeño error no funcionará como debería, incluso si el 99.99% restante es correcto allí. Además, incluso si el código funciona, pero está terriblemente torcido, la mayoría de las veces al final tendrá que reescribirse desde cero; será más fácil que tratar de enderezarlo con muletas. Es decir de hecho,
escribir un código de alta calidad insuficiente es una pérdida de tiempo y esfuerzo : la reelaboración "para bien" no se acelerará a partir de esto.
Y escribir un buen código requiere un estado especial. Independientemente del nivel de preparación de una persona, puede escribir un buen código (desde su punto de vista) solo unas pocas horas al día (y esto no está garantizado). Si cree que puede escribir un buen código todo el día todos los días, probablemente ya haya superado su trabajo actual y es hora de asumir tareas más serias (por ejemplo, aprender a automatizarlo).
En la mayoría de los otros trabajos, no existe tal cosa: "dibujar moldes", hablar por teléfono, escribir cartas y documentos; todo esto se puede hacer a medias todo el día. El resultado, por supuesto, será peor de lo que quisiéramos, pero no "a cero". Y luego las deficiencias son fáciles de solucionar.
Sobre profesiones creativasEn esto, la programación a menudo se equipara con la profesión creativa, que, en mi opinión, está mal. Sí, el problema de la dilación es similar al problema de un artista o compositor libre estereotípico que definitivamente necesita inspiración para crear una obra maestra. Debido a que todo lo que no es una obra maestra es mediocridad, no merece la atención del público y será olvidado (a menos que destruya los borradores antes). Pero esta es una especificidad completamente diferente, la programación a menudo requiere horas de enfoque, en lugar de una visión momentánea.
Esto es parte de la procrastinación, que está presente en todos los programadores, en la oficina y de forma remota. Pero también hay dos partes que son peculiares solo del trabajo remoto: un horario gratuito y la falta de comunicación directa.
Con un horario gratuito, todo está claro: si una persona no está limitada en las posibilidades de entretenimiento, tendrá que usar la fuerza de voluntad para no pasar todo el día con ellos. Pero aquí, como con la tarea al estudiar, la mayoría de las personas eventualmente desarrollan las habilidades y prioridades necesarias en sí mismas.
Pero la falta de comunicación afecta mucho más de lo que parece. Lo principal aquí es el efecto de la presencia. ¿Por qué los alumnos y los alumnos absorben mejor el material y hacen con mayor diligencia materiales de laboratorio en presencia de un maestro vivo? ¿Por qué los maestros leen las mismas conferencias una y otra vez cuando las tecnologías de audio y transmisión han existido durante décadas? La respuesta es la psicología humana. Es mucho más fácil enfocarse en la información cuando todos a su alrededor también han prestado atención a ella, y cuando proviene de una persona (real, física) dotada de autoridad.
Acerca de la correspondenciaSí, por supuesto, hay facultades de correspondencia, video conferencias y cursos a distancia, y ya quieres escribir sobre ellos en los comentarios. No es que no funcionen en absoluto, sino que son mucho menos efectivos, al menos para la mayoría de las personas. En mi experiencia, la misma correspondencia que los estudiantes en las universidades generalmente se equiparan con los "atrasados", estableciendo triples / pruebas para la capacidad de responder una pregunta después de buscar información en un manual de capacitación.
Pero de vuelta al trabajo. Un programador bien puede dejar de escribir código complejo para ayudar a su esposa a pasar el rato en la lavandería. Y ni siquiera pensará cuán absurda es su decisión. Porque los problemas de un cliente extranjero distante se perciben mucho menos "reales" que los problemas de una persona a su lado. Es mucho más difícil concentrarse en el problema cuando necesita imaginarlo activamente usted mismo, para creer en su existencia.
Para resumir: en realidad, un programador en un sitio remoto necesita hacer un esfuerzo e imaginación para convencer a su cerebro de la existencia de un "problema virtual", luego nuevamente hacer un esfuerzo para limitarse en el entretenimiento, y luego los esfuerzos restantes deberían ser suficientes para escribir un inconfundible y código de calidad Y si no son suficientes, es mejor no comenzar a escribir, de todos modos para nada. Ya no parece un problema tan simple de pereza, ¿verdad?
En realidad, "quién tiene la culpa" descubrió, ahora a la pregunta "qué hacer".
1)Si encuentra que ha retrasado la procrastinación e incluso ahora continúa perdiendo tiempo, hágase la pregunta "¿cuál es mi próxima tarea y cuándo podré completarla?". No lo deje hasta que pueda formular claramente la respuesta por sí mismo. Además, "cuándo" no es tiempo, sino un estado. En cierto sentido, "condición". Y dependiendo de la respuesta, evalúe lo que está haciendo: cuánto lo acerca a la meta.
Para mí, este diálogo interno suele ser así:
"Necesitas cortar la función X. ¿Cuándo puedes?"
“Cuando duermo lo suficiente / cuando me siento normal”, haga lo que acerque este estado. Cómelo Dormir Estas enfermo Cúrate a ti mismo. Ahora mismo No "cuando veo la serie", no "cuando termino el juego", no "cuando termino el café", todas estas acciones no te acercan a las condiciones de trabajo.
“Cuando estoy de humor”: haga algo que mejore su estado de ánimo. Pero solo por lo que realmente funciona. Ves la serie y te sorprendes pensando "cuando esta serie, maldita sea, termine" - apágalo y no vuelvas a él. Busque lo que funcionará garantizado. Y recuerde lo que no funciona (solo empeora el estado de ánimo) y lo que debe evitarse.
"Cuando descubro qué es exactamente lo que hay que hacer" significa que su próxima tarea no es "hacer", sino "resolverlo". Solucionarlo Pregúntele al cliente / gerente (pregunte nuevamente si ya preguntó y no recibió una respuesta), o intente profundizar en el problema usted mismo. Si no estás tratando de resolverlo en este momento, solo estás perdiendo el tiempo.
“Cuando termine con otros asuntos” significa que su tarea actual se encuentra entre estos “otros asuntos”. Sí, ahora esta es una tarea de trabajo. Por un lado, puede parecer que otros asuntos no están relacionados con el trabajo, pero de acuerdo con esta respuesta, puede ver que tienen uno directo.
"Bueno, probablemente podría ahora", hacerlo.
Etc. El principio básico es "dado que obviamente no estás trabajando en este momento, al menos asegúrate de estar haciendo algo que garantice un acercamiento a este estado".
2)Todo lo que afecta la efectividad de su trabajo, de hecho, también se convierte en parte del trabajo y también debe tomarse en serio. Esto es solo una cuestión de percepción. Si necesita un sueño para un trabajo productivo, significa "dormir lo suficiente", este es ahora el requisito del cliente (aunque implícito). Si necesita un buen estado de ánimo para el trabajo, significa incluso "jugar algo" para mejorar su estado de ánimo, ya se está convirtiendo en parte de los requisitos.
No hay nada más sin sentido que propagarse a sí mismo por lo que de hecho es inevitable y necesario para el trabajo. Cada persona en este sentido, por supuesto, tendrá sus propios requisitos, lo principal es admitirse honestamente ante ellos.
3)Pocas personas pueden levantar una carga, pesar una tonelada y transferirla a otra habitación, incluso si lleva un mes. Y transferir cien cargas de 10 kilogramos ya es factible. También debe hacer el trabajo: divídalo en partes pequeñas y haga todo lo posible.
Todo esto es, por supuesto, trivial, pero aquí tengo un truco de vida adicional: deje algo del trabajo agradable y fácil al comienzo de la jornada laboral. Acostúmbrese a dejar de trabajar solo en un estado en el que ya sepa claramente qué líneas debe agregar al código de la siguiente manera. Créame, un poco de incomodidad por sentirse "incompleto" se compensa por completo con lo fácil que es volver a "ponerse a trabajar".
De hecho, aquí. Las adiciones en los comentarios son bienvenidas.