¿Cómo puede un programador mejorar su eficiencia?

http://www.conscious-people.com/…

Solía ​​sufrir plazos vencidos y gerentes furiosos debido a mi constante productividad. Cuando me cansé y decidí hacer algunos cambios, especialmente con mis hábitos de trabajo, mi productividad se incrementó varias veces y me convertí en un empleado efectivo.

Aquí hay algunos consejos ingeniosos que pueden ayudarlo a mejorar su productividad:

* Convierte tu música favorita y repítela. Libros como Tools of Titans de Tim Ferriss y On Repeat: How Music Plays the Mind de Elizabeth Hellmuth Margulis, ambos hablan sobre cómo escuchar tu música favorita te ayuda a desconectar las distracciones y sincronizar tus tareas actuales.

* El estrés no es del todo malo. De hecho, tener el tipo y la cantidad de estrés adecuados ayuda a estimular su mente para trabajar y moverse. Esta es la razón por la cual hay algunas empresas que emplean gerentes de oficina cuya función principal es respirar en el cuello de los empleados y hacer que todos sepan que lo están vigilando. Esto a cambio hace que el personal y el personal trabajen en lugar de holgazanear. Establezca fechas límite que quiera superar como una forma de presionarse para trabajar.

* La multitarea como una forma de lograr más cosas es una mentira gigante, no caigas en ella. Saltar entre tareas en lugar de sentarse en una y lograrlo es contraproducente. Si realmente desea ahorrar más tiempo, use un truco llamado procesamiento por lotes agrupando tareas similares y trabajando en ellas de inmediato. Después de eso, puedes hacer el próximo lote.

* haga una lista o una nota de su logro diario y qué tarea ha olvidado que debe hacerse de inmediato al día siguiente. Tener una lista evita que sus ideas desaparezcan. También le ayuda a realizar un seguimiento de lo que ha hecho durante el día y evaluar si ha sido productivo o no.

* Practique el mapeo mental de su día e ideas para ser más productivo. Su cerebro es un gran límite de pensamiento que puede generar diferentes ideas basadas en diferentes ángulos, use esto para su ventaja practicando tan a menudo como pueda y utilizando una herramienta de mapeo mental.

* Deja que tus dedos piensen un poco y ayuden a descargar tu cerebro. La memoria muscular y los movimientos de los dedos pequeños durante las actividades reducen el estrés mental considerable y relajan la mente. Un buen ejemplo es contar con los dedos en lugar de contar mentalmente.

* Tómese un buen descanso después de horas de trabajo considerablemente rápidas. Tomar un descanso de vez en cuando le permite reponer la energía agotada, especialmente sus facultades mentales, y le permite lograr más a medida que avanza el día. Tómese diez minutos de su trabajo, tome una siesta, un vaso de agua o su bebida favorita, luego salte directamente a la refriega con energía.

* Coma alimentos saludables que lo ayudarán a calmar su estómago, especialmente cuando hablar con otras personas es parte de su trabajo, pero a menudo tiene ansiedad social. Hay personas que, aunque involucrar a otras personas verbalmente es la línea principal de su trabajo, todavía se sienten ansiosas, comer pepinillos lo ayuda a reducir este dilema. Tener un intestino sano afecta nuestras mentes positivamente.

* Duerma bien por la noche para tener la cantidad correcta de energía para la mañana que le espera. Dormir lo ayuda a sanar y reponer todo lo que ha perdido física y mentalmente después de un día agotador. La falta de sueño puede tener un gran impacto negativo en ti si esto sucede regularmente.

* Practique el desarrollo de respuestas múltiples o alternativas a una pregunta apremiante para ayudar a impulsar la creatividad y la productividad. Tener un plan B, C, D, etc., siempre es un buen hábito para desarrollar, cuando el plan A sale mal.

