viernes, 8 de abril de 2016

76. Zen de Python

La base de python es la filosofía que favorezca el código legible, y bueno ella en realidad es un gran aporte para todos los desarrollos, no solo los desarrollos de python, es algo que deberíamos hacer nuestra ya que mucho de lo que dice ahí nos ayuda en nuestro trabajo.

Piénsenla, háganla suya, conviertanla en un himno, el hacer cosas complejas no nos hace mejores, simplemente aumenta la posibilidad de cometer errores.

La mejor arquitectura siempre es la mas sencilla por que todo mundo la comprende, la puede manejar, la puede desarrollar y trabajar con ella.

Tim Peters es el desarrollador al que le debemos esta reflexión

Bello es mejor que feo.
Explícito es mejor que implícito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Plano es mejor que anidado.
Disperso es mejor que denso.
La legibilidad cuenta.
Los casos especiales no son tan especiales como para quebrantar las reglas.
Lo práctico gana a lo puro.
Los errores nunca deberían dejarse pasar silenciosamente.
A menos que hayan sido silenciados explícitamente.
Frente a la ambigüedad, rechaza la tentación de adivinar.
Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.
Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés.15
Ahora es mejor que nunca.
Aunque nunca es a menudo mejor que ya mismo.
Si la implementación es difícil de explicar, es una mala idea.
Si la implementación es fácil de explicar, puede que sea una buena idea.
Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!

Felices Lineas

jueves, 7 de abril de 2016

75. Home Office

El mundo ha evolucionado, se ha hecho mas pequeño, la información viaja en segundos, nos hemos convertido en una humanidad colaborativa, en la que las fronteras importan poco, los idiomas dejan de ser una barrera, la información se comparte, somos capaces de trabajar juntos, experimentar un proyecto desde muchos puntos de vista, en donde uno de ellos es la misma visión cultural.

El trabajo en casa poco a poco se ha hecho popular en el mundo, teniendo un sin numero de ventajas, entre ellas podemos mencionar, es posible tener a los mejores como miembros de un equipo ya que deja de importar la distancia y las fronteras, las personas no llegan de mal humor o agotadas por el transporte, se humaniza el trabajo ya que se efectúa una labor productiva, pero a la vez el trabajador se encuentra cerca de su familia, recuperando el estado de familia como célula social y semilla del futuro de la humanidad, el trabajador puede observar a su familia, y esta crece en el seno de una familia unida, se da un ahorro de recursos por parte de la empresa ya que estos son transferidos directamente al trabajador, el trabajador debe ser altamente eficiente debido a que al no encontrarse en el sitio, su trabajo no debe prestarse a una interpretación incorrecta.

Claro para hacer esto se requieren cambios en varios niveles, ya que los colaboradores deben ser responsable de sus entregas las cuales deben ser realistas y entregadas con la calidad adecuada, los coordinadores deben tener capacidad para coordinar equipos con múltiples culturas en múltiples usos horarios, y saber que hace y como lo hace cada miembro del equipo.

Si esto es correcto entonces ¿Por que muchas organizaciones lo ven con malos ojos?, desde mi punto de vista nos enfrentamos a una resistencia que impone la misma cultura, ya que esto no ocurre igual en todos los países, en algunos países como México país en el que me encuentro la cultura empresarial sigue viendo con malos ojos el no tener al empleado cerca, partiendo de muchos conceptos erróneos que se encuentran muy arraigados en la sociedad, una cultura de premios y castigos en las que los jefes o gerentes están acostumbrados a llamar la atención de un empleado cuando las cosas no salen como se esperan, el temor de que si el empleado no esta no efectuara las actividades que tiene asignadas, la sobre explotación que se da en algunas empresas que hacen que un trabajador se encuentre en ellas en jornadas muy largas con la falsa idea que esto lo hace ser responsable a los ojos de los demás, la necesidad de ver y controlar en todo momento al trabajador.

El tiempo en el que vivimos nos coloca en la necesidad de hacer un cambio en nuestra cultura como empresa, en todos los niveles, con la finalidad de poder obtener los beneficios que nos entrega la nueva tecnología.

Pero este cambio es muy complicado sobre todo cuando la tecnología no nació con uno sino que se unió a uno en el transcurso de la vida

Felices lineas


martes, 5 de abril de 2016

74. Build 2016 - Reflexiones

