Mostrando las entradas con la etiqueta Comentario. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Comentario. Mostrar todas las entradas

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

miércoles, 23 de marzo de 2016

71. Control de excepciones

Este es un tema un tanto complejo, por que muchos programadores consideran que usar un try - catch es un control de excepciones, y eso no lo es, realmente un programa nunca debería caer en una excepción del tipo try - catch, ¿Por que?, por que el hecho de que caiga ahí quiere decir que existe algo que no estamos realizando de la manera correcta.

Atrapar una excepción, nos permite evitar que un programa colapse, por que algo ocurrió que esta fuera del ámbito de nuestro programa, algo que nosotros no controlamos de un inicio (siempre es mejor controlar una excepción de un inicio a atraparla, por que entonces nuestra lógica se altera).

Sin embargo eso tampoco es un control de excepciones, no basta con solo atraparlas, lo que se debe hacer es decir como debe reaccionar el proceso en caso de que estas ocurran.

Un flujo complejo que se detiene por una excepción y que deja los datos a medio procesar puede ser un gran dolor de cabeza, me dirán, existen las transacciones que permiten que se efectué un todo o nada, si existen y es algo de lo que hablaremos después, pero hay casos en los que por limitaciones de recursos (no olviden estamos en la era del big data) es muy complicado el uso de una transacción.

Por ello se deben implementar medios para realmente controlar una excepción, algo mas allá de una linea que en muchos de los casos no dice nada.

Peor aun hay quien enmascara una excepción con un error del tipo "Ha ocurrido un error consulte a su administrador del sistema", pero no existe información por ningún lado de como ocurrió el error, de por que ocurrió, encontrar una aguja en un pajar es mucho mas fácil.

Entonces ¿Como debemos construir una excepción?, bueno, debemos seguir una serie de reglas en su construcción, reglas que nos facilitaran mucho la vida.


  1. Debemos buscar controlar las excepciones desde codificación, para ya tener una alternativa en el proceso de que hacer en caso de que fallen.
  2. Si se da una excepción, cosa que no podemos evitar esta nos debe dar la información suficiente para reproducir el error (método, variables, etc).
  3. Es conveniente que conozcamos el flujo de nuestro proceso para tener un plan de contingencia en caso de que una excepción nos cause algún problema, esto se debe evaluar desde una etapa de diseño, generar un plan de contingencia en producción no es buena idea.
  4. Si no se desea ser alarmista con el cliente (por imagen) la información de como reproducir el problema se debe almacenar en algún sitio aparte, no solo enviar el mensaje de "un error a ocurrido", si por imagen no se quiere mostrar el error como tal, entonces por imagen deben resolverlo lo antes posible, y si no tienen idea de que paso, esto se convertirá en insatisfacción rápidamente, somos una herramienta para mejorar procesos, no podemos comernos el tiempo del usuario tratando de solucionar errores en los mismos.

Felices lineas

Carlos

martes, 22 de marzo de 2016

68. Windows 10 Mobile - El sentido de pertenencia

El día 17 de Marzo de  2016 después de una larga espera ha salido al mercado Windows 10 Mobile, esto después de seguir un camino bastante tortuoso, con una serie de retrasos, y con varios teléfonos que se quedaron en el camino.

Quiero aprovechar la salida de este tema, para tocar lo que es el sentido de pertenencia, algo que en mi opinión es lo que le falta explotar a este sistema operativo.

Windows 10 Mobile, es un sistema moderno, con una interfaz diferente a sus competidores, muy estable, que no presenta deterioro pese a las aplicaciones que puedan ser instaladas, y que incluso se podría hablar de que permite que la vida del teléfono se alargue mucho mas de los que permite otros sistemas operativos.

Entonces ¿Que pasa con el?, ¿Por que su cuota del mercado es tan baja?, mucho se ha escrito sobre esto, se habla de que la tienda tiene pocas aplicaciones (algunos miles) se habla de que las principales aplicaciones no lo apoyan (si no ven negocio en la plataforma ¿Por que apoyarla?), sin embargo Microsoft nació con algo a su favor, existen miles de programadores de C# que pueden crear aplicaciones para este ecosistema Entonces si tiene tantos programadores, ¿Por que no hay aplicaciones?, Si el sistema es tan estable, ¿Por que no hay grandes ventas?.

Cuando un proyecto sale a la luz, muy independientemente del tipo de proyecto, siempre se busca gente que se sienta identificada con el, esto es algo que siempre tenemos que tener en cuenta en cualquier proyecto que emprendamos, ¿A que segmento se encuentra dirigido dicho proyecto?, pero esto no es lo único que necesitamos para conseguir un éxito, una vez que se a que segmento me dirijo, debo hacer que dicho segmento se sienta orgulloso de pertenecer a el, y que mi producto que es parte del segmento, se convierta en un identificador del mismo.

Veamos el caso iphone, el iphone, genera status, no cualquiera trae un iphone, y el que lo trae por lo general es una persona, que vive de la tecnología de punta (puede no ser cierto esto pero es la apreciación que da el iphone a este segmento), la gente que lo posee siempre esta en la punta de la tecnología, y pese al costo no subestima cambiar su dispositivo por otro de la misma marca(lealtad) pero de un modelo reciente, incluso lo ven como algo necesario, ellos se ven como usuarios de iphone, o incluso como usuarios de Mac.

¿Que pasa con Android?, Principalmente un segmento medio, un gran conjunto de los usuarios escogió Android como su primer smartphone, el usuario de android, también gusta de estar a la vanguardia, pero por un costo mucho menor que el usuario iphone, le gusta la libertad, Android permite transformar y personalizar el telefono, la marca no le es tan importante, pero pertenece a un grupo y se siente plenamente identificado, el cambio a iphone, si bien se da, no se da a un ritmo acelerado.

Ahora, ¿Que pasa son Windows Phone?, Primero que nada, no existe un segmento que se sienta plenamente identificado con el dispositivo ¿Para quien es? en algún momento empezó a cobrar terreno con la gama media, una gama que busca diversidad a un precio económico, No representa competencia en la gama alta, un sector que se encuentra dominado por iphone, ya que este teléfono no da un status social. ¿Podría darlo?, la respuesta es si, pero esa es una imagen que el fabricante tendría que construir, un buen equipo ya no es suficiente, es importante que los usuarios sientan que pertenecen a el.

¿Y las aplicaciones?, son necesarias si, pero la base de programadores debería bastar para tener sus propias aplicaciones, ¿Por que no las hay?, por que los programadores no se sienten identificados con el sistema operativo, por desgracia muchos de los programadores .Net pertenecen a un grupo que se dedica a aplicaciones empresariales, en donde por muchos años se ha dicho, el aspecto no importa, lo que importa es que funcione.

El aspecto no importa... Claro que importa, por que esto es lo que hace que queramos usar una aplicación, que nos enamoremos, que la aplicación se defina como parte de nuestro grupo, que nos pertenezca.

Esa pertenencia de la que hablo, es la que nos hace defender nuestra empresa, defender al equipo, sentirnos como uno, y crecer juntos, es lo que nos hace alcanzar el éxito, es el alma de un proyecto, y un proyecto sin alma no puede sobrevivir.

No digo que en este ejemplo Windows Phone no tenga alma, la tiene pero debe encontrar su sitio, y al encontrar su sitio, la historia cambiara.

Crear proyectos con alma, proyectos que tengan un sitio, es un diferenciador en proyectos exitosos y proyectos que no lo son.

Siempre debemos preguntarnos ¿a quien pertenece este proyecto?,  ¿Quien lo adoptara como suyo?

Felices Lineas