http://www.conscious-people.com/…

  1. Encuentre un buen IDE y aprenda / use los atajos.
  2. Cree una plantilla o acceso directo para cada bloque común de código que escriba.
  3. Piense en términos de automatización de escritura que escriba su código.
  4. Cree buenas pruebas que ahorren tiempo de depuración / prueba en el futuro.
  5. Esboce el panorama general (en su mente o en papel) de lo que está tratando de crear antes de escribir el código.
  6. No tenga miedo de romper las reglas y escribir código desechable / prototipo para aclararse a sí mismo lo que está haciendo.
  7. Escriba el menor código posible.
  8. Diseñe principalmente iterando (no recurriendo) para que no se confunda / se detenga tan a menudo.
  9. Escuche ruido blanco o música sin palabras mientras codifica.
  10. Haga ejercicio, medite y coma bien.
  11. Dual-N-Back.

No estoy seguro de cómo definir la eficiencia. Defino la eficiencia para mí misma como lograr resultados poderosos en un tiempo razonable mientras mantengo un latido convincente para el mundo exterior.

Más allá de eso, creo que hay dos cosas muy importantes para darse cuenta: Primero, aprenda a reconocer que necesita usar su tiempo de manera más eficiente. Suena tonto, pero tenga paciencia conmigo: programar el resultado final es solo la conclusión final de un montón de planificación, investigación, conversación, pensamiento, programación, descartar los resultados de la programación anterior y pensar más.

En segundo lugar, debe darse cuenta de que hay momentos y días en los que no hará nada útil o en los que no creará un código de producción con una calidad aceptable. Puede ser porque has tenido un concierto hasta las 3 de la mañana, puede ser porque hace mal tiempo. A quien le importa. No te sientas mal por esos tiempos. Abrácelos. Use estos tiempos para hacer algo no crítico, tonto que siempre quiso probar hace algún tiempo y haga lo productivo con mucha más energía al día siguiente.

A partir de ahí, las mejoras más importantes para mí durante bastante tiempo fueron:

Comience a documentar y revisar los requisitos con una voz tan inequívoca como sea necesario. He adoptado un simple “Cuando se dan X e Y, entonces sucede Z”. Escribo lo que entiendo de los requisitos de las personas en esa forma con un alto nivel de detalle y luego simplemente se los doy. La discusión ocurre, las adaptaciones ocurren y luego tengo una lista de las cosas que necesitan. De esta manera, puedo cortar un montón de trabajo innecesario. Descubrí que pasar un día trabajando en requisitos de tan bajo nivel ahorra fácilmente unos días de trabajo.

Si es aplicable, demuestre temprano. Recientemente, uno de los gerentes de proyecto de mi empresa filosofó sobre una herramienta que describe automáticamente los cambios en un producto conmigo. Era algo totalmente nuevo y un poco loco, pero, de nuevo, no era nada complicado, así que comencé a diseñar esa cosa y conseguí que uno de mis desarrolladores trabajara en eso.
Después de aproximadamente 2 a 3 días, demostramos ese proyecto de la manera más minimalista que jamás haya probado un producto. No funcionó fuera del eclipse. Debía suministrar manualmente 2 o 3 archivos de entrada diferentes. Tuviste que editar el código fuente para configurar la maldita cosa. Pero maldita sea, la demostración fue un éxito rotundo. El eclipse de apertura estableció el tono completo para la demostración como “Esto no está hecho. Puedes discutir los detalles tanto como quieras, simplemente no están listos”.
De esa demostración, obtuvimos un montón de instrucciones realmente buenas para trabajar y, de nuevo, las buenas instrucciones y los buenos requisitos magnifican cualquier tipo de eficiencia de programación real que tenga inmensamente.

Más allá de eso, el mejor consejo de bajo nivel que puedo darte desde la cima de mi cabeza es: Sé vigilante y flojo. Si puede automatizar algo con un esfuerzo razonable, hágalo. Si puede usar una herramienta mejor para algo, úsela. Ignora a otras personas a menos que estés en un sector muy especial. Los resultados los callarán.

Por ejemplo, recientemente me empeoré mucho la cantidad de tiempo que paso barajando ventanas en ventanas. Después de un tiempo, me cansé, hablé con mi superior y nuestro departamento de TI y luego mudé toda mi estación de trabajo a una máquina virtual con Debian y Xmoand. La eliminación aleatoria de ventanas se elimina más allá de empujar ventanas relacionadas en un espacio de trabajo. Y maldición, es un gran alivio. Por ahora, solo puedo hacer que mis pantallas me envíen la información correcta sin siquiera pensarlo más. Podría citar a alguien aquí llamándome usando mi escritorio como asistente, porque las cosas absurdas suceden rápidamente y luego las cosas son increíbles.