Hoy es el mejor momento para ser un desarrollador, esta es la principal reflexión que nos deja este build 2016 y no puedo estar mas de acuerdo, la tecnología se ha desarrollado de una manera exponencial, hace unas cuantas décadas los equipos de escritorio tenían una capacidad inferior a cualquier celular, la adopción tecnología es cada día mas rápida, el teléfono tardo varias décadas en llegar a todos los hogares, el ratio, la televisión, Internet solo ha tardado unos cuantos años, la tecnología móvil ha tenido ya mas de una renovación, visiblemente yo hablaría de 3 renovaciones, la primera cuando nacen los teléfonos celulares, que únicamente se emplean para hacer llamadas, la segunda la llegada de teléfonos capaces de tomar fotografías y ejecutar pequeños procesos, la tercera la llegada del smart phone y la cuarta sera ya un cambio radical hacia una tecnología de realidad aumentada como la que proponen los hololents, esto es muy probable.

Los equipos de computo también han cambiado, hoy en día una computadora de escritorio puede ser incluso estorbosa, y necesaria solo para un pequeño grupo de individuos, principalmente desarrolladores, la laptop suple a la computadora de escritorio, nos da movilidad, la tablet cambia la forma en la que nos comunicamos con el equipo, lo hace mas portátil... los lentes eliminan un mundo bidimencional y nos envían a un mundo tridimencional.

Los costos bajan, la nube crece, antes tener un servidor en Internet era algo impensable para alguien que no fuera una empresa, hoy se puede tener un servidor que cobre lo que yo uso a un precio muy accesible, si lo uso me cobran, si necesito mas potencia solo la incremento, un modelo que me permite bajar costos, antes se quería tener todo en casa, hoy la información vive en el mundo entero.

Por eso mismo vivimos una época de evolución y como lo reiteraron muchas veces en build, no hay mejor momento para ser un desarrollador.

Bueno platiquemos un poco de aquello que se dio en este evento

Continium

Una PC en un celular con la capacidad de conectarse en donde se encuentre una pantalla, una PC que nos permite trabajar, que nos permite divertir, nos permite construir, en algo tan pequeño y portátil como un celular.

Ubuntu + Windows

Esta es una prueba de la convergencia que se esta dando en estos días, la posibilidad de ejecutar de forma nativa el bash de ubuntu, brinda una gran cantidad de posibilidades, ya que tendremos disponibles un conjunto de herramientas que antes solo las teníamos disponibles mediante emulación, unidos somos mas fuertes esa es la mentalidad que nos muestra en esta ocasión el equipo de Windows en ves de desgastarse peleando una guerra, por que no sacar lo mejor de ambos mundos

Xamarin Gratis

Algo que esperábamos incluso desde antes de que Microsoft comprara Xamarin, pero cuando ya se veía el coqueteo de ambas empresas al incluir Xamarin en Visual Studio, un paso hacia la convergencia de todos los sistemas operativos móviles, y quizás el mayor soporte que Microsoft le puede dar a su propio sistema operativo móvil, si ya desarrollaron un app en C#, y para Android e IOS, pues ya están a un paso de poderla vender también en Windows, entonces por que no hacerlo.

HoloLents

Para mi es el sueño hecho realidad, el romper la barrera del monitor, y la barrera de las 2 dimensiones, es la jubilación de los smartphones y de los viejos equipos de escritorio, algo que si bien tardara un poco todavía en llegar a nuestros hogares, plantea un nuevo paradigma para el computo y el futuro

Xamarin Test cloud

Las pruebas siembre han sido un tema complicado cuando la cantidad de variantes se incrementan, y como en el caso de los dispositivos móviles, estas se vuelven casi imposibles, de manera física, esta herramienta nos ayuda a probar el código, rápidamente, sin gran inversión y de manera simultanea, así tenemos que las pruebas se simplifican al probar en múltiples dispositivos al mismo tiempo, un gran acierto por un costo reducido https://www.xamarin.com/test-cloud

Convergencia

Que puedo decir, tenemos equipos rápidos, tenemos memoria, tenemos posibilidad de que todo parta de un código y se valla a múltiples fuentes, un solo lenguaje para todo.

Xbox One Developer

La industria de los vídeo juegos es una de las mas demandantes, emplea una cantidad de recursos del equipo de computo alto, ademas de ser la industria que mas ingresos deja, al hablar de convergencia todo es Windows y como tal desarrollar juegos para el Xbox one ya no es cosa de grandes desarrolladoras, ya puede ser hecho por un programador solitario

Cortana

Los asistentes personales evolucionan, aprenden de nosotros y están en todos nuestros equipos se puede decir que son un extra a nuestra propia memoria

Smart-bots

Inteligencias artificiales, que nos ayudan para resolver problemas dar soporte, mantener conversaciones aprender, todo en la nube, todo con un gran banco de datos que esta a nuestro alcance

Hay mucho por hacer y cada día hay mas herramientas para ello, somos protagonistas de una era, podemos crear sueños, ya que soñar es el limite

Felices lineas