<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Climens Codelog &#187; Productividad</title>
	<atom:link href="http://codelog.climens.net/category/productividad/feed/" rel="self" type="application/rss+xml" />
	<link>http://codelog.climens.net</link>
	<description>Desarrollo, productividad, blogging, tecnología, vida en la trinchera...</description>
	<lastBuildDate>Fri, 25 Jun 2010 10:00:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Invocar constructores genéricos por reflexión</title>
		<link>http://codelog.climens.net/2009/04/08/invocar-constructores-genericos-por-reflexion/</link>
		<comments>http://codelog.climens.net/2009/04/08/invocar-constructores-genericos-por-reflexion/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 11:26:35 +0000</pubDate>
		<dc:creator>climens</dc:creator>
				<category><![CDATA[Productividad]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[generics]]></category>
		<category><![CDATA[reflection]]></category>

		<guid isPermaLink="false">http://codelog.climens.net/?p=140</guid>
		<description><![CDATA[Explicaré brevemente cómo se puede invocar un constructor genérico por reflexión (del namespace System.Reflection) dado que a veces solamente tenemos el Type del genérico y no se puede pasar entre dado que no es el nombre de una clase. Para mi caso, es una acción de un método web que me pasa un string con [...]]]></description>
			<content:encoded><![CDATA[<p>Explicaré brevemente cómo se puede invocar un constructor genérico por reflexión (del namespace <a href="http://msdn.microsoft.com/es-es/library/system.reflection(VS.80).aspx">System.Reflection</a>) dado que a veces solamente tenemos el Type del genérico y no se puede pasar entre  dado que no es el nombre de una clase.<br />
Para mi caso, es una acción de un método web que me pasa un string con el nombre de la entidad a procesar por lo que el proceso, que es un método genérico, no se podía llamar de este modo:<br />
[csharp]public void ProcessStuff(Type type, object data)<br />
{<br />
    var processor = new Processor(); // Esto da error</p>
<p>    var results = processor.process(data);<br />
}<br />
[/csharp]<br />
Entonces, esto es un problema ya que el método ProcessStuff en este caso no puede ser genérico, lo que solventaría así el problema:<br />
[csharp]public void ProcessStuff(object data)<br />
{<br />
    var processor = new Processor();</p>
<p>    var results = processor.process(data);<br />
}<br />
[/csharp]<br />
Así que el namespace System.Reflection viene en nuestra ayuda y el secreto está en el método MakeGenericType. El método final es algo así:<br />
[csharp]public void ProcessStuff(Type type, object data)<br />
{<br />
    var constructor = typeof(Processor).MakeGenericType(new[] { type }).GetConstructor(new Type[] {}); // Obtiene el constructor sin parámetros<br />
    var processor = constructor.Invoke(new object[] { });</p>
<p>    var processMethod = processor.GetType().GetMethod(&quot;Process&quot;, new[] {typeof(object)}); // Obtiene el método del objeto creado<br />
    var results = processMethod.Invoke(processor, new[] {data}); // Llama al método<br />
}<br />
[/csharp]<br />
Y eso es todo. Es un poco más engorroso, por supuesto, pero nos puede sacar de más de un lio y ahorrarnos un montón de switches.</p>
]]></content:encoded>
			<wfw:commentRss>http://codelog.climens.net/2009/04/08/invocar-constructores-genericos-por-reflexion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Qué le pedirías a tu jefe?</title>
		<link>http://codelog.climens.net/2008/06/12/que-le-pedirias-a-tu-jefe/</link>
		<comments>http://codelog.climens.net/2008/06/12/que-le-pedirias-a-tu-jefe/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 09:00:19 +0000</pubDate>
		<dc:creator>climens</dc:creator>
				<category><![CDATA[Productividad]]></category>
		<category><![CDATA[empleo]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[trabajo]]></category>

		<guid isPermaLink="false">http://codelog.climens.net/?p=67</guid>
		<description><![CDATA[Revisando la larga lista de feeds a los que compulsivamente me suscribo llegué a un interesante post titulado What a developer needs from their manager. En él se detallan una serie de aspectos que debería tener en cuenta alguien que dirige desde el punto de vista no técnico a una serie de desarrolladores. Lo veo [...]]]></description>
			<content:encoded><![CDATA[<p>Revisando la larga lista de feeds a los que compulsivamente me suscribo llegué a un interesante post titulado <em><a href="http://www.ytechie.com/2008/06/what-a-developer-needs-from-their-manager.html">What a developer needs from their manager</a></em>. En él se detallan una serie de aspectos que debería tener en cuenta alguien que dirige desde el punto de vista no técnico a una serie de desarrolladores. Lo veo un tanto enfocado a empresas pequeñas, donde hay cierta proximidad entre unos y otros y las relaciones pueden ser mucho más dinámicas.</p>
<ul>
<li>Por un lado, la idea de la <strong>capa de abstracción para desarrolladores</strong> que debe haber entre el funcionamiento de la empresa y lo que necesitamos saber los programadores. Me gusta la idea, porque en realidad en general no me interesan los problemas que tienen por ejemplo con ciertos clientes o con otros, para mí son todos prácticamente iguales. Por supuesto que tampoco hay que aislar completamente a nadie ni sobreproteger.</li>
<li>Es muy importante, por lo menos para mí, que me <strong>dejen trabajar en paz</strong>. A veces da igual pero otras veces estamos concentrados, resolviendo algo y una interrupción inoportuna puede dar al traste con esa atmósfera. Y no solo son los jefes los que interrumpen inoportunamente. La <a href="http://es.wikipedia.org/wiki/Mensajer%C3%ADa_instant%C3%A1nea">mensajería instantánea</a> es un compromiso que <em>en mi caso</em> funciona bastante bien. No es tan asíncrono como el mail ni tan inmediato como una conversación cara a cara o una llamada.</li>
<li><strong>Mareriales</strong>: <a href="https://www.amazon.com/gp/registry/wishlist/10DI5KCSTNGR4">libros</a>, revistas y incluso equipamiento técnico. No hay nada más triste que trabajar con un equipo lento porque falta memoria o querer tener una referencia y no poder comprar un libro. Son gastos insignificantes comparados con un sueldo y pueden aumentar la productividad. No hay que racanear.</li>
<li><strong>La confianza</strong> es imprescindible. En serio. Mientras no se demuestre lo contrario hay que confiar en que las cosas se van a hacer bien, y confiar de verdad. Y cuando salen mal las cosas, no responder con el típico &#8220;ya sabía yo&#8221;. Por supuesto, todo tiene un límite.</li>
<li>Como no, <strong>mantén feliz</strong> al programador. En realidad a cualquier empleado hay que mantenerlo feliz. Pero en un mundillo con tanta movilidad, los desdenes, los malos gestos, la falta de detalles son visitas seguras a las típicas webs de ofertas de trabajo que todos conocemos. Y si echas la caña, al final algo pescas.</li>
<li>No hay que meterse en lo que a uno no le importa, o mejor dicho: <strong>cada uno a lo suyo</strong>. No hay nada más odioso que que te digan como debes hacer algo. El programador sabe cómo se programan las cosas y si no lo sabe lo aprenderá.</li>
<li>También hay que <strong>estar accesible</strong> y <strong>tener las cosas organizadas</strong>. Debido a la anterior capa de abstracción, los programadores no sabemos exactamente qué es importante y qué no, cuales son las prioridades y las cosas que pueden esperar. Hay que poder responder a las dudas con rapidez y claridad y ayudar a resolver los problemas que puedan surgir cuando los plazos no se cumplen o algo sale como no estaba planeado.</li>
<li>Y finalmente, hay que <strong>dejar claro lo que se espera de cada uno</strong>. En mi caso es algo que nunca he tenido claro y no puedo decir si eso ayuda, pero la verdad es que me gustaría saber en qué criterios objetivos se basa la valoración de mi trabajo a parte de los criterios plenamente subjetivos que se puedan tener. Es un modo no solo de que cada uno sepa a qué se atiene sino que además se pueda exigir y ayudar a los demás compañeros a que cumplan sus objetivos si dependen de nosotros.</li>
</ul>
<p>Y eso es todo, cada uno que saque sus propias conclusiones. Cómo jefe o director, ¿consigues satisfacer las expectativas de tus programadores? Como programador, ¿ves tus necesidades cubiertas? ¿tienes alguna otra necesidad que no esté aquí reflejada? ¿puedes hacer algo por conseguir que tus superiores las satisfagan?</p>
<p>Via | <a href="http://www.ytechie.com/2008/06/what-a-developer-needs-from-their-manager.html">What a developer needs from their manager</a> (ytechie.com)</p>
]]></content:encoded>
			<wfw:commentRss>http://codelog.climens.net/2008/06/12/que-le-pedirias-a-tu-jefe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Los 7 hábitos de la gente altamente efectiva</title>
		<link>http://codelog.climens.net/2008/04/26/los-7-habitos-de-la-gente-altamente-efectiva/</link>
		<comments>http://codelog.climens.net/2008/04/26/los-7-habitos-de-la-gente-altamente-efectiva/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 15:48:04 +0000</pubDate>
		<dc:creator>climens</dc:creator>
				<category><![CDATA[Productividad]]></category>
		<category><![CDATA[libros]]></category>

		<guid isPermaLink="false">http://codelog.climens.net/?p=59</guid>
		<description><![CDATA[Rating: 4.5 out of 5 stars Los 7 hábitos de la gente altamente efectiva es un libro que he leído más que nada por curiosidad, porque lo ví recomendado varias veces y porque se puede decir, que después de los casi 30 años que lleva Stephen R. Covey promulgando el concepto de los 7 hábitos, [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left"><a href="http://www.amazon.com/gp/redirect.html%3FASIN=950125111X%26tag=climecodel-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/950125111X%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02"><img src="http://ecx.images-amazon.com/images/I/51JQDV3YDEL._SL160_.jpg" alt="Los 7 hábitos de la gente altamente efectiva" /></a><br />
<span class="rating"><strong>Rating:</strong> 4.5 out of 5 stars</span></div>
<p><a href="http://www.amazon.com/gp/redirect.html%3FASIN=950125111X%26tag=climecodel-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/950125111X%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02">Los 7 hábitos de la gente altamente efectiva</a> es un libro que he leído más que nada por curiosidad, porque lo ví recomendado varias veces y porque se puede decir, que después de los casi 30 años que lleva Stephen R. Covey promulgando el concepto de los 7 hábitos, es ya un clásico.</p>
<p>Es la edición en español del libro de 1989, <a href="http://www.amazon.com/gp/redirect.html%3FASIN=0743269519%26tag=climecodel-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0743269519%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02">The 7 habits of highly effective people</a> editada por <a href="http://www.paidos.com">Paidós</a> desde el año 1997. Consta de unas 400 páginas en las que se describen con abundantes ejemplos reales los 7 hábitos, uno por uno.</p>
<p>Aunque pueda parecer un libro sobre productividad empresarial o personal en el ámbito laboral, se trata de una visión bastante más profunda e introspectiva de la que nos tienen acostumbrados este tipo de libros, llegando al ámbito de la autoayuda pero sin decantarse por un aspecto vital concreto, más bien expone un marco general de trabajo basado en una serie de reglas básicas que pueden ayudar al lector a sacar más provecho de sí mismo y de sus relaciones con el resto de personas.</p>
<p>Divide el libro en dos grandes bloques, el de la victoria privada y la victoria pública, con tres hábitos cada uno y luego un séptimo hábito transversal a los demás que es en gran parte responsable de que consigamos llevar a cabo por lo menos una pequeña parte de los hábitos. Él mismo reconoce que no es nada sencillo seguir fielmente estas pautas pero que debe ser nuestro objetivo y es el suyo desde hace muchos años.</p>
<p>En cuanto a la victoria privada, los tres hábitos son: ser proactivo, empezar con un fin en mente y establecer primero lo primero. El primero se refiere a que nos adelantemos a los problemas y no vivamos de ellos; el segundo, que si no hay una meta clara, difícilmente llevaremos a cabo nuestros propósitos; y el tercero, que replanteemos nuestro sistema de establecimiento de prioridades.</p>
<p>Con este bagaje, vamos a la victoria privada: pensar en ganar/ganar, primero comprender y después ser comprendido y finalmente la sinergia. Ganar/ganar singnifica conseguir acuerdos que beneficien a todas las partes implicadas, sin que una de las dos sea la parte perdedora. Después, ponerse en el lugar del otro para comprender fielmente su punto de vista, un hábito que el autor considera especialmente complicado y para terminar habla de la sinergia, la asociación de personas con un objetivo común que puede ser mucho más provechosa y productiva que todas ellas por separado. En este último puedo estar de acuerdo, pero es complicado encontrar dicha sinergia ya que todas las partes deben de estar predispuestas a ello.</p>
<p>Finalmente, el último hábito lo llama afilar la sierra: &#8220;simplemente&#8221; nos invita a mantener nuestra mente despierta, aprender siempre cosas nuevas y estar dispuestos a renovar y mantener continuamente nuesta mente, nuestro espíritu, nuestro cuerpo y nuestras relaciones. Desde luego, un objetivo ambicioso pero a la vez necesario para ser realmente efectivo y desde luego un gran consejo para no dejarse llevar por el entorno.</p>
<p>En resumen, el libro me parece muy positivo, en un sentido amplio. No dice nada nuevo, no descubre el mundo pero aglutina una serie de pautas y hábitos que conviene por lo menos tener en cuenta en nuestro día a día y pueden ayudar a evitar o resolver potenciales problemas que se nos pueden ir planteando, lo que no es poco. Además, su lectura es bastante llevadera aunque considero que de vez en cuando se repite demasiado en algunos conceptos o expone algunos ejemplos que me parecen pasajeros y podemos vivir sin ellos. Tampoco me gusta demasiado su fijación con la Iglesia, quizás porque su percepción por un lado protestante y por otro sumamente norteamericana se me hacen lejanas y también porque evitando ciertos comentarios podría ser un poco más neutral. No es que sea ofensivo y el autor mismo reconoce que existen muchas religiones y creencias que en el fondo aunque no en la forma persiguen en cierto modo lo mismo que expone él en su concepto de vivir según unos principios. Por otro lado, hay que tener en cuenta que este libro se publicó en 1989 por primera vez, con la caída del muro de Berlín y el inicio de la era de la información: no había ni Internet, ni móviles, ni globalización&#8230; En definitiva, que los tiempos han cambiado y hay que leer el libro teniendo en cuenta este punto, que, aun así, no ha perdido vigencia en absoluto.</p>
<p>No es un libro especialmente caro y es recomendable: cada uno que lo lea y saque sus propias conclusiones porque es en muchos aspectos bastante personal y muchas veces hace reflexionar sobre cómo aplicaríamos tal o tal concepto en una u otra situación de lo que nos va ocurriendo mientras vamos leyendo. Hay gente realmente apasionada de este libro y desde luego algo tendrá porque no solamente lleva años dando vueltas sino que el autor ha publicado otros títulos que profundizan en ciertos aspectos (como &#8220;Primero lo primero&#8221;) o amplían los hábitos para adecuarlos a los tiempos actuales (como &#8220;El octavo hábito, el liderazgo centrado en principios&#8221;).</p>
]]></content:encoded>
			<wfw:commentRss>http://codelog.climens.net/2008/04/26/los-7-habitos-de-la-gente-altamente-efectiva/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>10 modos de eliminar distracciones</title>
		<link>http://codelog.climens.net/2007/06/09/10-modos-de-eliminar-distracciones/</link>
		<comments>http://codelog.climens.net/2007/06/09/10-modos-de-eliminar-distracciones/#comments</comments>
		<pubDate>Sat, 09 Jun 2007 09:30:29 +0000</pubDate>
		<dc:creator>climens</dc:creator>
				<category><![CDATA[Productividad]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[distracciones]]></category>
		<category><![CDATA[top10]]></category>

		<guid isPermaLink="false">http://codelog.climens.net/2007/06/09/10-modos-de-eliminar-distracciones/</guid>
		<description><![CDATA[En uno de los blogs que leo habitualmente, Freelance Switch (aunque no soy freelance hay cosas interesantes), encontré un artículo dónde se listan algunos consejos para evitar distracciones en el trabajo que me han parecido dignos de mencionar. 1. Apaga las notificaciones de email. Y también el messenger, Twitter o cualquier medio de comunicación que [...]]]></description>
			<content:encoded><![CDATA[<p>En uno de los blogs que leo habitualmente, <a href="http://freelanceswitch.com">Freelance Switch</a> (aunque no soy freelance hay cosas interesantes), encontré un artículo dónde se <a href="http://freelanceswitch.com/productivity/10-ways-to-eliminate-distractions/">listan algunos consejos</a> para evitar distracciones en el trabajo que me han parecido dignos de mencionar.</p>
<p><strong>1. Apaga las notificaciones de email.</strong>  Y también el <a href="http://pidgin.im/pidgin/home/">messenger</a>, <a href="http://twitter.com/">Twitter</a> o cualquier medio de comunicación que requiera nuestra atención inmediata. La idea es establecer un momento para revisar estas cosas pero que no nos interrumpan continuamente. Aún así es complicado porque puede que la propia cultura de nuestra empresa nos impida hacer tal cosa (p.e. chat interno&#8230;)</p>
<p><strong>2. Apaga Internet.</strong> Vale, es el mayor sumidero de tiempo que existe, así que si no te hace falta para la tarea que estás haciendo&#8230; desconecta. En mi caso es complicado porque muchas tareas requieren el uso de Internet para realizarlas, pero si que es verdad que hay que controlar las páginas que se visitan o puede distraer bastante.</p>
<p><strong>3. Utilidades.</strong> Hay utilidades para limitar el acceso que hacemos a Internet. Por ejemplo <a href="http://www.lifehacker.com/software/feature/geek-to-live-ban-timewasting-web-sites-146448.php">Invisibility Cloak</a> o <a href="http://jeremyfreese.blogspot.com/2007/01/kiwi-cloak-quasi-coercive-anti-websurf.html">Kiwi Cloak</a> permiten restringir el acceso a ciertas páginas durante cierto horario o <a href="http://ah-gan.com/2007/05/03/time-to-go-a-script-to-fight-procrastination.php">Time to Go</a>, que temporiza el acceso a Internet y lo bloquea cuando llevamos demasiado tiempo. A mi personalmente no me gustan demasiado estas medidas coercitivas y no suelo perder el tiempo navegando, pero pueden ser útiles si no te puedes controlar.</p>
<p><strong>4. Auriculares.</strong> La música nos puede ayudar a abstraernos el entorno y centrarnos en nuestras tareas. Además permite ignorar lo que no queremos escuchar aunque lo estemos oyendo. Me gusta bastante esta técnica, pero el volumen ha de ser bajo para que por lo menos nos enteremos cuando nos hablan o si no resulta bastante molesto para los compañeros. Yo suelo escuchar <a href="http://www.lastfm.es/">last.fm</a>, porque no suelo conocer mucho las canciones pero me permiten ponerme un estilo que me gusta.</p>
<p><strong>5. Signo de No Molestar.</strong> Comentan de hacer un signo de &#8216;No Molestar&#8217; y ponerlo en nuestro lugar de trabajo cuando nos queremos concentrar. Yo no sé en qué tipo de oficina esto estaría bien visto, pero puedo asegurar que no en dónde yo trabajo.</p>
<p><strong>6. Elimina basura del sitio de trabajo.</strong> Todo aquello que no necesites en este momento fuera de la vista y de la mesa. Explican la famosa técnica de <a href="http://www.amazon.com/gp/product/0142000280?ie=UTF8&amp;tag=climecodel-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0142000280">Getting Things Done</a> (o su versión en español, <a href="http://www.amazon.com/gp/product/849662708X?ie=UTF8&amp;tag=climecodel-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=849662708X">Organizate con Eficacia</a>) de <a href="http://www.davidco.com">David Allen</a>, recoger todos los papeles que hay por ahí, meterlos en la bandeja de entrada y procesarlos uno a uno. Delegar, poner en la lista de tareas o si cuestan menos de 2 minutos, hacerlos inmediatamente. Así establecemos acciones concretas para esos papeles colgados y viviremos mucho mejor.</p>
<p>7. Elimina basura de tu ordenador. Quita todo lo que no necesites del escritorio a una carpeta para revisar luego. Quita las notificaciones que no necesites. Cierra los programas que no hagan falta. En fin, que te concentres en lo que tienes que hacer y no crees más distracciones.</p>
<p>8. Maneja las interrupciones. Muchas veces no podemos evitar que se nos interrumpa en medio de nuestro trabajo y con la posibilidad de romper completamente nuestra concentración y ritmo. En general hay que intentar retardar dicha interrupción hasta el momento en que la podamos atender. Anóta de qué se trata y cuando puedas lo harás. Si vienen a tu mesa, dí que irás cuando puedas y si no hay más remedio, apunta lo que estás haciendo para que luego sea menos traumático.</p>
<p>9. Usa programas mínimos. Al escribir o programar usa programas que no distraigan. Editores de texto simples pero a la vez completos son mejores que monstruos como el Word. Concéntrate en la tarea y luego ya darás formato o mejorarás lo que estás haciendo. Comentan editores como <a href="http://they.misled.us/dark-room">DarkRoom</a>, <a href="http://www.codealchemists.com/jdarkroom/">JDarkRoom</a> o <a href="http://www.hogbaysoftware.com/product/writeroom">WriteRoom</a> o algunos online como <a href="http://writer.bighugelabs.com/">Writer</a> o <a href="http://docs.google.com/">Google Docs</a>. No es una mala idea, probadlos a ver si os funciona. Yo incluso añadiría <a href="http://www.vim.org/">Vim</a> o su versión más amigable <a href="http://cream.sourceforge.net/">Cream for Vim</a>.</p>
<p>10. Tiempo para distraerse. Programa tiempo para distracciones. 10 minutos cada hora para revisar el correo o leer los feeds o a lo mejor cada 30 minutos si estamos en una tarea que requiere mucha concentración. Es importante para no agotarnos antes de tiempo.</p>
<p>Via &gt; <a href="http://freelanceswitch.com/productivity/10-ways-to-eliminate-distractions/">Freelance Switch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codelog.climens.net/2007/06/09/10-modos-de-eliminar-distracciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Los 10 mandamientos de la programación no egocéntrica</title>
		<link>http://codelog.climens.net/2007/04/16/los-10-mandamientos-de-la-programacion-no-egocentrica/</link>
		<comments>http://codelog.climens.net/2007/04/16/los-10-mandamientos-de-la-programacion-no-egocentrica/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 21:57:01 +0000</pubDate>
		<dc:creator>climens</dc:creator>
				<category><![CDATA[Productividad]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[Desarrollo]]></category>

		<guid isPermaLink="false">http://codelog.climens.net/2007/04/16/los-10-mandamientos-de-la-programacion-no-egocentrica/</guid>
		<description><![CDATA[Leyendo en uno de mis blogs favoritos, Coding Horror, encontré un interesante artículo que enlazaba finalmente con esta acertada y curiosa lista de mandamientos. Fué escrita por Gerald Weinberg nada más y nada menos que en el año 1971 por este especialista en psicología y antropología del desarrollo de software en un libro titulado The [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://codelog.climens.net/files/2007/04/10mandamientos.jpg" alt="10mandamientos.jpg" />Leyendo en uno de mis blogs favoritos, <a href="http://www.codinghorror.com/blog/">Coding Horror</a>, encontré un <a href="http://www.codinghorror.com/blog/archives/000822.html">interesante artículo</a> que enlazaba finalmente con esta acertada y curiosa <a href="http://www.codinghorror.com/blog/archives/000584.html">lista de mandamientos</a>.</p>
<p>Fué escrita por <a href="http://en.wikipedia.org/wiki/Gerald_M._Weinberg">Gerald Weinberg</a> nada más y nada menos que en el año 1971 por este especialista en psicología y antropología del desarrollo de software en un libro titulado <a href="http://www.amazon.com/gp/product/0932633420?ie=UTF8&amp;tag=climecodel-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0932633420"><em>The Psychology of Computer Programming</em></a>. Muchos de nosotros no habíamos ni siquiera nacido y él estaba ya de vuelta de los problemas que seguimos encontrando a día de hoy.</p>
<p>Paso a enumerar una traducción libre de dicha lista, que también se puede encontrar en el <a href="http://builder.com.com/5100-6404-1045782.html">artículo original</a> en inglés:</p>
<ol>
<li><strong>Comprende y acepta que todos cometemos errores</strong>. Por suerte en este negocio, la mayoría de los errores que cometemos no van a destruir el mundo, pero vale la pena encontrarlos lo antes posible.</li>
<li><strong>No eres tu código</strong>. Cuando se revisa algo el objetivo es encontrar errores y ten por seguro que se encontrarán. No lo tomes como algo personal.</li>
<li><strong>No importa cuanto <em>kárate</em> sepas, alguien siempre sabrá más que tú</strong>. Te puede enseñar algunos nuevos movimientos. Busca y acepta consejos de otros, <em>especialmente</em> cuando crees que no es necesario.</li>
<li><strong>No reescribas código sin consultar</strong>. Hay una fina línea entre <em>arreglar</em> y <em>reescribir</em>. Conoce la diferencia y persigue la mejora estilística en cualquier revisión, pero no lo hagas como un justiciero solitario.</li>
<li><strong>Trata a la gente con menos conocimientos con respeto, deferencia y paciencia</strong>. La gente poco técnica que trata con técnicos suele tener la impresión de que somos de lo mejor cuando todo va bien pero unos lloricas cuando va mal. No refuerces el estereotipo con mal genio e impaciencia.</li>
<li><strong>La única constante en el mundo es el cambio</strong>. Sé abierto y acéptalo con una sonrisa. Toma cada cambio de especificaciones, plataformas y herramientas como un nuevo reto, no como un grave problema.</li>
<li><strong>La auténtica autoridad nace del conocimiento, no de la posición</strong>. El conocimiento engendra autoridad y la autoridad, respeto. Si quieres respeto en un ambiente libre de egocentrismos, adquiere conocimientos.</li>
<li><strong>Pelea por lo que quieres, pero acepta las derrotas</strong>. A veces tus ideas van a ser despreciadas. Incluso si tenías razón no te tomes la revancha diciendo: &#8220;Ya te lo dije&#8221; más de lo necesario. No lloriquees más de la cuenta ni te hagas el mártir.</li>
<li><strong>No seas &#8220;el tipo ese</strong>&#8220;. No te conviertas en el chaval que solamente se levanta de la silla a por cafés. Este tipo está desconectado, es invisible, fuera de control y no tiene cabida alguna en un entorno abierto y colaborativo.</li>
<li><strong>Critica el código y no a las personas. Sé amable con el programador, no con el código</strong>. Tanto como sea posible haz comentarios positivos con el objetivo de mejorar el código. Haz referencia a estándares, especificaciones, mejor rendimiento, etc.</li>
</ol>
<p>A mí la que más me gusta es la 7 y recomiendo encarecidamente a todo el mundo que no se conviertan en el 9. También creo que la 1 es importante, tanto desde el punto de vista del programador como del que encuentra el error, pero está claro que no es buena señal que alguien cometa <em>demasiados</em> errores.</p>
]]></content:encoded>
			<wfw:commentRss>http://codelog.climens.net/2007/04/16/los-10-mandamientos-de-la-programacion-no-egocentrica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
