Ir al contenido principal

Motivación diaria

Hay días en los que siento que soy productivo y tengo muchas ganas de programar. En cambio hay otros en los que simplemente no tengo ganas, estoy frente a la computadora, pero no logro avanzar en las tareas pendientes. Tratando de encontrar cuales son los factores que influyen para estar motivado y ser productivo, identifique los siguientes:

Conocer el dominio del problema
Cuando ya sé lo que tengo que hacer es más rápido ponerme a hacerlo. Cuando no conozco el beneficio o la razón de una característica del sistema donde estoy trabajando, o peor cuando no sé exactamente qué es lo que se supone que debe de hacer, mi productividad baja. Cuando sé lo que se requiere, simplemente lo hago.

Comunicación constante
Esto va ligado al primer punto, para conocer el dominio del problema es necesaria una comunicación constante con el cliente. Cuando tengo dudas y el cliente tarda mucho en contestarlas o simplemente no lo hace, en algunos de esos casos simplemente no puedo avanzar. Me desmotiva y se me quitan las ganas de trabajar en eso. También la comunicación entre los miembros del equipo me ayuda a mantenerme enfocado en lo que se quiere lograr, no me aburro ni busco algo con que entretenerme en el internet.

Tareas cortas y bien definidas
Tener bien definidas las acciones concretas a realizar me permite concentrarme en esa acción, evitando la parálisis por análisis. Que las tareas sean cortas me ayuda a poder terminarlas en poco tiempo. Dándome una sensación de avance, la cual, me motiva a seguir avanzando en el proyecto.



Café
Hay días que lo más difícil es empezar. Una vez que inicio con las tareas, el resto no es tan difícil. Para iniciar con ganas un café por la mañana ha sido muy efectivo.  Hay ocasiones (generalmente después de comer) que no tengo ganas de programar y lo único que pienso es en la hora de la salida. Para esos casos una bebida energética me “vuelve a la vida”, después ni cuenta me doy cuando ya es hora de irme.

Evitar interrupciones
Una vez que ya inicié a programar es fácil enracharse. El problema con las interrupciones es que me quitan esa viada que llevaba y necesito volver a empezar (que es lo más difícil). Las interrupciones pueden ser tanto internas (por mi mismo) o externas (alguien más me interrumpe). Para las externas no hay mucho que pueda hacer; pero para las internas he notado que el escuchar música me ayuda a concentrarme en lo que estoy, sin tratar de ver que dice la gente en las redes sociales o ver alguna foto graciosa.

Evitar estrés
Una mente tranquila produce más, que una mente casada o frustrada. Algunas veces el trabajo no es como quisiera, ya sea por decisiones de los managers, trabajar con sistemas legacy, “clientes especiales”, etcétera. Aunque me quejo seguido por cosas así, trato de que no me afecte al momento escribir código. Y si me pongo a pensar en esas cosas mejor me voy a caminar un rato, para que se me pase o para hablarlo con alguien más. Para evitar el estrés también ayuda estar bien con la familia, dormir bien… o no dormir ;-)

Bueno… estos son algunos de los factores que he notado ayudan a mantenerme contento trabajando, motivado y productivo.

Comentarios

  1. una buena ayuda como motivacion

    http://www.amazon.com/Game-Frame-Using-Strategy-Success/dp/1451611056/ref=sr_1_1?ie=UTF8&qid=1308179768&sr=8-1

    ResponderBorrar
  2. A mi me ayuda, sobretodo al programar, que cuando me "ciclo" con un problema, me alejo por unos momentos ya sea a caminar un poco o hacer una tarea sencilla. Al regresar casi siempre encuentro la respuesta.

    ResponderBorrar
  3. Hola Mario, excelente blog. Bueno sobre este tema, yo para resetearme en lo personal y lo digo sin ninguna vergüenza, me hecho una partida de Starcraft o si no me pongo a ver una película.

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Bloqueos

Una de las preguntas típicas de las juntas matutinas en los equipos de desarrollo de software es ¿Hay algún bloqueo? Si lo hay, se trata de ver qué es lo que está esperando esa persona y encontrar la forma de que se desbloquee; pero ¿Qué son los bloqueos? Los bloqueos son obstáculos que te impiden realizar o avanzar en tu trabajo. Evitan que puedas seguir progresando en el proyecto.

He notado que es común en las personas con menos experiencia decir que tienen un bloqueo cuando están batallando, debido a su poca experiencia, en la forma de resolver un problema. Han intentado varias formas y se empiezan a quedar sin ideas de como puede ser resuelto el problema o como pueden cumplir con el requerimiento especificado. Al quedarse sin opciones de qué intentar dicen que tienen un bloqueo con la tarea y que a menos que alguien les diga como resolverlo, no se puede avanzar en la tarea.

En personas con más experiencia, ese tipo de bloqueos no ocurren, una persona con experiencia ha visto pro…

Firebird 2.1 UPDATE OR INSERT

Another great feature that I like in Firebird 2.1 is the UPDATE OR INSERT statement. It's a really time saver and it makes the SQL cleaner.

For example suppose I have a products table like the one I use in my last post and an inventory table to store the product stock. Before Firebird 2.1 if I want to set the stock for a product I needed to check if a record for that product_id already exists; if the product_id already exists then I write an update. If not then I write an insert statement. So I ended up with something like this:


IF EXISTS(SELECT * FROM inventory WHERE product_id = :product_id ) THEN
UPDATE
inventory
SET
stock = :stock
WHERE
product_id = :product_id;
ELSE
INSERT INTO inventory
(product_id, stock)
VALUES
(:product_id, :stock);

In this example I only update one field but when I have to update a big table I ended up with a big chunk of code and thinking: "there should be another (better) way to do this".

Fortunately now with Firebird 2.1 there…

Database Mail en MS SQL Server 2005

Configuración de Database Mail en MS SQL Server 2005

Primero se debe de habilitar, ya que por omisión el componente esta deshabilitado, Utilizando el SSMS (SQL Server Management Studio)


Si no esta habilitado aparecerá un mensaje preguntado si lo habilita, después aparece esta ventana donde se pregunta al usuario que es lo desea hacer.


Seleccionamos la primera opción para crear un perfil.


Configuramos el perfil y le agregamos por lo menos una cuenta.


Seleccionamos el perfil como public y default.


Para mandar correo se utiliza el procedimiento msdb.sp_send_dbmail por lo tanto el usuario que intente mandar correo debe de tener permiso para la base de datos msdb.

Referencias:
http://www.sqlservercentral.com/columnists/cBunch/introtodatabasemailinsql2005.asp