<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6249971359912444526</id><updated>2024-09-27T14:34:19.551-06:00</updated><category term="Java"/><category term="Facebook"/><category term="Market"/><category term="Nearshore"/><category term="Offshore"/><category term="Outsourcing"/><category term="Agile"/><category term="Ars est celare artem"/><category term="C"/><category term="Crime"/><category term="Desperate mesures"/><category term="Dogs"/><category term="Economics"/><category term="Economy"/><category term="Flash"/><category term="Game Development"/><category term="Group interactions"/><category term="HTML5"/><category term="Hiring"/><category term="Human Condition"/><category term="India"/><category term="Information Technology"/><category term="Javascript"/><category term="Memory"/><category term="Mexica"/><category term="Mexico"/><category term="Mobile"/><category term="PHP"/><category term="Poverty"/><category term="Programming Languajes"/><category term="Project Management"/><category term="RESTful"/><category term="Reflexions"/><category term="SDLC"/><category term="SOAP"/><category term="Services"/><category term="Social Networks"/><category term="Soft Skills"/><category term="Software Development"/><category term="Team Work"/><category term="Tips"/><category term="Web Services"/><category term="Zynga"/><category term="cuchillos"/><category term="obsidiana"/><title type='text'>Chepech - &quot;Ars est celare artem&quot;</title><subtitle type='html'>&quot;The true art is to conceal the art&quot;&#xa;&#xa;A Journey through the narrow path of technology, science and art through the eyes of an third-world-apostate-software developer.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-988894013584305401</id><published>2016-11-09T11:51:00.000-06:00</published><updated>2016-11-09T11:51:07.460-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Crime"/><category scheme="http://www.blogger.com/atom/ns#" term="Desperate mesures"/><category scheme="http://www.blogger.com/atom/ns#" term="Dogs"/><category scheme="http://www.blogger.com/atom/ns#" term="Economy"/><category scheme="http://www.blogger.com/atom/ns#" term="Poverty"/><title type='text'>Of dogs, economy and tribalism.</title><content type='html'>I&#39;m a dog guy...
&lt;br /&gt;
I love dogs since I was a kid. Back then my dad adopted a gorgeous white Grand Dane we called, ironically, &quot;Pitufo&quot; (that&#39;s the Latin American equivalent of Smurf). He was this gargantuan behemoth cuteness. He loved to jump on people, it was his way of being friendly. You can imagine that not everyone understood that as a friendly gesture, though; a 1.82m tall beast jumping with his paws on your chest and trying to lick your face is probably a scary thing to experience, special coming from a dog you don&#39;t know. One day Smurf escaped from my yard and decided to say hi to a passing young couple. The young woman welcome my dogs gesture by screaming like a rape victim, so picture the scene... Small young woman screaming, completely freaked out and covering her face while huge dog drooled and jumped around her. It indeed look bad for Smurf. To make things worst a policeman was witnessing the scene from about a block away. After the policeman approached the young woman declared that my horrible beast brutally attacked her and in the act ripped a expensive golden necklace from her neck and, conveniently, swallowed it. Of Course she was never able to prove anything, no attack marks of any kind and no way to establish that the necklace even existed in the first place, so me; a 35kg 8 year old 1.35m high boy and Smurf; my 87kg crazy-bloodthirsty-gold-swallowing 1.82m high monster were allowed to walk away.
&lt;br /&gt;
Later, about 2 days after the &quot;attack&quot; I came to realize that the young woman&#39;s boyfriend didn&#39;t considered things settled, position he manifested by coming back to my house during the night and shooting Smurf with a hollow point .22 caliber handgun . I know basically nothing about real guns and probably less about ballistic and bullet dynamics, but I do know this: if you shoot a big dog with a small caliber gun you don&#39;t instantly kill him, instead you ensure him a great deal of suffering and a slow excruciating death. I sat down on the ground holding Smurf for what seemed like an eternity waiting for a vet the never came. He died with his head resting on my lap... I didnt cried... I still miss him.
&lt;br /&gt;
Nowadays my family is formed by my lovely wife, my biological sons (15 and 12) and my adoptive daughters; Thelma, a noble and smart halfbreed that kind of looks like a minuscule greyhound, and Gaia a cute goofy Basset hound.
The girls are a crazy couple, completely opposite both physically and behaviorally. One is super-fast and agile like a hare and the other one is basically an achondroplastic sausage with overdeveloped ears. Gaia is the youngest and as every basset hound she is as stubborn as hell.
&lt;br /&gt;
I love my adoptive daughters, but they find new ways to rub me in the wrong way, specially when they are left alone in the house, unsupervised, for more than 20 sec. Basset hounds are famous for their incredibly sensible sense of smell, they can detect the most faint traces, a hundred particles per million, of practically odorless stuff completely imperceptible to us even if we grind down a pound of it and snort it with a rolled up bill. Needles to say; they have the superpower of finding food... needless to say they have a broad sense of what can be considered food, as most dogs do. One day, out of the blue, Gaia (my achondroplastic-supersmelling-sausage daughter) started flipping all the trash cans in the house and spreading its contents in the most inconvenient places, so I could at any time find the most repulsive things you can throw away half chewed on my pillow or inside one of my slippers. This suddenly became a habit for her, so we had to restrict the access to places with trash cans, specially the bathrooms and the kitchen. You can imagine how fast this became an annoyance. We were quite puzzled of why she started doing that but we didn&#39;t know how to find out since nothing (nothing obvious) had changed in that period.  
&lt;br /&gt;
One night, I waked up to noises in the ground level of the house, so I went down to check what was the origin of it (No baseball bat in hand, I&#39;m Mexican, I know that statistically burglaries happen during the day... you are welcome). I get to the kitchen and find every single food cabinet open and everything that could be considered food (by basset hound standards) ripped open and spread all across the floor. Gaia and Thelma sitting in the middle slowly chewing something with their mouths dusted in flour and cookie crumbs and their bellies swollen. So I just went nuts, the frustration accumulated from weeks of guarding trash cans simply took the best of me so I started screaming at them and angrily pointing out at things while thinking: &quot;What the hell is wrong with this stubborn pair?&quot;. If you are a dog guy like me you probably talk to dogs as if they (sometimes they do) understand you. I began this angry speech about how wrong they have been doing and how things will change the next they for them, how we will start alienating them from the house and having them spend more time outside where they could not cause any more trouble and how that will prevent the night food hastes from happening again. 
&lt;br /&gt;
We store their food on a huge container like 2 meters away from the food disaster ground zero. So I walk to the container with the intention to show them that we have plenty of food for them, and how unjustified their actions were. I open the container and notice that in fact there is food, but there is way more than it should be considering their feeding habits, and also notice that the cup we use for measuring the servings has been replaced by a way smaller one, probably 1/3 of the size of the one we use.
&lt;i&gt;I have this sudden flashback that connected all that was happening in an instant:&lt;br /&gt;
My mother in law was visiting us since the last 3 weeks, around 7 days prior of the trashcan incidents started. She had taken over feeding the dogs (I know this is probably hard to understand, but Latino moms and in laws visit for weeks at a time and usually take over or some of the activities in the house, like cooking or feeding dogs in this case). I remembered telling her that we fill the dogs plates with one serving a day measured with the officially sanctioned serving cup inside the dog food storage container.&lt;/i&gt; My heart shrinked like 2 sizes as I looked at my shivering and cringed dog daughters that stared at me with shame and fear.
&lt;br /&gt;
I&#39;m not an expert in economics, I have no clue how markets and wealth distribution really works, I don&#39;t think anyone really has. 
I&#39;m no fan of capitalism, I think it&#39;s flawed to the core but it&#39;s a less nocive model than others humanity has tried. What I know is that we sometimes overestimate our own honesty and civility, we think we act based on what we are in essence and not based on the circumstances and we think the same of other people. This is true most of the time, but bare with me. 
&lt;br /&gt;
If a guy cuts me off in traffic it&#39;s because he is a bigot and an asshole, that&#39;s the only explanation we see and the only one we want to see. We deceive ourselves thinking we are immutably good people, that our morals are intrinsic to what we are. 
This kind of thinking is unsustained and according to neuroscientific evidence, completely mistaken. We are, to a point, circumstantial creatures, in the sense that we act influenced more by the circumstances than to our internal sense of ourselves. We allow ourselves and justify us to do things that we make tabu for others if the circumstances push us to that. I can cut you off in traffic, not because I&#39;m a bigot and an asshole as the people that cut ME off, but because I&#39;m in a rush, I&#39;m still a good guy, right? I firmly believe that the majority of us are good, cooperating and empathic people in part because we are social hominids that benefit from the common good (my nerdy way of saying &quot;because we are good people&quot;), but also (and probably mainly) because we have constructed a civilization safe haven, where we get the chance to switch off the survival mode in our brains for extended periods of time. This is a pretty scary thought, it implies that civilization defined by our abundance of food, shelter and overall well being is the only thing keeping us away from going back to barbaric tribalism. This means that that if our civilization that shelters us so we can spend time thinking on science, art and technology broke down, our survival mode goes back on. Any mammal sufficiently desperate to survive will not hesitate to open food cabinets and eat whatever it finds and not care a thing about social norms and pack hierarchy, if it&#39;s desperate enough it won&#39;t even blink before severing your jugular with a bite and having your offspring for dinner in front of you while you slowly fade away; this includes our sweet neighbor that waves good morning at us when we leave our driveway to work... and you... and me.
&lt;br /&gt;
My intention is not to picture this inevitable nihilistic horizon, but a call to awareness of the importance of keeping our civilization the way it is. We need to guarantee that we will generate the safe conditions for every single member of our species to be able to switch off their survival mode so they can relocate those cognitional resources into the proverbial pursue of happiness. We need to make sure that everyone&#39;s servings are measured with the right cup.
</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/988894013584305401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2016/09/of-dogs-economy-and-tribalism.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/988894013584305401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/988894013584305401'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2016/09/of-dogs-economy-and-tribalism.html' title='Of dogs, economy and tribalism.'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-6833750122267265096</id><published>2016-11-06T22:46:00.003-06:00</published><updated>2021-10-26T10:28:19.177-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cuchillos"/><category scheme="http://www.blogger.com/atom/ns#" term="Economics"/><category scheme="http://www.blogger.com/atom/ns#" term="India"/><category scheme="http://www.blogger.com/atom/ns#" term="Information Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Mexica"/><category scheme="http://www.blogger.com/atom/ns#" term="Mexico"/><category scheme="http://www.blogger.com/atom/ns#" term="Nearshore"/><category scheme="http://www.blogger.com/atom/ns#" term="obsidiana"/><category scheme="http://www.blogger.com/atom/ns#" term="Offshore"/><category scheme="http://www.blogger.com/atom/ns#" term="Outsourcing"/><title type='text'>¿Que tienen los cuchillos de obsidiana y el Nearshore en común?</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;https://www.emaze.com/@AWIQWFLL/cp-night&quot; target=&quot;_blank&quot;&gt;Presentacion&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=Z27_b3gKtEA&quot; target=&quot;_blank&quot;&gt;Aparicion en Campus Night Jalisco Nov 2016&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Como siempre me gustaría empezar esta noche con una historia, disculpen uds la insistencia, pero esto es lo que los cuenta cuentos hacemos. Al terminar les prometo que la historia es bastante relevante con lo el tema que queremos tratar.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Este es parte de una historia es solo un fragmento plasmado en el Códice Boturini conocido también como la Tira de la Peregrinación que narra la migración de los Chichimecas de su lugar de origen, Aztlán, &amp;nbsp;hacia su destino final, la tierra prometida de Teoculhuacan.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
El viaje inicia como muchos viajes conocidos, con un personaje misterioso y muy poderoso que convence a un grupo de aventureros a embarcarse en una aventura, en ese caso éste personaje no es otro que el mismísimo Huitzilopozchtli, el dios de la guerra, el sol y los sacrificios humanos, nuestro Gandalf mesoamericano. Nuestra historia comienza pasados más de 2 siglos dentro de este viaje tras muchas peripecias y percances los Chichimecas, que ahora se hacían llamar Mexicas, ya dentro del Valle de México, llegan a Chapultepec donde se encuentran en medio de varias otras culturas. En Chapultepec había una importante fuente de agua que era vital para la zona y los Mexicas toman control por la fuerza de esta, situación que detona en hostilidades de parte de los demás grupos del área. Específicamente la gente de Coxcoxtli, rey de los Culhuacanos toma la presencia de los Mexicas sin ninguna gracia. Los Culhuacanos no son cualquier grupo tribal de nómadas, ellos son la estirpe misma de los Toltecas, quien es son la civilización mas avanzada de esos tiempos, los Atenienses mesoamericanos, una cultura altamente letrada, sofisticada y militarmente muy bien organizada. Pasado el tiempo llega la época de sequía y como buen estratega Coxcoxtli sabe que la falta de agua hace débil al enemigo por lo que inicia una campaña en contra de los Mexicas en cuanto el manantial de Chapultepec se seca, la que da frutos y culmina en la captura de los sobrevivientes de entre las líneas Mexicas. Los Mexicas liderados por Huitzilihuitl, derrotados son tomados prisioneros y llevados hasta Atizapan, que no es más que un estéril baldío donde pululan las culebras, donde se les mantiene en sujeción. Coxcoxtli los somete bajo yugo de tributo y estos pasan sus días labrando la dura tierra para producir suficiente para cubrir su deuda y alimentarse de las sobras.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Años después llega la zona una nueva amenaza para los Culhuecanos, los Xochimicas que buscan expandir su territorio. Xochimilco representa una amenaza ya que es un pueblo enteramente bélico y brutal como nada que los Culhuacanos hayan visto antes y sus constantes embates tienen a las tropas de Coxcoxtli cansadas, heridas y con la moral por los suelos. Los sabios aconsejan al rey que de uso a sus esclavos y los use para debilitar al enemigo. Coxcoxtli acepta y convoca a Huitzilihuitl a una reunión frente a su trono de palma. Coxcoxtli con un tono despreciativo le comunica a Huitzilihuitl&amp;nbsp;su plan, le pide que tome a su mejor grupo de guerreros y embista a un campamento de avanzada&amp;nbsp;Xochimilca que tiene nerviosos y temerosos a sus generales. Como prueba de que cumplió con lo comandado le pide que corte la oreja derecha de todo Xochimilca caído y que se las traiga como ofrenda. Huitzilihuitl acepta pero le pide al rey:&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
-&quot;Rey como sabes somos un pueblo sometido que solo labra la tierra, nos es prohibido tener armas por lo que no tenemos con que pelear contra tus enemigos, Necesitamos macuahitls, escudos y atavíos de guerra&quot;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Coxcoxtli se rehúsa a ayudarlo. Huitzilihuitl le pide entonces al rey:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
-&quot;Gran tlatoani, pudieras permitirnos hablar con tus generales para que nos informen sobre la posición y las condiciones del campamento de tus enemigos, saber cuantos hombres de guerra y y su estado moral nos permitirá planear el ataque como es debido y así vencerlos para ti.&quot;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Coxcoxtli se rehúsa a ayudarlo nuevamente. Huitzilihuitl, quien es un experimentado guerrero, el más viejo y templado en batalla de todos sus hermanos Mexicas, sabe que el rey los está enviando en una misión suicida, sabe que el plan del rey no es solo hostigar y debilitar a sus enemigos pero también deshacerse de lo que a sus ojos es una creciente plaga de Mexicas que se multiplica y que pudiera representar un problema a futuro. Aún así Huitzilihuitl decide hacer lo que el rey les pide.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Reune a su grupo cerca del ocaso y les cuenta sobre el plan del rey. Siendo el el mas experimentado les pide que no corten las orejas de sus enemigos como el rey pidió ya que sabe que sin duda los acusarán de haber cortado ambas orejas para aparentar haber hecho más de lo que hicieron, así que les pide que corten las narices en su lugar. El grupo planean brevemente el ataque. Improvisan lanzas hechas de carrizo y algunos precarios cuchillos de obsidiana que obtienen en una beta que han encontrado cerca del río. Y parten al anochecer a buscar el campamento xochimilca siguiendo el cauce del río.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Pasan 2 dias sin saber del grupo. Coxcoxtli está seguro de que no van a regresar, pues sabe que la hazaña, tal como los 12 trabajos de Heracles, está diseñada para no ser lograble. A la mañana del 3er dia a la distancia ven regresar al grupo casi completo, teñido de sangre seca color marrón entre ellos Huitzilihuitl camina cargando una bolsa hecha de hojas de plátano. El general Mexica se aproxima al trono del sorprendido rey y proclama:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
-&quot;Gran rey, hemos cumplido la tarea que nos has pedido, el campamento Xochimilca ya no es más. He aquí la ofrenda que nos pediste.&quot;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Deja, entonces caer pesadamente la bolsa a sus pies la cual se abre y revela el escalofriante contenido; al menos 80 narices todas llevando los adornos típicos de los guerreros Xochimilcas.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
El rey se aterroriza de la imagen, siente miedo en su corazón, horrorizado le pide que se marchen, ¿Que clase de bestias son estos Mexicas que sin armas borran de la tierra un enemigo poderoso como los Xochimilcas que ni los más experimentados generales Culhuacanos logran herir?&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Led informa que el yugo queda rota y la deuda saldada, que salgan de sus tierras como hombres libres, pues lo que han hecho es terrible que se marchen como amigos de los Culhuacanos, incluso les ofrece a su hija como gesto de buena fé entre ellos. Así Huitzilihuitl y su gente salen como hombre libres de Chapultepec para continuar su viaje.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
¿Qué nos trajo hasta donde estamos?&lt;/h4&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Se que el paralelismo no es tan obvio a estas alturas, pero la relevancia de la historia se volvera un tanto más evidente mientras progresemos.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ahora sí al tema que nos atañe. Históricamente como llegamos aqui. Al igual que el viaje de los Mexicas nuestro viaje comienza algunos años atrás. A mediados de los 90&#39;s el crecimiento y la demanda de sistemas comienza un crecimiento exponencial alimentándose del auge de esta extraña y nueva tecnología que los versados en el tema llaman; INTERNET. Comienza la era de las .COM.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Demas de los startups y el ejército de entrepreneurs que lideraba la revolución comercial cabalgando en paquetes de datos binarios hubo otro factor que intensificó la demanda por personal diestro en las artes obscuras de la electrónica y los sistemas, el ominoso advenimiento del tan temido Y2K.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Sin más vueltas nos encontramos ahora en principios del nuevo milenio, habiendo sobrevivido el apocalipsis electrónico y habiendo sido testigos de la explosión de la burbuja de las .COM y la muerte de Napster. Este valle de recuperación que contrajo la inversión en sistemas casi a la mitad toma unos años en escalarse. La pendiente es vencida gracias al nacimiento de Facebook, la entrada de Google a la bolsa y se corona con el lanzamiento del iPhone y de Android. Comienza la era de los smartphones y los ecosistemas de apps. La integración entre el no-anonimato, la modernización de los sistemas de data mining y el big data generan una explosión en la demanda de sistemas que hace a la burbuja del .COM palidecer al llegar a una inversión máxima histórica que supera sustancialmente a la cima del desplome de las .COM. El hambre de sistemas y la necesidad de mas gente haciendolos incrementa agudizando mas la brecha entre la demanda de ingenieros y la oferta.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Esta insaciable necesidad por sistemas desde el inicio de la era de la digitalización, pasando por la era de las PC, el Internet y los Smartphones genera la necesidad de cubrir esta demanda de gente que cree los sistemas que hagan operar toda esta gigantesca maquinaria, al grado de que la demanda no puede ser cubierta por la población de ingenieros en EUA ni ninguno de los países industrializados, eso da pie al Outsourcing de IT. El Outsorucing ya había comenzado desde los 80s hacia Asia, específicamente Bangalor, la capital tecnológica de la India. Siendo la India el segundo país con más Angloparlantes la atracción de ese capital es simplemente natural. Aunado a esto el hecho de que el sistema educativo de la India es relativamente de buena calidad comparado con los del mundo industrializado y que las rupias se compraban a fracciones de dólar, la inyección de capital al exótico subcontinente indio era solo cuestión de tiempo.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
India se convierte pronto en el imperio del Offshore, aglutinando básicamente toda la gama de servicios de IT posibles, de Cloud Services, DevOps, Hosting, Sys-admins, Desarrollo de Software, DBAs, Network Admin, Cybersecurity... etc. El modelo funciona relativamente bien, es barato y si se parea con servicios en EUA permite mantener operaciones 24hrs del dia, esto es especialmente valioso tratándose de sistemas de infraestructura de misión crítica ya que hay gente disponible para atender emergencias. La cultura jerarquica y patriarcal de la india se adapta muy bien a este tipo de operaciones donde la gente tiene que ser ordenada y no correr riesgos ya que se trata de mantener las luces encendidas, la predictibilidad es un factor muy importante.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
¿Dónde nos encontramos en la actualidad?&lt;/h4&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Por otro lado, dentro de esta gama de servicios, hay un sector importante cuya naturaleza es muy diferente; el Desarrollo de Software. A diferencia de los servicios cuyo propósito es mantener las cosas funcionando, el desarrollo implica un skill y mind set muy diferente. El desarrollo de software comprende la administración de incertidumbre y expectativas cuya materia prima es la información extraída a través de comunicación efectiva para ser maquillada en un producto que es seguro pero eficiente, complejo pero mantenible, funcional pero escalable. Uno de los retos más importantes que se tiene en un modelo de offshore es precisamente la comunicación. La comunicación se ve mermada por factores como la diferencia de usos horarios, el lenguaje y la cultura. En el caso de la India, sin ser excepción, es un problema que no es facil de sortear. La india esta en una zona horaria a 11hr aprox de diferencia entre cualquier región del continente Americano, culturalmente es muy distinta, me atrevería a decir que es casi incompatible con EUA. Las operaciones de desarrollo demandan mucho orden y control, los proyectos para funcionar deben adoptar una estructura mucho más rígida que demanda más supervisión e incluso contar con buena parte del personal ubicado físicamente en EUA (alrededor del 30-40%), lo que disminuye sin duda los beneficios. La distancia presenta otro tipo de problemas, como viajes largos y costosos entre locaciones (25-32hrs de vuelo en un costo entre $2000 y $4000 dólares) y costos por comunicación por voz más elevados.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Estas deficiencias abren una ventana de oportunidad para países con talento, infraestructura y capacidades similares para volverse parte de la industria. En el caso específico de México, que cubre el perfil y que además tiene la ventaja de ser el vecino del sur y el socio comercial más importante de EUA se vuelve una oportunidad histórica. Nace entonces el Nearshore. &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
La industria de IT en México desde principios del 2000 ha crecido de forma constante no solo por las ventajas económicas que ofrece; Menor supervisión, costos de comunicación y viaje mucho más accesibles, sino especialmente por las ventajas culturales. En el ámbito del desarrollo de software el mexicano es crece en un ambiente donde se celebra la perspicacia y el trabajo inteligente. No es de sorprenderse que los inversionistas tengan los ojos puestos en México en la actualidad, específicamente en Guadalajara donde se vive un periodo de bonanza y expansión por la entrada de capitales importantes al estado logrando así un máximo histórico de exportación de servicos de IT que conforma ya la mayor parte de las exportaciones estatales. Los resultados obtenidos con desarrolladores mexicanos rivalizan con aquellos de los países históricamente asociados con la tecnología como Ucrania y Finlandia. No es una casualidad que año con año sean universidades mexicanas distribuidas a lo largo de todo el espectro socio-económico las que resulten como ganadoras de concursos de ciencias, robótica y matemáticas, venciendo a universidades de la talla del MIT y CalTec. Esto habla que a pesar de la falta de capital, estructuras de desarrollo educativo y apoyo gubernamental hemos, como sociedad, salido adelante y destacado en los escenarios internacionales por puro y crudo mérito propio. El potencial existe, falta saberlo explotar y mantener.
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Optimizando: Lo que podemos mejorar.&lt;/h4&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Si bien la oportunidad en la que se encuentra el país actualmente es histórica, aún hay muchas barreras que derribar y muchas mejoras que implementar. No solo en infraestructura y maduración en si de la industria, sino también, y sin duda las más importantes en materia de nuestra mentalidad, percepción de México en extranjero hacia lo que nuestro talento local puede lograr. Hoy por hoy la nueva generación que se incorpora al mercado laboral innegablemente viene mejor preparada técnicamente que lo que cualquiera de los mas veteranos de esta industria estuvimos cuando en su momento egresamos. Sus programas de estudio son mucho mas actualizados y enfocados en una industria que es hoy una realidad y que marca muchas pautas sobre las habilidades que deben desarrollar. &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Tenemos comos país muchos retos por delante, muchas cosas que e deben arreglar que llevan décadas estando sistemáticamente mal; corrupción, una brecha socioeconómica que no deja de crecer, falta de oportunidades para los emprendedores, un gobierno indiferente a la problemática de la mayoría y muchas cosas que están simplemente mal. No es mucho lo que podemos hacer para borrar de un dia a otro todo eso que nos ancla como pais, pero si hay podemos iniciar este largo viaje con muchos pequeños pasos que estan de la talla de cualquiera de nosotros y que colectivamente contribuyen a llevarnos como sociedad a estar mejor y prepararnos para el despegue que de verdad creo que estamos a punto de ver. Las siguientes recomendaciones pueden parecer inconsecuentes a simple vista, pero creo que sumadas pueden cambiar de forma positiva la forma en la que trabajamos y contribuir mejorar nuestra industria.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;i style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&quot;I found it is the small everyday deeds of ordinary folk that keep the darkness at bay.&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;Small acts of kindness and love.&quot;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;i style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;-Gandalf the Grey -&amp;nbsp;The Hobbit: An Unexpected Journey - Movie&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
Job-&lt;strike&gt;Hopping&lt;/strike&gt;&amp;nbsp;Whoring&lt;/h4&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Existe un fenómeno laboral que se ha disparado en los últimos años y cuya práctica es notablemente mayor entre millennials que en el ámbito se conoce como Job-Hopping (Yo le llamo Job-Horing). Este consiste en cambiar de trabajo al menor disgusto y desden. Si bien el cambiar de trabajo puede ser una buena estrategia de crecimiento, si no se hace de la manera correcta puede resultar detrimental a largo plazo. Una persona que cambia de empleador en tiempos menores a 1 año da la impresión de inestabilidad, poca seriedad y falta de compromiso. Los cambios de trabajo deberían ser un evento planeado con un objetivo en específico, deberían ser parte de una estrategia más grande. La recomendación que este viejo les puede hacer es:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Cambia de trabajo cuando hayas logrado algo y tras haberlo logrado sientes que dejaste de aprender. Nunca cambies de trabajo solo con el fin de incrementar tu salario, ni librarte del idiota de tu jefe, Trata a tu trabajo como a una relación de pareja; aprende, diviértete todo lo que puedas y si el pozo de conocimiento se seca y ya no puedas ni aprender ni contribuir nada, entonces márchate en buenos términos. Eso es mucho más sostenible que volverte un promiscuo laboral.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
Desarrollo de Talentos&lt;/h4&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Existen pocas maneras de darle forma al futuro de manera directa que enseñar, mas aún si la enseñanza se lleva un paso mas allá. Dicen los que saben que hay maestros, bay excelentes maestros y hay mentores. Un mentor lleva la honorable labor de la instrucción al siguiente nivel haciéndose cargo de la impartición de conocimiento pero también de el coucheo, el seguimiento y la asesoría a largo plazo de su aprendiz/padawan. Un mentor asume la responsabilidad por la carrera de quien mentorea. Varios estudios como el de la Universidad Columbia Business School encontraron una correlación entre personas que sus carreras fueron enriquecidas con n mentor y hasta un 25% de ingreso superior al de sus contrapartes que en igualdad de condiciones no tuvieron un mentor.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
El mentoreo no solo enriquece al aprendiz sino que también sirve como mecanismo de crecimiento para el mentor. Esta industria necesita que más gente sea cobijada bajo el ala de lo que tenemos más experiencia para asegurar que no solamente crecerémos en número sino en capacidades.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Consigue un mentor o mejor aún, hazte de un buen padawan.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
Agile que no es FrAgile: Madurando la industria&lt;/h4&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
La cantidad de incertidumbre que se maneja hoy en dia con los proyectos de desarrollo hace que ls Metodologías Agiles sean una excelente forma de manejo de proyectos. Sinembargo es muy común que las empresas caigan en la trampa de usar el Agile como pretexto para mantener el descontrol y dejar de practicar procesos de ingeniería de software madura. Agile no es un substituto de la buena planeación y los procesos de calidad. La documentación, por ejemplo, no está peleada con los los preceptos de Manifiesto de Agile si ésta es usada como herramienta de interacción entre individuos. Necesitamos de herramientas efectivas de comunicación, muchas veces los documentos de la formalidad que estos sean pueden ser el puente que conecta 2 mentes que pretenden colaborar. Aprende sobre comunicación visual y los diagramas básicos de UML, te pueden ayudar mucho.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
Aprecia a tus compañeros de trinchera y cuida tu trinchera&lt;/h4&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Pasamos 40hrs promedio conviviendo con la gente que trabajamos, en momentos de estrés es posible que esa cifra se dispare a 60-80hrs dependiendo de lo tarde que vaya tu proyecto, esto es significativamente pas de lo que convivimos con nuestras familias. Es por eso que es vital que nos llevemos bien. No existe fuerza más destructiva para el éxito de un proyecto que un colaborador tóxico con el que nadie puede trabajar inconsecuentemente del nivel técnico y las capacidades que este tenga.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;i style=&quot;background-color: black;&quot;&gt;
  
  &lt;span style=&quot;color: white; font-family: &amp;quot;merriweather&amp;quot; , &amp;quot;georgia&amp;quot; , serif; font-size: 14px;&quot;&gt;
   &lt;br /&gt;
   &quot;We few, we happy few, we band of brothers; &lt;br /&gt;
   For he to-day that sheds his blood with me
   Shall be my brother&quot;&lt;br /&gt;
  &lt;/span&gt;

 &lt;/i&gt;

 Shakespeare - Henry V&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Aprende a apreciar a tus compañeros, genera relaciones de respeto y mutua admiración. Procura que en el proceso de contratación de personal nuevo participe buena parte de tu equipo, asegúrate que durante éste consideras no solo por su habilidad técnica, sino por su carácter y la actitud. Vale mas una persona que que se dispone a aprender y que genera armonía que alguien que no necesita aprender nada pero es una agente de disrupción y conflicto. Apoya a tus compañeros, mantente en contacto con tus excompañeros de trabajo, haz amigos y si puedes adopta a algunos como parte de tu familia, Recomienda gente que sepas que es buena, aprende a ser suficientemente sabio para aprender de los demás y suficientemente humilde para que los demás aprendan de ti.&lt;/div&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
El que no avanza retrocede&lt;/h4&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
En este negocio no podemos dejar de aprender, es vital que nos mantengamos en constante movimiento y que seamos los mejores autodidactas cada dia. Todo esto se resume en una recomendación: Además de leer y practicar mucho, trata siempre de ser el idiota de la mesa, el mas tonto de la plática, el que menos sabe y el que menos conoce de tu grupo de trabajo, es decir, rodéate de gente que te edifique y te enseñe cosas nuevas, busca y aprende de los que ya fueron y vinieron y se saben más historias que tu. Si en algún momento te sorprendes siendo tú el que más sabe y el que más conoce, es porque ya te quedaste atras.
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
La Imagen de México&lt;/h4&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
En la actualidad cuando la gente piensa en innovación, tecnología no piensa en México. En el cast de The Big Bang Theory no hay un latino, por señalar un ejemplo de la cultura popular que no reconoce lo que hemos logrado. Cuando la gente piensa en México piensa en mariachis, tequila, playas, fiesta y gente cálida. Y claro que eso es parte de nuestra cultura y estamos orgullosos de ser cálidos anfitriones en nuestro país del que estamos orgullosos. Pero somos mucho más que eso. Necesitamos trabajar duro en esta industria, ser conscientes de la responsabilidad que tenemos como representantes de lo que el talento mexicano puede hacer. Somos más que jardineros y jornaleros incansables.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style=&quot;text-align: justify;&quot;&gt;
Comentario Obligado sobre Trump, Presidente Electo&lt;/h4&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
La situación actual con nuestro vecino y socio comercial más importante está sin duda preocupante y claro que el mensaje que mandaron el 9 de Nov del 2016 es pésimo y pinta un futuro que parece más bien un pasado que ya habíamos dejado atrás.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
¿Qué le espera México después de esto? &amp;nbsp;¿Es este el fin del crecimiento de las exportaciones en materia de servicios especializados de IT? Sin duda la respuesta es un rotundo &lt;b&gt;NO. &lt;/b&gt;Es cierto que el peso perdió 13% de su valor en una noche, una caída comparable con la que sufrió en la crisis de 1994. Esto es está directamente ligado a al resultado de las elecciones por la posición del ahora Presidente electo concerniente al TLC y la relación comercial México-Norte América.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Los países en desarrollo como México basan mucha de su economía en la exportación de materias primas y productos generados de la explotación directa de recursos materiales (commodities). Esta vía de crecimiento es un buen comienzo pero tiene muchos límites a largo plazo, límites tales que México ya había alcanzado independientemente de quien fuera electo mandatario en EUA. Lo que da el siguiente empujón a los países para subirse al tren de la industrialización es sumarse a la cadena de valor a nivel global. Es decir, cuando un país madura en sus procesos productivos lo suficiente para poder competir en mercado abierto con otros países. México ya había logrado ese estatus, tanto es asi que somos el mayor exportador de autopartes del mundo. Pero esa segunda fase del crecimiento también tiene sus límites, ya que forza al mercado a una espiral de valor descendiente, es decir, el país será competitivo mientras pueda seguir operando con costos cada vez mas bajos, entregas más ambiciosas y calidad creciente. Esto genera condiciones económicas que eventualmente se vuelven insostenibles además de que son completamente dependientes de conocimiento e innovación que viene del exterior. &amp;nbsp;México se encuentra casi en el final de esta fase, en un estado de transición entre ésta y la siguiente, aún crecemos y somos competitivos pero no por mucho tiempo pero iniciando una innovación local de bastante importancia.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
La tercer fase de que un país tiene que emprender es moverse de la manufactura y la maquila a un mercado que se alimenta de innovación interna del propio país. Pasar del simplemente hacer a el innovar y hacer cambia el escenario volviendolo un ciclo virtuoso que genera crecimiento sustentable y sostenible. Esto requiere, entre otras cosas, más inversión en R&amp;amp;D tanto pública como privada, más énfasis educativo y cultural en carreras relacionadas con ciencia e ingeniería y políticas públicas que permitan la el crecimiento de la industria local. Eso es precisamente lo que la India logró en los 80ts y 90ts. Lo que Mexico necesita son exportaciones basadas en productos manufacturados, diseñados en el país que compitan con equivalentes en el mercado global. Necesita exportación servicios especializados de talla mundial que no solo cubran las necesidades de empresas de inversión extranjera sino también las de la industria local. Ahí es precisamente donde entramos todos los que navegamos las sórdidas aguas de esta industria. El siguiente paso tiene que ver con apuntalar la industria de la exportación de servicios de IT y fortalecer el ciclo de la innovación y el desarrollo. Es nuestro momento de salir a pelear con los Xochimilcas.&lt;/div&gt;
&lt;h4&gt;
¿Que tienen entonces en común los cuchillos de obsidiana y el Nearshore?&lt;/h4&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
En la idiosincrasia mexicana el ingenio es una herramienta que trasciende y supera el poder y la posición. El Mexicano es entrenado desde pequeño entonces en alcanzar metas a pesar de no tener los recursos suficientes, donde se aprende a nadar arrojándose al agua y no ahogándose, donde la escasez y la carencia se vuelven combustible para la innovación. El mexicano como el resto de latinoamerica tiene una caracteristica que lo distingue por encima de las demás. ¿Cual es característica del carácter de los Mexicanos que más los representa? Sin duda: nuestra &lt;u&gt;altísima resiliencia&lt;/u&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
México como cultura ha soportado sin fruncir el ceño, embate tras embate al grado de que la respuesta natural del mexicano ante la tragedia es el humor, no como forma de escape sino como una casi nihilista celebración de lo dura e indiferente que es la vida para los afortunados y los menos desafortunados por igual. &amp;nbsp;El mexicano cobra fuerzas de la derrota y se fortalece con las caídas y se crece al castigo. Somos descendientes, por un lado de guerreros forjadores de imperios y por el otro de conquistadores viajeros. La resiliencia nos hace aferrados, tercos e implacables cuando se trata de llegar a una meta. Esa implacabilidad da como resultado buena parte de nuestro ingenio, que nos permite obtener recursos de donde nadie más los ve, desde remplazar una banda de carro con un cinturón para que el taxi pueda seguir trabajando, hacer lanzas con carrizo y cuchillos de obsidiana para matar Xochimilcas o hasta dar con el diseño de un motor superluminal que distorsiona el espaciotiempo para mantener un marco de referencia temporal constante que es teóricamente viable (Motor Warp de Miguel Alcubierre).&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
En el desarrollo de software, donde se lidia con incertidumbre todo el tiempo, donde siempre hay metas cambiantes el tener un grupo de gente incansable que está entrenada desde niños en buscar la manera de sacar adelante las cosas, con apoyo, sin apoyo y muchas veces a pesar del apoyo es una ventaja competitiva que es apreciable a simple vista. La capacidad de los mexicanos de lograr metas que en el escenario internacional nadie realmente espera que puedan lograr, como exterminar un campamento de avanzada Xochimilca con armas improvisadas o ganarle en una olimpiada de robótica al MIT y CalTec o en nuestro caso , ser hoy por hoy el centro de Tecnología más grande del mundo para Herbalife.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;i style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&quot;Lo que impide la acción anticipa la acción.&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;i style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;Lo que se interpone en el camino se convierte en el camino.&quot;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;i style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;-Marcus Aurelius.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ya para cerrar, me gustaría volver a la historia del principio, esta es la parte que falta por contar. Pasadas unas décadas tras la salida del cautiverio culhuacáno, los Mexicas encuentran finalmente el proverbial águila parado sobre un nopal devorando una serpiente. En ese sitio fundarán l lo que es posiblemente la ciudad más importante de todas las civilizaciones mesoamericanas hasta la fecha, una ciudad con importantísimos avances tecnológicos y sociales que bien rivalizan con cualquier urbe europea de la época. ¿Cómo logra una cultura de guerreros nómadas volverse una civilización altamente organizada ? Los Mexicas aprendieron mucho durante sus años con los Culhuacanos, si vien estaban sometidos los años de convivencia les enseñaron, los maduraron y expandieron su visión sobre las cosas. El periodo de subyugación les sirvió sin duda como entrenamiento para lo que venía. El dia que ellos fundaran su propia civilización.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
México está en un momento histórico, esta puede ser nuestra oportunidad de crecer como nación, de cambiar el estereotipo de Speedy Gonzales sobre lo que nuestro país y nuestra gente es realmente. Este puede ser nuestro momento de fundar civilizaciones, de mejorar la calidad de vida de nuestra gente, de lograr el reconocimiento internacional por lo que podemos hacer, La industria de sistemas tiene el tamaño económico para poder disparar este país hasta las nubes. &amp;nbsp;Todas las grandes culturas a lo largo de la historia, tienen orígenes similares a los de nuestro relato, &amp;nbsp;todas vienen de humildes orígenes donde la escasez y carencia eran siempre presentes donde se fortalecieron en medio de la sequía y las vacas flacas. Todas usaron el embate para crecerse y fortalecerse y eso las preparó para llegar hasta donde llegaron. Solo falta estar preparado. Ayudanos haciendo la parte que te toca.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/6833750122267265096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2016/11/que-tienen-los-cuchillos-de-obsidiana-y.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/6833750122267265096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/6833750122267265096'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2016/11/que-tienen-los-cuchillos-de-obsidiana-y.html' title='¿Que tienen los cuchillos de obsidiana y el Nearshore en común?'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-6633545545319869485</id><published>2012-09-13T17:43:00.000-05:00</published><updated>2012-09-13T17:43:59.633-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Agile"/><category scheme="http://www.blogger.com/atom/ns#" term="SDLC"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Development"/><title type='text'>Difference between agile and Agile</title><content type='html'>&lt;br /&gt;
&lt;ul style=&quot;direction: ltr; margin-bottom: 0in; margin-left: .0326in; margin-top: 0in; unicode-bidi: embed;&quot;&gt;
 &lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
The Agile manifesto
 was the common ground found by a (heterogeneous) group of 17 software
 development experts (who now call themselves The Agile Alliance) with
 different backgrounds that included Extreme Programming, SCRUM, DSDM, Adaptive
 Software Development, Crystal, Feature-Driven Development, and Pragmatic
 Programming. They all agreed, in spite of their dramatically different points
 of view,&amp;nbsp; on a list of 12 base
 principles of how software development should be managed. This 12 point list
 is now known as the &lt;span style=&quot;text-decoration: underline;&quot;&gt;Manifesto for
 Agile Software Development&lt;/span&gt;. &lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;1&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Our highest
      priority is to satisfy the customer through early and continuous delivery
      of valuable software.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;2&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Welcome changing
      requirements, even late in development. Agile processes harness change
      for the customer&#39;s competitive advantage.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;3&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Deliver working
      software frequently, from a couple of weeks to a couple of months, with a
      preference to the shorter timescale.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;4&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Business people
      and developers must work together daily throughout the project.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;5&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Build projects
      around motivated individuals. Give them the environment and support they
      need, and trust them to get the job done.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;6&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;The most
      efficient and effective method of conveying information to and within a
      development team is face-to-face conversation.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;7&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Working software
      is the primary measure of progress.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;8&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Agile processes
      promote sustainable development. The sponsors, developers, and users
      should be able to maintain a constant pace indefinitely.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;direction: ltr; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;1&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot; value=&quot;9&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Continuous
      attention to technical excellence and good design enhances agility.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Simplicity--the art of
      maximizing the amount of work not done--is essential.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;The best architectures,
      requirements, and designs emerge from self-organizing teams.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;At regular intervals, the
      team reflects on how to become more effective, then tunes and adjusts its
      behavior accordingly.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
These 12 principles
 are based on 4 essential guidelines:&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style=&quot;direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 12.0pt; font-weight: bold;&quot;&gt;Individuals
      and interactions&lt;/span&gt;&lt;span style=&quot;font-family: Calibri; font-size: 11.0pt;&quot;&gt;
      over &lt;/span&gt;&lt;span style=&quot;font-family: Calibri; font-size: 10.0pt;&quot;&gt;processes
      and tools&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span lang=&quot;en-US&quot; style=&quot;font-family: Calibri; font-size: 12.0pt; font-weight: bold;&quot;&gt;Working&lt;/span&gt;&lt;span lang=&quot;es-MX&quot; style=&quot;font-family: Calibri; font-size: 12.0pt; font-weight: bold;&quot;&gt;
      software&lt;/span&gt;&lt;span lang=&quot;es-MX&quot; style=&quot;font-family: Calibri; font-size: 11.0pt;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;en-US&quot; style=&quot;font-family: Calibri; font-size: 11.0pt;&quot;&gt;over &lt;/span&gt;&lt;span lang=&quot;en-US&quot; style=&quot;font-family: Calibri; font-size: 10.0pt;&quot;&gt;comprehensive documentation&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 12.0pt; font-weight: bold;&quot;&gt;Customer
      collaboration&lt;/span&gt;&lt;span style=&quot;font-family: Calibri; font-size: 11.0pt;&quot;&gt;
      over&lt;/span&gt;&lt;span style=&quot;font-family: Calibri; font-size: 10.0pt;&quot;&gt; contract
      negotiation&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 12.0pt; font-weight: bold;&quot;&gt;Responding
      to change&lt;/span&gt;&lt;span style=&quot;font-family: Calibri; font-size: 11.0pt;&quot;&gt; over &lt;/span&gt;&lt;span style=&quot;font-family: Calibri; font-size: 10.0pt;&quot;&gt;following a plan&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
Please note that
 this guidelines are presented as a dichotomy (which is by itself
 controversial), this means that all Agile project must mainly align to the
 left side of this list (the Light side of the Force you might say?). &lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
So in simple words;
 you are not on an Agile project if you value documentation over working
 software or you value more your plan that responding to change. Now let me
 clear something up before some of you start rising an eyebrow in
 disapproval... It’s perfectly ok to value comprehensive documentation over
 working software or processes and tools over individuals and interactions,
 some projects have to work that way, it all depends on the nature of the
 project, which brings up the question: &lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
Is Agile the
 approach the best someone could have on a software developments nowadays? &lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
The answer: &lt;span style=&quot;font-weight: bold;&quot;&gt;NO!!, it depends on the nature of the project, Agile
 is not going to work on all projects&lt;/span&gt;.&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Why agile is not the same as Agile.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
There has been a
 lot of confusion lately caused by the abuse and misuse of the term Agile. So
 let’s clear out what is strictly Agile and what isn&#39;t.&amp;nbsp; Just remember the essential principles and
 why the manifesto was created for in the first place. People can call their
 approach &lt;span style=&quot;font-weight: bold;&quot;&gt;agile&lt;/span&gt; (notice the lower case
 &quot;a&quot;) which can mean whatever they want, this is the main source of
 all the confusion regarding Agile Development. Agile is by itself an adjective
 that describes something flexible that reacts fast. That fact plus all the
 buzz Agile Development (notice the capital “A”) has generated recently has
 caused people to indiscriminately use it to describe their project, design,
 coding, management, testing and even documentation techniques or methodologies
 as &quot;agile&quot; when they believe that they are &quot;fast&quot; or
 &quot;faster than...&quot; by whatever arbitrary standard they can think of,
 so you can&amp;nbsp; append &quot;agile&quot; to
 anything you want to, just to make it sound trendy and cooler;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;The &quot;agile&quot; incremental beer drinking
 technique&lt;/span&gt; (I know a couple of guys I work with how are experts on
 this).&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&amp;nbsp;Agile is just a set or principles that are
 open to interpretation. There is no methodology set on stone you can follow or
 any set of tools you could use. This is a good thing if you think about how
 flexible it can be. You can hypothetically allocate virtually any kind of
 project within this frame and improve is greatly, but the down side is that
 you can easily get lost in the path that doesn’t have any barriers on the
 sides that delimit it clearly. This explains why you can buy 2 different Agile
 books and still get contradicting opinions on the same subjects.&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
So just to wrap
 things up; &lt;/div&gt;
&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style=&quot;direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 11.0pt;&quot;&gt;Agile: Is a set of 12
      principles for software development aimed to increase productivity by
      prioritizing activities that add real value to the project and to the
      deliverables. Agile is leveraged by an incremental and iterative
      approach.&amp;nbsp; It is a great way to
      manage projects in which the requirements are not completely defined by
      the start (like most of the projects we engage on at DMT). It can be
      risky to follow it on project that demand requirements to be perfectly
      defined upfront or that requires a very detailed change process
      (basically any project that by nature requires you to value any of the
      guidelines right side).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;&quot; type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 0; margin-top: 0; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 11.0pt;&quot;&gt;“agile”: Anything that moves
      quickly.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/6633545545319869485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2012/09/difference-between-agile-and-agile.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/6633545545319869485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/6633545545319869485'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2012/09/difference-between-agile-and-agile.html' title='Difference between agile and Agile'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-8036467257047998206</id><published>2012-04-26T16:33:00.003-05:00</published><updated>2012-04-30T10:58:49.752-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Market"/><category scheme="http://www.blogger.com/atom/ns#" term="Nearshore"/><category scheme="http://www.blogger.com/atom/ns#" term="Offshore"/><category scheme="http://www.blogger.com/atom/ns#" term="Outsourcing"/><title type='text'>In a Country not so far, far away</title><content type='html'>&lt;br /&gt;
&lt;div&gt;
Everyone working in
any IT market with a serious enough&amp;nbsp; job
knows for a fact that the all time champion of outsourcing is by all means the
exotic sub continent of India. India has the great advantage, besides the currency
exchange differences between USD and Rupiahs, that they have a this huge
population of well trained, English speaking people (its entire population is
around 900+ million that&#39;s 9 times Mexico&#39;s ). This makes them the worlds largest
talent pool (second after China) for all USA based operations. India also
embraces a self improving and study culture that most people adhere to. They
also are perceived as a more westernized culture compared to Korea or China
which is a bonus for any USA organization outsourcing operations with them
because that turns communication flow smoother. USA businesses prefer them for
all those reasons and this preference is the cause of the great economic growth
they have been experiencing in the last 2 decades.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Moving operations
offshore is no easy task as you surely can imagine. It requires infrastructure,
process definitions, certifications and a whole universe of mechanisms and
bureaucratic leaps of faith for the USA based customer to be able to supervise
all relevant activities. Besides that, for IT related outsourcing, specifically
for that related to software development of any level,&amp;nbsp; there is also the matter of establishing
effective communication with the offshore team. That communication is always
going to be slower and more inefficient than between local-native software
developers due to cultural and language differences. This communication
overhead adds up to the cost of the total operation along with the required
investments on infrastructure (Bandwidth, phone lines, conference&amp;nbsp; calls, etc). There also needs to be more
supervision so this is usually covered by adding onshore managers to serve as
communication bridges between onshore and offshore team members. Some times it
is worth for someone on the offshore team&amp;nbsp;
to visit the customer so that adds traveling expenses. Add all up and
the resulting&amp;nbsp; additional cost is know as
TEC (Total Engagement Cost) which means the additional money customers need to
pay to afford an offshore team that they otherwise wouldn&#39;t pay if they had
only onshore people. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The pretty part of
offshore is that even with the TEC, the total operation cost is still lower
than a onshore team this to the difference in per-engineer net costs. For
instance, consider this data:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; border-color: #A3A3A3; border-style: solid; border-width: 1pt; direction: ltr;&quot; valign=&quot;top&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: .7277in;&quot;&gt;&lt;div&gt;
Country&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 1.9895in;&quot;&gt;&lt;div&gt;
Position&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.418in;&quot;&gt;&lt;div&gt;
Avg. Annual Salary
  (Local Currency)&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.5715in;&quot;&gt;&lt;div&gt;
Avg. Annual&amp;nbsp; Salary (USD - 4/25/2012)&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: .7277in;&quot;&gt;&lt;div lang=&quot;es-MX&quot;&gt;
India&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 1.9895in;&quot;&gt;&lt;div&gt;
Java Web Developer
  - Senior&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.418in;&quot;&gt;&lt;div&gt;
&lt;span lang=&quot;en-US&quot;&gt;$&lt;/span&gt;&lt;span lang=&quot;es-MX&quot;&gt;744,985 INR&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.5715in;&quot;&gt;&lt;div lang=&quot;es-MX&quot;&gt;
$14,190
  USD&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: .7277in;&quot;&gt;&lt;div&gt;
Mexico&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 1.9895in;&quot;&gt;&lt;div&gt;
Java Web Developer
  - Senior&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.418in;&quot;&gt;&lt;div lang=&quot;es-MX&quot;&gt;
$242,208
  MXP&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.5715in;&quot;&gt;&lt;div&gt;
&lt;span lang=&quot;en-US&quot;&gt;$&lt;/span&gt;&lt;span lang=&quot;es-MX&quot;&gt;18,439 USD&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: .7277in;&quot;&gt;&lt;div lang=&quot;es-MX&quot;&gt;
USA&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 1.9895in;&quot;&gt;&lt;div&gt;
Java Web Developer
  - Senior&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.418in;&quot;&gt;&lt;div lang=&quot;es-MX&quot;&gt;
$87,638
  USD&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 2.5715in;&quot;&gt;&lt;div lang=&quot;es-MX&quot;&gt;
$87,638
  USD&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In operation terms
this means that you can have 6 Indian engineers for the same cost as 1 USA
engineer or 4 Mexican engineers. So its really obvious why US companies move
operations offshore. If you noticed on the above data India is roughly 25% to
30% cheaper than Mexico is, which is one of the main reasons you must certainly
work with someone who gets his paycheck from iGate Patni, Tata or Infosys. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now that&#39;s not the
whole story, remember the TEC? Well that&#39;s a big game changer because according
to experts TEC on India is about 25% higher than in Mexico an South-America
which levels the playing ground for those of us who live here. &lt;/div&gt;
&lt;div&gt;
There is where the
&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nearshoring&quot; target=&quot;_blank&quot;&gt;Nearshore &lt;/a&gt;&lt;/b&gt;marketing term appears into scene. &lt;/div&gt;
&lt;div lang=&quot;es-MX&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span lang=&quot;en-US&quot;&gt;What&#39;s
the difference between Offshore and Nearshore? Easy… a smaller TEC and also
time zone alignment (which is not always a good thing as we&#39;ll discuss it
later) . Another good thing about it has to do with travels. One on the
requirements of any offshore manager is to visit its offshore team at least one
time a year. This helps him connect with the team and boost their morale. Also
it is beneficial to bring someone on the offshore team to work onshore from
time to time because of the same reasons specially if there is some delicate
matter at hand (alpha testing, new development, requirement gathering for a
redesign, etc). Given that premise, consider that commercial flights to
Bangalore take 22hr (&lt;/span&gt;&lt;span lang=&quot;es-MX&quot;&gt; plus&lt;/span&gt;&lt;span lang=&quot;en-US&quot;&gt; the
additional adjustment&lt;/span&gt;&lt;span lang=&quot;es-MX&quot;&gt; time&lt;/span&gt;&lt;span lang=&quot;en-US&quot;&gt;)
while a short trip from Connecticut to Aguascalientes or Guadalajara is roughly
3hrs to 5hrs, to Rio de Janeiro is around 8 to 10, so that&#39;s another perk you
get from having a closer (nearer in this case) team. Another aspect to take
into account is that Mexico has a lower turnover rate (10%) compared to India
(almost 40%) this to the fact that the Mexican labor market is not as harsh as
that of India also working conditions are more endurable at medium term,&amp;nbsp;specially&amp;nbsp;those that have to do with working&amp;nbsp;schedule.. There
is also the communication matter, What country (excluding Canada) is more
culturally aligned to US that good o&#39;l friendly neighbor Mexico?&lt;/span&gt;&lt;/div&gt;
&lt;div lang=&quot;es-MX&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Then there is the
productivity loss associated to every&amp;nbsp;offshore project. US based companies calculate that the productivity
loss with India based teams is around 25% so for they to get the same
productivity of 4 US based developers they need to have and 5 Indian
developers, While in Mexico and South America the productivity is around 10% so
you can basically keep teams the same size than those base d on US. This
productivity loss is generally a by product of communication overhead and time
zone differences. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Considering the
previous this is what customers get when you decide to get a Mexican development team to do the bit gardening:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Cheaper phone calls.&lt;/li&gt;
&lt;li&gt;Less communication overhead.&lt;/li&gt;
&lt;li&gt;Cheaper and more accessible
     trips.&lt;/li&gt;
&lt;li&gt;Shorter Trips.&lt;/li&gt;
&lt;li&gt;You can get anyone on your
     team onsite almost the same day.&lt;/li&gt;
&lt;li&gt;Less turnover.&lt;/li&gt;
&lt;li&gt;Less productivity loss.&lt;/li&gt;
&lt;li&gt;Working in the same time zone
     without risking team burnout.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So why is India then
still the undisputed master of IT? Well it has to do with the fact that Mexico
and South America are in the newer in this market (20 years average) and also
that the English speaking population is significantly smaller than that of India
so on-boarding processes are slower. Also the Indian government has created great incentives and&amp;nbsp;bureau&amp;nbsp;shortcuts to ensured that the IT Industry&amp;nbsp;blossoms&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;like a white lotus (made of cash), while in Mexico, for instance, there is no real support for the IT industry and also&amp;nbsp;&lt;/span&gt;historically&amp;nbsp;Mexico has never been a start-up friendly&amp;nbsp;place.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I work with lots of people located on Bangalore and Mumbai, they are exactly as anyone would expected a development team from any place on the world to be. The older and experienced ones are walking&amp;nbsp;encyclopedias&amp;nbsp;with great talent and insight, the newer ones are not that savvy but filled with&amp;nbsp;excitement&amp;nbsp;and willingness to learn, and interns are just keyboard operators awaiting their moment to shine. The same happens here, exactly the same. Also companies here follow the same kind of best practices as any offshore service provider in the world, this practices are in fact enforced by the US companies that hire the services (ITIL, CMMI, SAS70, SOX404, etc) so there is really isn&#39;t way of not having them.&lt;br /&gt;
&lt;br /&gt;
The only difference I&#39;ve been able to&amp;nbsp;perceive&amp;nbsp;is that we are willing to take more risks than they are, I guess the job market pressure there is intense, or so have some friends located there told me so, they need to be very careful with the decisions they make to avoid losing their heads, while our job market is less predatory so there are lots of opportunities here and the competition is not that fierce so losing our jobs for a gut made decision is not something that keeps us up at night. Having this freedom is and advantage in many cases where someone has to take a bullet to prevent a greater damage.&lt;br /&gt;
&lt;br /&gt;
So if you&#39;r planning your big start-up and you are &lt;a href=&quot;http://www.sciodev.com/NearshoreVsOffShoreSmall.html&quot; target=&quot;_blank&quot;&gt;short on resources&lt;/a&gt;, why not look south and give a try to a Mexican Development team which you can , we are just as capable, but closer and also we can arrange your visits to happen during big festivities (like &quot;San Marcos Fair&quot; on Aguascalientes, A.K.A. &quot;The World&#39;s Biggest Cantina&quot; ) so you can get as drunk as a mule, after all, what&amp;nbsp;happens&amp;nbsp;in Mexico stays in Spanish.&lt;br /&gt;
&lt;br /&gt;
Gracias!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/8036467257047998206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2012/04/in-country-not-so-far-far-away.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/8036467257047998206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/8036467257047998206'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2012/04/in-country-not-so-far-far-away.html' title='In a Country not so far, far away'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-75970301035830159</id><published>2012-03-16T09:30:00.000-06:00</published><updated>2012-03-23T12:00:55.122-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Memory"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips"/><title type='text'>Java - Getting the memory size of an object.</title><content type='html'>Because the way Java language and the way JVMs are implemented, this apparently trivial task is more complex than it may seem specially when compared to C++ where all objects have a &lt;i&gt;size()&lt;/i&gt; method. &lt;a href=&quot;http://dmtteam.softtekge.com/products/community/modules/blogs/viewblog.aspx?blogid=5b0e7783-35c4-476a-814c-a5c55e035b20&quot;&gt;Java memory architecture &lt;/a&gt;is built to abstract the developer from direct manipulation of memory so that the developer can focus on more relevant tasks, this comes with a price.&lt;br /&gt;
&lt;br /&gt;
There are 3 basic approaches you can take in order to do this all with their pros and cons:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Memory guess (Heap Size prior object creation -  Heap Size after object creation = Object Size)&lt;/li&gt;
&lt;li&gt;Java Instrumenting Query&lt;/li&gt;
&lt;li&gt;Serialization&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Memory Guess&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;
This is the simplest approach because of the fact that you have a pretty easy access to the Heap Size via:&lt;br /&gt;
&lt;pre style=&quot;background-color: #a0a0a0;&quot;&gt; Runtime.getRuntime().totalMemory();&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
The issue with this approach is that you cannot control what is being thrown into the heap at a given time, JVM is shared by a lot of processes that run in a given machine so this is a error prone approach that is not recommended.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Java Instrumenting Query &lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Starting on Java 5, all JVM have &lt;a href=&quot;http://vengatctech.wordpress.com/2008/10/03/jvm-instrumentation-performance-tuning/&quot;&gt;built in instrumentation features&lt;/a&gt; . This features can be used to monitor objects size in memory by creating an agent and setting it up for the JVM. This is by far the most precise method of getting the object&#39;s size from memory, but it&#39;s by no means the easiest/straight-forward. Another drawback is that this may change depending on the JVM you are using (the next example applies only to Oracle&#39;s Standard JVM 5 ) &lt;br /&gt;
&lt;br /&gt;
The agent looks something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;import java.lang.instrument.*;
import com.somepackage.SomeClass;

public class MyAgent {
  public static void premain(String args, Instrumentation inst) {
    SomeClass obj = new SomeClass();
    long size = inst.getObjectSize(obj);
    System.out.println(&quot;Bytes used by object: &quot; + size);
  }
}
&lt;/pre&gt;
Then you need to register the agent to the JVM by initializing the application with the folowing parameters:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;java -javaagent:agent.jar&lt;/pre&gt;
&lt;br /&gt;
That will cause the agent to be registered on the JVM instrumenting &lt;i&gt;layer &lt;/i&gt;where it will be able to monitor object&#39;s size.&lt;br /&gt;
Next you can access these feature with something like:&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;public class MyAgent {
  private static volatile Instrumentation globalInstr;
  public static void premain(String args, Instrumentation inst) {
    globalInstr = inst;
  }
  public static long getObjectSize(Object obj) {
    if (globalInstr == null)
      throw new IllegalStateException(&quot;Agent not initted&quot;);
    return globalInstr.getObjectSize(obj);
  }
}
&lt;/pre&gt;
As you have certainly noticed this is no as intuitive as it may seem.&lt;br /&gt;
&lt;b&gt;Serialization&lt;/b&gt;
&lt;br /&gt;
This technique uses Java&#39;s serialization features to calculate the objects size. This is not the most precise way to do it because memory specific serialization works in a slightly different way than regular object serialization but its a pretty good approximation. One drawback of this approach is that it requires the object to be measured to be &lt;a href=&quot;http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Serializable.html&quot;&gt;Serializable&lt;/a&gt;.&lt;br /&gt;
This is how a method that mesures the size would look like:&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;public long sizeOf(Serializable object){
 if (object == null) {
  return 0;
 }

 try{
  final ByteCountingOutputStream out = new ByteCountingOutputStream();
  new ObjectOutputStream(out).writeObject(object);
  out.close();
  return out.size();
 }catch (IOException e){
  if (log.isWarnEnabled()){
   log.warn(&quot;Unable to determine object size: &quot; + object.toString(), e);
  }
  return -1;
 }
}
&lt;/pre&gt;
One of the greatest drawbacks of this simple approach is that &lt;i&gt;OutputSreams&lt;/i&gt; in general are one of the most commonly known resource hogs in Java so you should treat them with care.</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/75970301035830159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2012/03/java-getting-memory-size-of-object.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/75970301035830159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/75970301035830159'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2012/03/java-getting-memory-size-of-object.html' title='Java - Getting the memory size of an object.'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-8646402580747839201</id><published>2012-03-11T09:30:00.000-06:00</published><updated>2012-03-16T17:18:02.680-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming Languajes"/><title type='text'>Crítica a &quot;10 Ideas Erróneas sobre PHP&quot;</title><content type='html'>Hace algún tiempo me encontré con un post que hablaba sobre las &lt;a href=&quot;http://blog.rhiss.net/10-ideas-erroneas-sobre-php.html&quot;&gt;10 ideas erroneas sobre PHP&lt;/a&gt;. Me pareció interesante la idea de hacer un arquetípico &lt;i&gt;post de 10 puntos&lt;/i&gt; defendiendo un lenguaje de programación, situacion que por si misma me parece un tanto chusca.
&lt;br /&gt;
&lt;br /&gt;
Antes de empezar quisiera aclarar algo. He sido desarrollador de PHP por más de 6 años (de hecho siempre me he considerado un PHPer en recuperación). Dada esa experiencia puedo decir sin temor a equivocarme que PHP es una
excelente herramienta para el 95% de los proyectos Web (pequeños), es accesible  y tiene una comunidad bastante
extensa y heterogénea (esto puede ser un problema en&amp;nbsp;ocasiones).  También desarrollo en Java desde hace 7 años y he hecho algunos proyectos en C Sharp con .NET, Flex y actualmente me encuentro en un desarrollo que utiliza Grails (Groovy on Rails)
y Griffon por lo que he tenido algo de experiencia con tecnologías muy distintas y filosofías casi opuestas. &lt;br /&gt;
&lt;br /&gt;
Puedo decir con mucha seguridad que PHP definitivamente no es suficiente para proyectos Enterprise donde se
tienen que considerar cosas como Estándares, Instrumenting, Automatic, Procurring, Mensajeria y casi cualquier cosa que tenga que ver con trabajar en ambientes distribuidos (en cluster). Los &lt;i&gt;short comings&lt;/i&gt; de PHP se deben precisamente a la falta de una plataforma de desarrollo dirigida no solo por la comunidad sino regulada por alguna instancia que la mantenga vigente y sobre todo actualizada.
&lt;br /&gt;
&lt;br /&gt;
He aquí mi crítica a los puntos tratados en el post mencionado:&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;


1.- PHP no es un lenguaje “compilado”, es un lenguaje interprete:&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
El hecho de que el motor de
Zend permita &quot;compilar&quot; los scripts a un estado intermedio optimizado
(bytecode?) no quiere decir que el lenguaje sea compilado ya que esto es una
funcionalidad del motor de Zend y no del lenguaje (La inmensa mayoría de los
proyectos corren en una instalación estándar de Apache). Lo mismo se puede
hacer con Javascript utilizando Rhino (y algo de voodoo) y eso no hace a
Javascript un lenguaje nativamente compilado, o si?&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;


2.-PHP no puede… (Acceder a Memoria, Utilizar Hardware, etc.)&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
El tener que recurrir a un
lenguaje de bajo nivel para compensar las carencias del intérprete de PHP
valida precisamente esta afirmación. Es lo mismo si yo digo que con Python
puedes leer los pensamientos de las personas... claro solo necesitas crear el Hardware
que lo transfiera a paquetes compatibles con TCP/IP y lo envíe hasta el
servidor donde Python los leerá.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;


3.- PHP no puede hacer algo que se puede hacer en la lengua X.&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Este punto es redundante con
el punto 2, creo que el propósito de incluirlo fue meramente de marketing para
llegar al mítico &quot;10&quot; en la lista para que se vea más “oficial”. Sin
embargo al inicio listé una serie de cosas que PHP no puede hacer y durante el
transcurso de las demás criticas incluiré más, y no solo por la limitante de
ser un lenguaje Script interpretado y estructurado, sino que a Diferencia de
Java o C (Utilizando .NET) PHP es solo un lenguaje mientras que C y Java son
Plataformas de Desarrollo. Ahora, casi cualquier cosa es posible con la
cantidad de tiempo y recursos necesarios el problema es el esfuerzo requerido
para hacerlo, en cuyo caso PHP requeriría un esfuerzo ENORME para lograr hacer algunas cosas que
Nativamente los Frameworks de Java y .NET.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;


4.- PHP es solo para el desarrollo en WEB.&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
PPH fue concebido con el
propósito de hacer paginas dinámicas y es claramente un lenguaje para
desarrollos web. Es decir, no puedes programar &lt;i&gt;drivers&lt;/i&gt; para una tarjeta gráfica o un Smartphone con PHP, los
usos que planteas son solo extensiones del propósito WEB del lenguaje.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;

5.- PHP solo es controlado por Zend.&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
En esto tienes toda la razón.
Lo que me parece curioso es que puedo inferir basado en tu comentario que por
alguna razón consideras que el hecho de que PHP sea controlado por Zend es algo
de alguna manera negativo. Me parece curiosos porque eso es precisamente lo que
le ha faltado al lenguaje durante más de la mitad de su existencia; Una
instancia seria que lo regule, esto permite que la evolución del lenguaje  y de toda la gama de tecnologías que las que
depende sean dirigidas y sean por lo tanto más exitosas, propongan más avances
y por lo tanto atraigan a más desarrolladores. Eso ha sido uno de los grandes
éxitos de Java (Con SUN y ahora Oracle) y de C y C++ con .NET (con MS).&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;

6.-La documentación de PHP es incompleta he insuficiente.&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Existe documentación oficial
del lenguaje y es bastante completa. Sin embargo al no haber regulaciones ni
estándares cada Liberia puede o no tener documentación suficiente o de plano no
tener documentación alguna, pero esto no es algo exclusivo de PHP ya que lo
mismo sucede con Java por ejemplo, 
aunque en menor medida ya que los desarrolladores Java favorecen
grandemente a aquellas librerías que se apegan a las implementaciones sugeridas
por Oracle o SUN en su momento y eso es un incentivo fuerte para que aquellas
que no lo hacen caigan eventualmente en desuso y desaparezcan. Esta es otra de
las ventajas de tener una instancia reguladora.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;

7.- Los proyectos de PHP no son reutilizables, ya que no son orientados a objetos.&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
En esto tienes razón también,
pero por las razones equivocadas. Wordpress es un CMS y el usarlo no significa
reutilizar código. Lo que la crítica plantea es que existe un gran número de
desarrolladores PHP que no tienen ni siquiera fundamentos básicos de OOP. El
OOP implica (usándose bien) componentes reutilizables por lo que muchos
desarrollos en PHP no cumplen con esta buena práctica. Sin embargo, nuevamente
esto no es un problema de la tecnología en si sino de la comunidad que hace mal
uso de ella.
&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;

8.-PHP es peor que Ruby On Rails, Python Django, X framework en otro lenguaje&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
No creo que se pueda comparar
un lenguaje contra un framework. El acercamiento orientado a modelos de Ruby on
Rails o Grails es muy útil y muy fácil de usar para cierto tipo de proyectos,
pero calificarlo como &quot;mejor&quot; es completamente subjetivo. Ahora es
una realidad que el crecimiento de estas tecnologías es algo que debería
alertar a los desarrolladores PHP ya que ofrecen lo mismo que la plataforma PHP
pero mucho más robusto y accesible. Creo que la transición de PHP a Ruby on
Rails es algo que se puede dar de forma muy natural para un desarrollador PHP,
muchos de los que conozco ya han comenzado a agregar Ruby a su CV. Ruby debe
ser visto como una herramienta más en el arsenal del desarrollador y no como
una competencia, estamos hablando de tecnologías de desarrollo no de
religiones.
&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;

9.-PHP no es bueno para los sitios Web escalables o aplicaciones de alto rendimiento&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Facebook es una excepción. La
razón por la que esa hecha en PHP no es porque haya sido la mejor opción sino
porque era lo que Mark Zuckerberg sabia usar cuando comenzó el desarrollo del
sito y desde ahí se comenzó a ampliar el fundamento que el planteó. Facebook ha
tenido que compensar las limitantes de PHP utilizando técnicas bastante
interesantes de Infraestructura y por eso el sitio opera bastante bien, pero
insisto, esto no prueba que PHP sea apto para aplicaciones de alto rendimiento
ya que su éxito dependería de herramientas externas (y algo de voodoo). Este
artículo por ejemplo habla de cómo tuvieron que reescribir desde cero el
Intérprete de PHP para poder hacer su plataforma extensible:&lt;br /&gt;
&lt;a href=&quot;http://www.sdtimes.com/blog/post/2010/01/30/Facebook-rewrites-PHP-runtime.aspx&quot;&gt;http://www.sdtimes.com/blog/post/2010/01/30/Facebook-rewrites-PHP-runtime.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;

10.- Los desarrolladores de PHP son baratos porque no están calificados&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
En esto tienes toda la razón en una parte,
es mentira totalmente que la razon sea por falta de calificación. El costo de un desarrollador obedece a las reglas de mercado de cualquier servicio o producto; 
Oferta y Demanda. Existen menos ofertas para desarrolladores PHP y muchos
desarrolladores y muchas ofertas para Java y .NET,  y pocos desarrolladores. Es por eso que Java
y .NET es más caro porque es un bien &quot;escaso&quot; y por lo tanto los
desarrolladores Java y .NET ganan mejor que los PHP (de 25 a 30% más
dependiendo del Seniority).
&lt;br /&gt;
Lo interesante de esto es ¿Qué
causa esta diferencia de números?. PHP al ser una tecnología mas accesible
permite que más gente con menos experiencia pueda adoptar el lenguaje, Mientras
que Java y .NET tienen una curva de aprendizaje mayor y son más demandantes
como primer tecnología para la gran mayoría de la gente. Yo creo (aunque no lo
podría probar) que el éxito de PHP se debe precisamente a esta accesibilidad
(No ser fuertemente tipado, el OOP es opcional, No compilas, no hay un
framework o API que debas aprender para poderlo usar, No te metes con Patrones
de Diseño si no quieres,  No hay Maven ni
ANT ni builds, ni dependencias, etc) pero como todo tiene su costo y este es
que siempre habrá más gente y más competencia y por lo tanto los sueldos no son
tan buenos.&lt;br /&gt;
&lt;br /&gt;
Para concluir:&lt;br /&gt;
&lt;br /&gt;
No soy muy fan de este tipo de
posts porque hacen parecer a las tecnologías diferentes como religiones y
plantean una división en la gente que no es realista. Las tecnologías son solo
herramientas y como tales hay unas que son buenas para clavar clavos y otras
para apretar tornillos, esto no las hace ni mejores ni peores. Existen algunas
herramientas que tiene más de un uso y otras que son más especializadas eso es
todo. Lo importante como desarrollador es que no te aferres a al lenguaje que
sabes usar como si fuera un credo infalible y te ofendas cuando alguien que
maneja alguna otra tecnología señala fallas de la  que tú sabes usar y trates de defenderlas
ciegamente. Lo importante es que mantengas la mente abierta y que agregues más
de esas tecnologías a tu caja de herramientas y te hagas un desarrollador más
completo. Quieres ser un mejor desarrollador PHP? Simplemente aprende Java,
Python, Scala, Lingo, C o cualquier otro lenguaje.</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/8646402580747839201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2012/03/critica-10-ideas-erroneas-sobre-php.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/8646402580747839201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/8646402580747839201'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2012/03/critica-10-ideas-erroneas-sobre-php.html' title='Crítica a &quot;10 Ideas Erróneas sobre PHP&quot;'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-5469963260407477350</id><published>2012-03-08T15:28:00.004-06:00</published><updated>2012-03-12T08:47:24.489-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Flash"/><category scheme="http://www.blogger.com/atom/ns#" term="Game Development"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Market"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="Zynga"/><title type='text'>Another nail in the Flash&#39;s coffin - The rise of HTML5 Games</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTt-mzpXdsBP-M4SWsRAaYo9pyLkoIlTy4RT5AL0iPylduo8cxy6rsvkpe6XwY2ajed_Dz_bCTXRuzHrdtHlews8ZWT38He1wwi6-b1HWbX6QWQdMm1t_COL1hKrbd1vNHXVvwyu633R0/s1600/GameClosure.GIF&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTt-mzpXdsBP-M4SWsRAaYo9pyLkoIlTy4RT5AL0iPylduo8cxy6rsvkpe6XwY2ajed_Dz_bCTXRuzHrdtHlews8ZWT38He1wwi6-b1HWbX6QWQdMm1t_COL1hKrbd1vNHXVvwyu633R0/s1600/GameClosure.GIF&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
You&#39;d probably already heard about &lt;a href=&quot;http://gameclosure.com/&quot;&gt;Game Closure&lt;/a&gt;, but if you haven&#39;t this is what you been missing...&lt;br /&gt;
&lt;br /&gt;
Game Closure is an independent student start-up company that developed a pretty interesting and amazingly robust Javascript/HTML5 game SDK. The SDK can be used to create games not only for web browsers (Facebook games) but they can be deployed also to &lt;a href=&quot;http://www.youtube.com/watch?v=8KACnnquQRo&quot;&gt;iOS and Android devices&lt;/a&gt;. The SDK offers client/server real-time communication so this opens the possibility of massive multiplayer capabilities.&lt;br /&gt;
&lt;br /&gt;
They have been recently in the spotlight turmoil since they presented &lt;i&gt;Pop Star Defense&lt;/i&gt;, the first game to run in all mentioned platforms which they presented on Google I/O last summer. The interesting thing here is that this endeavor usually required up to 6 months to accomplish by traditional means to any Game Developer company regardless of their size, but it only took 5 weeks to the guys on Game Closure so everyone is looking at them with dollar signs on their eyes since then. Probably the most notable of this eagerly interested companies are of course the FaceBook and &lt;a href=&quot;http://company.zynga.com/&quot;&gt;Zynga &lt;/a&gt;couple but also includes Motorola and EA.&lt;br /&gt;
&lt;br /&gt;
I&#39;m almost certain that Zynga will be the one ultimately acquiring the company, that&#39;s mainly because they lack the any solid HTML5 strategy this becomes obvious when you look at Zynga&#39;s game portfolio and realize that its almost 100% Flash based. In a culture where Flash is decaying and lingering like a sick old cat Zynga needs to make a tremendous leap before someone else picks up the market they drop to the floor , so for Zynga, Game Closure is precisely the way to get that leap. It has recently announced that Zynga has pushed the offer to around $100 million green bills, this is almost 8 folds bigger than the last offer Game Closure received (which was around $12 million).&lt;br /&gt;
&lt;br /&gt;
So I guess will be seeing HTML based farms, coffee shops  and cities in our friends and wives Facebook. This is just another push towards the edge of the abyss of oblivion for Flash. As I have expressed on on the past, the only thing (IMHO) keeping Flash from flatlining is precisely the dependence Zynga has (had) on it…</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/5469963260407477350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2012/03/another-nail-in-flashs-coffin-rise-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/5469963260407477350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/5469963260407477350'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2012/03/another-nail-in-flashs-coffin-rise-of.html' title='Another nail in the Flash&#39;s coffin - The rise of HTML5 Games'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTt-mzpXdsBP-M4SWsRAaYo9pyLkoIlTy4RT5AL0iPylduo8cxy6rsvkpe6XwY2ajed_Dz_bCTXRuzHrdtHlews8ZWT38He1wwi6-b1HWbX6QWQdMm1t_COL1hKrbd1vNHXVvwyu633R0/s72-c/GameClosure.GIF" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-8121640412618741605</id><published>2012-02-29T17:11:00.001-06:00</published><updated>2012-03-09T10:14:34.658-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hiring"/><category scheme="http://www.blogger.com/atom/ns#" term="Project Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Soft Skills"/><category scheme="http://www.blogger.com/atom/ns#" term="Team Work"/><title type='text'>Beyond Technicalities - The Importance of Soft-skills in Candidate Selection</title><content type='html'>When interviewing a
new candidate to work in our team its easy to focus on the technical experience
and knowledge s/he has. This is completely valid
considering the candidate is intended to cover a position in the team that
demands her/him to be as tech savvy as possible. However this in fact
causes that we sometimes overlook on a set of skills that can prove far more
vital to the general health of the project and to the development of the person
we are interviewing than specific technical skills. I&#39;m of
course referring to soft-skills and general
emotional intelligence.  I can&#39;t overemphasis how critical it&#39;s
for us to recognize skills that lay beyond technical knowledge during an interview.
The ability to recognize those from those required technically means the
difference between hiring someone who will be willing to learn and adapt to how
we do things while eventually adding
value to the team and hiring an otherwise apparently qualified individual with
that turns into an intoxicated rabid weasel with keyboard abilities every time
someone dares to speak to him/her.&lt;br /&gt;
&lt;br /&gt;
Its important that
we remember that developing software is primarily a trade that has to
do with &lt;span style=&quot;font-weight: bold;&quot;&gt;people interaction and
deep communication not with
good code&lt;/span&gt;. The trick here is that recognizing soft-skills and evaluating
them is much more difficult due to its subjective nature (and the fact that
people don&#39;t come with user guides).&lt;br /&gt;
&lt;br /&gt;
We must be prepared
to identify when a person fits the profile we are looking for with his/her
technical profile and with his/her soft-skill profile. This are some of the
considerations that you might want to take on your next interview:&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;




Communication:&lt;/h1&gt;
&lt;h1&gt;

&amp;nbsp;&lt;/h1&gt;
Communication skills
are one of the most useful skills anyone who is on the consulting business as
we are must have. In my experience, nothing has the level of destructiveness
that could render an otherwise good project into a flaming Hindenburg like bad
communication.One of the most
insightful types of interviews is the one where the candidate communicates so
well that you let him establish the pace and the direction of it. However
communication comes in different flavors so if you find yourself in an
interview where you basically need to pressure to get monosyllabic answers
doesn&#39;t necessarily means that you are in the face of a poor communicator
(although its very likely), it could be just that s/he is nervous or that
her/his communication skills are more developed on asynchronous communication
(which is extremely common to find among people on our trade) so s/he may be
stuttering when speaking but could be able to write down his/her ideas like a
poet, so try not to rush into conclusions, you need to learn you to distinguish
between the to cases. A good way to
clarify this point is to read his/her resume, specifically the part where most
people describe themselves or their expectations, read between the lines, you
have no idea how reveling a well read resumes are, they are just as reveling as
family drawings from a kid.&lt;br /&gt;
&lt;br /&gt;
A good exercise you can do during interviews
are open questions that require the candidate to narrate a story. Like:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&quot;What do you think was the most challenging
event you have faced and how you dealt with it?&quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is a standard
interview question that may look like you are interested in how good problem
solver s/he is but instead pay attention to how well s/he can carry you through
the events and how well s/he is able to make you empathize with the situation.
Now, you evaluate how good they listen and comprehend you can use simulated
scenarios. My favorite is the &lt;i&gt;&quot;elevator on the 100 stories building&quot;&lt;/i&gt;
design. It goes something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-style: italic;&quot;&gt;
&quot;Consider you
have a 100 stories building and you are required to design the software that
will operate the elevator, how would you begin to design it?&quot;&lt;/div&gt;
&lt;div style=&quot;font-style: italic;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
This exercise is extremely useful to evaluate OOP concepts and working methodologies
but its also a great way to evaluate communication skills because people need
to follow specific requirements and react to changing conditions. At some point
you may interrupt and state that the building managers decide to add an extra
elevator or that the power consumption is now a CTQ instead of the speed and so
on and so forth. 
&lt;br /&gt;
So try to pay attention to how people answer and not just what they answered.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;


Interpersonal Skills:&lt;/h1&gt;
&lt;h1&gt;

&amp;nbsp;&lt;/h1&gt;
This set of skills are probably the most overlooked of them all. Interpersonal skills have to do
with how well someone is able to establish empathy bonds with other
people.This is extremely important when
working in team organized jobs like ours. People interaction depends on
empathic bonds in a very basic level, this doesn&#39;t mean that in order to have
decently performing teams all team members need to be &lt;a href=&quot;http://encyclopedia.thefreedictionary.com/Best+Friends+Forever&quot;&gt;BFF&#39;s&lt;/a&gt;(even though that this in fact increases team
performance dramatically) but they certainly need to be able to spend 8hrs a day, 5 days a week (sometime
even weekends) together without poking 
out their eyes. &lt;br /&gt;
Teams need to operate with a sense of harmony between their team members, beyond personal
agendas and amalgamating a bunch of different personalities. In my opinion
there is probably nothing more poisonous to team performance than a douchebag regardless of his/her technical
skills, so treat this point with the care it needs. Try to perceive how likable
people are during an interview after all you will spend more time with him/her
than with your family or friends.&lt;br /&gt;
&lt;br /&gt;
A good way to do
that is to ask people related questions like:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-style: italic;&quot;&gt;
&quot;Who was your
best boss so far?&quot;&lt;br /&gt;
&quot;How is you
relationship with your current team?&quot;&lt;br /&gt;
&quot;What&#39;s the
best and the worst to your opinion of
working in teams?&quot;&lt;br /&gt;
&quot;How do you
think your current team members would describe you?&quot;&lt;/div&gt;
&lt;div style=&quot;font-style: italic;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Interpersonal issues
are almost always correlated to communication issues, people who are unable to
interact with others don&#39;t communicate well either so expect to find them
always in pairs. Also try to establish a friendly environment during the
interview so that you help people open and connect which in term leads to a
very fluid communication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;




Multidimensional Abilities &lt;/h1&gt;
&lt;br /&gt;
We are very complex
creatures that need balance on all we do to stay emotionally healthy.A very common way to maintain our emotional
health is to grow interests that differ from what we do for a living.Try to inquire people about what their
personal interest beyond their jobs are. This is a very good way to evaluate
emotional health but also consider that multidisciplinary people add a lot of
value to a team because they have a more varied set of perspectives and a acute
insight in areas that might no one else know. A word of caution; this is
probably the area where people tend to lie the most so it&#39;s important that you
keep in mind that and try to go ad deep as you can.I have found that direct questions like
&lt;i&gt;&quot;What you like to do on you spare time?&quot;&lt;/i&gt; may lead to answers like
&lt;i&gt;&quot;I love reading ,playing football
and writing essays in scientific journals&quot;&lt;/i&gt;, but when you ask what was the
last book they read you get no direct answer at all (you may call this the
Peña-Nieto syndrome if you like).&lt;br /&gt;
&lt;br /&gt;
I prefer a more
indirect approach. What I do is ask them directly and dig into specifics, like
for instance if someone tells you they like music you ask what kind and what is
their favorite performer/band. Also I like to throw a hypothetical scenario that
is great for mining this kind of information; it goes like this:&lt;br /&gt;
&lt;br /&gt;
&quot;&lt;i&gt;Imagine that
tomorrow you find out in the news that Bill Gates just passed away and he
decided to inherit all his fortune to a random person in the world that turned
out to be you. So you now have your financial future ensured for the rest of
your life and probably for a couple of generations. Considering that you no
longer need to work to live, what do you think you&#39;ll be doing for the rest of
your life?&quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
You cant imagine how
many times people have told me that they will drop everything relevant in their
lives and spend the rest of their life in a yate, drunk and in endless orgies…
but every now and then I get the very valuable and honest answers where people
lets me know about their true passions in life like backpacking through the
world, or founding their own software company or their own children baseball
league. Is that doesn&#39;t tell you anything about someone, I cant think of
anything that does...&lt;br /&gt;
&lt;br /&gt;
Try not to dismiss
the relevant information you get out from this questions, it may seem mundane
and unnecessary to inquire about tastes in music, films, books and sports, but
in fact that information tells you a lot of the interviewee personality which may
be relevant to the interpersonal skills and multidisciplinary abilities;
someone who likes to write is most likely an adobe average writing
communicator, someone who&#39;s dream is traveling around the world is probably a
curious person who is not afraid of changes, someone who perceives financial
dependency as the only thing keeping them away of living a hedonist and
senseless life may not be a very committed individual.&lt;br /&gt;
&lt;br /&gt;
Remember
that you build your teams, everyone is ultimately responsible, the overall environment you perceive in your team is never  product of chance but it&#39;s the product of years of conscious selection, training and nurturing, everyone is accountable for keeping it the way it is. So next time you find your self
on a interview bare that in mind and favor the inexperienced witty likable guy
over the douchebag developer demigod.</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/8121640412618741605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2012/02/beyond-technicalities-importance-of.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/8121640412618741605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/8121640412618741605'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2012/02/beyond-technicalities-importance-of.html' title='Beyond Technicalities - The Importance of Soft-skills in Candidate Selection'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-5971173679925253594</id><published>2012-01-18T14:39:00.000-06:00</published><updated>2012-03-09T10:15:11.086-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="RESTful"/><category scheme="http://www.blogger.com/atom/ns#" term="Services"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Services"/><title type='text'>The restless RESTful-ness</title><content type='html'>&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;
&lt;div&gt;
One of the things that I love of the software development trait is how fast things change. We are in a never stopping stream of new ideas, changing paradigms; the essence of pure innovation. &lt;/div&gt;
&lt;div style=&quot;font-size: 11pt; margin-bottom: 0in; margin-left: 0in; margin-right: 0in; margin-top: 0in;&quot;&gt;
However, once in a while we look back to old dusty corners of what we used to do and believe and find out that those old forgotten ideas taken from mistaken were actually right all the time. Such is the case for REST architecture, a pretty old idea that fell into oblivion just to become the new trendy buzzword a couple of decades later.&lt;/div&gt;
&lt;div style=&quot;font-size: 11pt; margin-bottom: 0in; margin-left: 0in; margin-right: 0in; margin-top: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: 11pt; margin-bottom: 0in; margin-left: 0in; margin-right: 0in; margin-top: 0in;&quot;&gt;
Just for historical context; REST architecture was created along with the HTTP specification almost 20 years ago. The idea behind REST is to provide access to resources via an URI, each URI returns the resource representation on a different state, part of the data retrieved from each step contains the means (links) to access a different resource&#39;s state (sounds pretty familiar when explained in that way, doesn&#39;t it). If you haven’t heard of REST until recently that’s probably because the term was not coined until 2000 by &lt;a href=&quot;http://en.wikipedia.org/wiki/Roy_T._Fielding&quot;&gt;Roy Fielding&lt;/a&gt; who was part of the team that came up with the HTTP 1.0 and 1.1 specification, cofounder of the Apache HTTP project and board member of Apache Foundation.&lt;/div&gt;
&lt;br /&gt;
REST services have recently been brought back into the trendy stage. I personally believe that this sudden revived attention has happened due to two facts:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The ubiquitous presence of      JSON in web applications grants to developers a simple data format that is      not only JavaScript native but that is also tied to the HTTP protocol      which is the vital breath of the web. With that in the picture and the      recent (like 10 years recent) hype in SOA applications this seems like a      solid option.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;People are just sick of      trying to implement over-complex and verbose SOAP based services      (&quot;Simple Object Access Protocol&quot; is more like a sarcastic name      for it )&amp;nbsp; for simple CRUD      non-document based applications where tight security is not a CTQ nor is      distributed computing and most of them fall into that category.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
However with the hype normally comes the confusion. I have seen a lot of applications that claim to be RESTful just because they user JSON&amp;nbsp; request/responses strings.&amp;nbsp; Allow me to explain why I don’t agree with that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REST web services stand over two main principles or rules:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Decoupling through SOA&lt;/li&gt;
&lt;li&gt;Hypertext driven interactions (&lt;a href=&quot;http://en.wikipedia.org/wiki/HATEOAS&quot;&gt;HATEOAS&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h1&gt;
Decoupling through SOA and Hypertext driven interactions&lt;/h1&gt;
&lt;br /&gt;
One of the key points of SOA applications in general is to reduce coupling. SOA is intended so that huge applications can be chopped into smaller specialized distributed entities or &lt;span style=&quot;font-weight: bold;&quot;&gt;services&lt;/span&gt; that can work together as a whole so that they can be designed, developed, supported, maintained a hosted in a more sustainable and efficient way. &lt;br /&gt;
Each of these services can be built with the technology that better fits the specific needs of each one. This services need to provide some way for the clients to know what they can do and how to do it (decoupling).&amp;nbsp; As SOAP relies WSDL or WADL so REST relies entirely on the hypertext data returned on the responses to client requests. A RESTful service must provide the client with all the means of interaction (URLs or how to build them) in order to comply with de expected decoupling.&amp;nbsp; If your REST services require for the client to have certain insight of how your application works beyond a basic knowledge of the exposed resources and the initial URI, or if the services are not using the HTTP native methods to interact with the resources exposed then that is some weird RPC with JSON, not RESTful services (I’m not implying that RPC is bad or inferior, but its definitively not REST).&lt;br /&gt;
&lt;br /&gt;
Another critical difference between REST and RPC/SOAP; REST leverages on the already existent CRUD HTTP methods (PUT, POST, GET, DELETE, INFO, TRACE, OPTIONS, HEAD and CONNECT) while RPC/SOAP services define their own interactions (verbs).&amp;nbsp; RESTful web services also base the entire interaction in the hypertext received as part of the response (hypertext being XML, JSON , YAML or whatever data representation supported by HTTP ), in contrast SOAP is in fact an XML based protocol so it is not tied to HTTP as REST is (This last claim is debatable, though).&lt;br /&gt;
&lt;br /&gt;
SOAP is still the W3C standard king by all means for all related to web services, it’s a robust protocol&amp;nbsp; (with a ton of features like WS-Addressing, WS-Policy, WS-Security, WS-Federation, WS-ReliableMessaging, WS-Coordination, WS-AtomicTransaction, WS-RemotePortlets… not simple, definitively not simple at all… unless you compare it to CORBA) ideal for B2B interactions and distributed environments.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more simple services REST is a simple yet solid option worth trying but must of all worth doing it the correct way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/5971173679925253594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2012/01/restless-restful-ness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/5971173679925253594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/5971173679925253594'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2012/01/restless-restful-ness.html' title='The restless RESTful-ness'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-2574970253436612883</id><published>2011-11-23T16:55:00.001-06:00</published><updated>2012-03-09T10:15:41.639-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Group interactions"/><category scheme="http://www.blogger.com/atom/ns#" term="Human Condition"/><category scheme="http://www.blogger.com/atom/ns#" term="Social Networks"/><title type='text'>Is the World Shrinking?</title><content type='html'>Humans are a social primates; that’s an evolutive fact that has been around for a while to the point that it is now collective common knowledge.  This presents an obvious advantage if you add to the mix the fact that not only we create bonds to other close members of our species but we like to relate with basically any other members that we came across. We have evolved to be nice with each other. This grants us the ability to extend our influence and our inner circle beyond social, cultural and geographical constraints.&lt;br /&gt;
&lt;br /&gt;
This has been an interesting phenomenon that has been studied for quite a long time. We have been tracing our origins with family trees and trying to find out what we fit in the big picture of society. One of those attempts to understand it is the pretty famous &lt;a href=&quot;http://en.wikipedia.org/wiki/Six_degrees_of_separation&quot;&gt;6 degrees of separation&lt;/a&gt; (Also known as the Kevin Bacon&#39;s degrees of Separation) idea. The basic idea is this; Imagine that every person in the planet is a dot, and every relationship between them are lines that connect them, therefore creating a network. 6 degrees of separation means that you can connect every pair of dots by no more than 6 steps in the network. That means that you can find you are &lt;a href=&quot;http://en.wikipedia.org/wiki/Small_world_experiment&quot;&gt;indirectly connected to any person&lt;/a&gt; in the planet (including Kevin Bacon) by the friend of by the friend of by the friend of by the friend of by the friend of your friend.
&lt;br /&gt;
This idea has &lt;a href=&quot;http://techcrunch.com/2011/11/22/facebookdata/?utm_source=feedburner&amp;amp;utm_medium=email&amp;amp;utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&quot;&gt;recently been put to the test&lt;/a&gt; by Data team and the University of Milan with surprising results. Using Facebook data to track peoples relationships they have found out that the average number of steps that connects to people have been dropping from since 2008 from 6 to 5.28 and 4.47. This is something remarkable if you put some though on it.
&lt;br /&gt;
&lt;br /&gt;
The transcendent element of this idea is that it can prove that we are in fact more connected and more interdependent than we are aware of. Human group’s interactions are amazingly complex and have a great inherent power within them. We are living an era where a single individual can cause a ripple effect that can be perceived worldwide in a matter of hours, sometimes even less. Human interconnection is the base of modern viral marketing and publicity. Tools like Facebook are allowing us to extend our relationships beyond real world limits and also allowing scientists to understand how we connect with each other.
&lt;br /&gt;
&lt;br /&gt;
A regular person has an average of 130 friends in Facebook, this is quite relevant if you take into consideration that according to neurological studies a regular person has the brain capacity to maintain a stable social circle of only 148-156 persons (&lt;a href=&quot;http://en.wikipedia.org/wiki/Dunbar%27s_number&quot;&gt;called the Dunbar Number&lt;/a&gt;). This means that close relationships are so complex that your brain can only follow-up 156 individuals. So Facebook is a tool that not only allows us to keep contact beyond geographical constraints but it also allow us to push the limit of our brains to that imposed by our relative neocortex size.
&lt;br /&gt;
&lt;br /&gt;
Imagine for a second all the cooperative power that we are building up as we close the gaps between each other.
&lt;br /&gt;
&lt;br /&gt;
So the world in fact is not shrinking, it’s just that distance matter less every day.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/2574970253436612883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2011/11/is-world-shrinking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/2574970253436612883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/2574970253436612883'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2011/11/is-world-shrinking.html' title='Is the World Shrinking?'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6249971359912444526.post-3876563345347114962</id><published>2011-11-14T15:56:00.000-06:00</published><updated>2012-03-09T10:16:11.583-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ars est celare artem"/><category scheme="http://www.blogger.com/atom/ns#" term="Reflexions"/><title type='text'>Ars est celare artem</title><content type='html'>I have resisted for several years now to start blogging. Considering the huge amount of blogs out there I believe adding one more subjective source of  information to be not only unnecessary but completely wasteful. I always looked it into this whole business from the consumer perspective and from that point of view the horizon already looks absolutely cluttered so I refused to add up to the problem by posting my ideas into a predefined HTML template.
&lt;br /&gt;
Other thought that kept me from starting was the plain fact that I&#39;m no that interesting, who would what to read what I want to say?  I&#39;m not a blogophagus to start with, I have like this set of 4 blogs I regularly read that are written by amazingly bright people so the thought of starting my own sounded to me like a disrespectful attempt to try to compare myself in some manner to the Scot Adams, Jeff Atwoods or ThundeF00ts of the world, which is in turn extremely intimidating, because what can I say that they can&#39;t in a more articulated way, what can I contribute that they haven already though or said. 
&lt;br /&gt;
Other though that prevented me from  starting into the forbidden art of blogging was that if you are really pointing hi, if you are looking to affect someone out there you need to try to make your message reach a considerable amount of people so that among the masses you can actually reach someone that is in sync with what you are saying. To do that you need to transmit in the standard protocol of human communication on the internet, that is English. I&#39;m not by any means a native speaker I have enough trouble trying to master the language which I grew up with, so attempting to weave a consistent intelligible message in a language which is mostly foreign to me is not only painful and slow but it opens up the possibilities of mistakes and misinterpretations (also ridicule when you make a childish error).&lt;br /&gt;
I opened this Blogger account several months ago but I had been avoiding the ominous realization that has been bugging me for weeks now. I have this sudden urge to write. So I came into the conclusion that I need to do this for a pure egocentric cause.  I&#39;ve been going through a critical phase of changes in my life, nothing really dramatic to be honest, its more like a period of auto-criticism and auto evaluation that has led me to a state of uncomfortable self-awareness which is probably the cause of the urge I feel. So I just decided to take this a s a cheep option to therapy (with the extra benefit that I don&#39;t have to leave my house or talk to a stranger that in principle studied his/her psychology because  s/he was unable to deal with his/her own demons in a healthy way). &lt;br /&gt;
So I don&#39;t have any specific plans for this space, It has no unifying theme, no grand purpose, no pretentious goal. Its just written, digital catharsis and I think the title express it in a sufficiently ambiguous way which was what I personally intended:&lt;br /&gt;
&quot;Ars est celare artem&quot;  --- &quot;The true art is to conceal the art&quot;&lt;br /&gt;
What art? What do you mean by concealing? It is too soon and this space to young to answer that just yet.</content><link rel='replies' type='application/atom+xml' href='http://chepech.blogspot.com/feeds/3876563345347114962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chepech.blogspot.com/2011/11/ars-est-celare-artem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/3876563345347114962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6249971359912444526/posts/default/3876563345347114962'/><link rel='alternate' type='text/html' href='http://chepech.blogspot.com/2011/11/ars-est-celare-artem.html' title='Ars est celare artem'/><author><name>HexNev</name><uri>http://www.blogger.com/profile/09328203840077278556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>