O de manera similar, hace algún tiempo me cansé de leer archivos de registro del servidor mientras desarrollaba cosas. Para aclarar, en ciertos momentos, nuestro servidor envía blobs JSON masivos. Se desplazan tan rápido y son tan grandes que es simplemente imposible de leer. Y luego necesita leer 12000 caracteres de json para encontrar ese valor incorrecto. Buena suerte.

Finalmente, tuve uno de esos viernes que no hace que suceda nada útil y me harté de esta basura. Así que acabo de armar una herramienta que analiza los archivos de registro y atasca el JSON en JTrees. El viernes se había ido, obviamente, pero el desarrollo del lunes fue mucho más fácil. simplemente podría analizar la comunicación, verificar los problemas en la comunicación con una precisión sorprendente y simplemente le ahorró mucho tiempo. Por ahora, esa herramienta es un lector de archivos de registro de monitoreo y desarrollo de servidores ampliamente utilizado por la compañía con un tono completo de características porque solo ahorra mucho tiempo.

Entonces, supongo que estoy divagando, pero creo que tl; dr es: Aprenda a ignorar las líneas de código por hora, por lo tanto, la eficiencia local. Aprenda a pensar en la eficiencia a medio plazo, ya que puede aumentar mucho la última aunque la primera pueda sufrir a veces.

La respuesta corta es: use las herramientas adecuadas.
Por ejemplo, hace 2 años noté que paso mucho tiempo de codificación (~ 20-30%) para mover mi mano entre el teclado y el mouse. Esta era una actividad de pérdida de tiempo absoluta, así que tiré todos los IDEs modernos (guiados por GUI) y cambié a Emacs.
Si alguna actividad común se puede automatizar y / u optimizar, encuentre las herramientas adecuadas para eso.

Un programador puede mejorar su eficiencia al

1. Generalmente en todos los programas, la memoria de pila se usa mientras que el montón no se usa en muchos programas. Por lo tanto, el uso de memoria de almacenamiento dinámico puede mejorar la eficiencia de la programación.

2. Todas las variables no actúan como dinámicas, por lo que también se debe usar memoria estática.

Un desarrollador ordinario a un desarrollador eficiente

¡Esto agregaría algunos puntos más!

  1. Ser un aprendiz constante
  2. Se un buen planificador
  3. Estar centrado en DiET
  4. Piensa como probador
  5. Ser un depurador eficiente

More Interesting

¿Fases del ciclo de vida del desarrollo de sistemas frente al ciclo de vida del desarrollo de software?

¿Cuáles son las tecnologías para la computación en la nube? ¿Algún sitio web que los compare?

¿Cuáles son las mejores maneras para que un estudiante de cuarto semestre aprenda programación del mundo real en Java?

¿Puedo obtener trabajos de prueba de software después de cambiar mi dominio?

¿Cómo sabe JUnit qué método de prueba pertenece a qué método?

¿Qué instituto de prueba de software es el mejor en Hyderabad y también proporciona ubicaciones?

¿Cuál es el futuro de una carrera de pruebas de software? ¿Qué tecnologías y dominios serán beneficiosos para un probador manual y qué otros cursos necesita aprender?

¿En qué punto se debe usar la sincronización en un programa de subprocesos múltiples que obtiene datos de la base de datos, los procesa y luego actualiza la base de datos?

¿Qué es la prueba de caja negra en sí?

¿Cuáles son los pasos a seguir para convertirse en un buen probador de software?

¿Qué herramientas usa la programación de computadoras?

Dada la falta de empresas de Internet de consumo altamente exitosas en la pila .NET, ¿por qué Microsoft no hace un mayor esfuerzo para lograr la adopción de .NET entre las nuevas empresas emergentes orientadas al consumidor?

¿Cómo se explican las pruebas unitarias a un laico?

¿Cómo se pueden reducir los costos de desarrollo de software mediante el uso de comentarios?

¿Existe algún software para la traducción de aplicaciones cliente para PC?