Fraudismo 101: todos lo saben todo

Quiero iniciar una serie de posts que desde hace mucho tiempo cuento, de forma verbal, en cursos, charlas o tomando cerveza. Adelanto esto porque si hablas de la tradición verbal de una fábula inmediatamente ganas puntos de gafapastismo.

Estas historias son la constatación de un hecho: que todos los informáticos (plural genérico) somos unos tarados. A todos nos falla un fusible, normalmente el mismo. He decido escribirlos tras ver que la mayoría necesitamos un club de autoayuda ya que este trabajo estresa y agobia bastante, por razones que ahora presentaré. Compartir y descubrir estas manías te ayudará a superarlas. La corriente filosófica/psicológica que trata estas taras se llama Fraudismo

Fraudismo: disciplina que trata de explicar por qué personas normales, bastante inteligentes (más que nada porque realizan un trabajo intelectualmente complejo como es programar) se sienten como una mierda a diario y piensan que son un fraude con patas y un fracaso con DNI.

Como último aviso, advertir que algunos van a estar bastante basados en las ideas que el genial Joel Spolsky volcó en su blog, de obligada lectura, más alguna pizca personal. Como buen Fraudista me limito a regurgitar las ideas de otro y a esperar con pánico a ser descubierto. Os ahorro el esfuerzo de descubrirme y, si no has leído a Joel (yo hasta he comprado sus libros), deja todo lo que estés haciendo y ponte a ello. De nada.

Todos lo saben todo

You are comparing your backstage self with spotlight others

Esto seguro que lo has sentido muchas veces. Ser el más tonto de la habitación. Escuchar a todos hablar y darte cuenta de que o están hablando de otras cosas, o te has quedado irremisiblemente atrás. Junto con 50 puntos de tu CI. A mi me pasa mucho cuando voy a conferencias.

Bueno, eso y cuando Jonathan Chacón da alguna charla en una NSCoder Night de Sevilla. Porque alguna vez se podría llevar algún ejemplo en modo texto, algo feo y simple, vamos, lo que yo entiendo que debe programar un ciego. Y no juegos en 2D y ejemplos con SceneKit en 3D. Que acaba uno machacado y preguntándole “Jonathan, alguna vez te vas a traer algo de ciegos y dejar de humillar a los que no sabemos hacer juegos ni animaciones. Que tú eres el ciego pero yo el discapacitado para SceneKit…”. Qué le vamos a hacer: Jonathan es demasiado bueno en todo.

Me pierdo. El tonto de la habitación. Seguimos.

En una conferencia ya extinta (BCNDevCon) acudí a un taller de iniciación de Unity. Pensé “Unity debe molar”, así que preparé lo necesario (instalé Unity, leí algún tutorial, esas cosas) y me senté a escuchar. El instructor era un valiente, porque aquello estaba lleno de gente. Pasó unos recursos en un pendrive y empezamos a hacer cosas. Yo estaba maravillado porque podía “pintar” un mundo en 3D con aquella herramienta. Casi era magia. Pero entonces mi cerebro empezó a hacer cosas. Empecé a mirar a mi alrededor de soslayo. “Vaya, parece que soy el más viejo del lugar. Sí todos son chavales. ¡Lo que yo habría dado por aprender estas cosas a su edad!. Anda que me van a llevar un ventajón…”

Me sobrepuse y continué con el taller. Pero mi cerebro empezó a pensar “parece que todos lo llevan bien. Es más, mejor que yo. Parece como si todos tuvieran ya experiencia con Unity. ¡Eso es!. Estos ya han terminado sus primeros juegos con Unity y viene aquí a repasar“. Y es en estas situaciones cuando el pánico se apodera de ti y empiezas a pensar “no, no es que desarrollen con Unity, es que estos son los que desarrollan el propio Unity. Seguro que vienen de la empresa que escribe Unity. O eso, o lo hacen todo a pelo con OpenGL. Eso es: ¡OpenGL y ensamblador!. Y su procesador de textos es Emacs… ¡Y manejan vi con el ratón!”

Cuando llegó la pausa del café corrí a una mesa. No por necesidad de cafeína, que también, sino por escapar de la sala de los expertos, donde era el más tonto del grupo. Cuando se fueron formando grupos de café, tímidamente vas charlando, tanteando el hielo para que no se rompa bajo tus pies. Y lo que encuentras te sorprende: todos pensamos que los otros ya lo saben todo. Más que nada porque no podemos meternos en sus cabezas. Y siempre nos ponemos en lo peor.

Me ha pasado en clases magistrales de Core Data con Marcus Zarra, y Alan Cannistraro preguntando sobre multi hilo. O en la NSSpain escuchando a Peter Steinberger hablar de desarrollo en C pelón con Cocoa.

Pero resulta que esa es la mejor situación en la que puedes estar. Una vez identificado el autoengaño de tu cerebro, cada vez que he sentido lo mismo he pensado:

“Bien, si soy el más tonto de la habitación lo único que puede pasar aquí es que salga aprendiendo algo”.

Sólo invocar este mantra aleja el pánico. Porque es cierto que uno sabe PHP, y otra C++, y la de más allá Perl. Pero no es cierto lo que nuestro cerebro nos hace: que pensamos que ya deberíamos saber a la vez PHP, C++ y Perl porque ellos ya lo saben, que a ver qué has estado haciendo con tu tiempo, que tienes que ponerte al día. Reunimos lo mejor de cada uno y lo convertimos en un yo ya debería saber todo esto.

¿Y qué podemos hacer una vez localizado el engaño?

En mi caso, lo primero que hago es preguntarme si realmente es necesario que sepa R, Ruby, Cocos2D y Scala. Hay que decir no a todos menos a uno. Y escojo el que, de los que me atraen más, pienso que me puede ayudar mejor en mi trabajo. Quizás porque me enseña cosas desde un punto de vista distinto.

Una vez localizados los objetivos lo siguiente es crearme proyectos en Things con cosas que quiero aprender y acciones concretas: ver este vídeo, leer este post, hacer un ejemplo de tal cosa. Y así voy aprendiendo. No tanto como quisiera, pero este miedo lo he superado. Y tú puedes, también, siendo consciente de que todos pensamos lo mismo: que todos lo saben ya todo. Y es mentira.

Aprende y disfruta mientras aprendes. GOTO 10. No hay más.

j j j

El agobio de repuesto

TL;DR: auto fustigación y pesimismo ahead. Igual prefieres ponerte Les Luthiers para divertirte.

No se si es por ser programador, o por ser informático. No, debe ser por intentar sobrevivir como autónomo en España, luchando contra unos impuestos disparatados que no ayudan mucho al que gana poco. O directamente porque soy tonto del culo. El caso es que siempre ando preocupado. Agobiado. Por pequeñas cosas, cosas insignificantes, pero que están ahí. Y molestan.

Cuando estás sano, tienes una estupenda relación con tu mujer, dos hijos a los que quieres con locura, has estudiado lo que te gusta, tienes trabajo, disfrutas de tus padres y familia… Parece que quejarse no es una opción. Hay que ser tonto, ¿no?. Problemas del primer mundo…

Pero como me dijo una vez un compañero, cuando estaba empezando y me dedicaba a arreglar ordenadores “uno siempre quiere más”. Y con el tiempo he acuñado esta frase: “cuando todo te va bien siempre tienes a mano un agobio de repuesto”.

Siempre quieres más. Aquí está esa idea del deseo no satisfecho, una sed que no puedes apagar del todo, pero que muchas veces es sólo una fantasía. Uno piensa: “si pierdo cinco kilos me sentiré mejor y haré tal o cual cosa”. O peor “cuando pierda 5 Kg hago esto o lo otro”. Son fantasías, autoengaños. Perder los kilos probablemente no te haga tan feliz como esperas. Aprende a disfrutar del deporte que practiques para perderlos. Haz ahora lo que quieras hacer o no lo hagas, pero no lo pospongas.

Estos deseos me llevan, en mi caso, a comprar cosas para acallar que algo no va bien. Menos mal para mis finanzas (y mi salud) que las cosas que compro para generar dopamina son baratas: no soy un aficionado al juego, ni a los coches caros o las drogas (más allá del café). Me relaja mucho más comprar un viejo AMSTRAD CPC 6128 y jugar con él. Aunque no me hace tan feliz como había imaginado, porque las cosas no me pueden hacer feliz: sólo yo, reconociendo lo que tengo ahora, dando gracias por lo que tengo y disfrutándolo, podré ser feliz. No hay otra.

Las críticas

Siempre he sido así, desde que tengo uso de razón. He pasado rápido por encima de mis éxitos, porque me da un poco de pereza estar alardeando de cosas que pienso cualquiera puede conseguir, si se esfuerza. Y siempre me han afectado mucho las críticas. Pero no las externas.

Esas las escucho, pero he aprendido a aceptar sólo aquellas de gente que respeto, no del primero que pasa por la calle. Las que de verdad me machacan son las internas. Esa voz interior que no para de juzgarte. De recordarte cómo has fracasado en perder los 5 Kg. O cómo no has arreglado la cerradura del patio que está rota. O que no has escrito ese libro que querías. O que no ganas el dinero que suponías te iba a hacer feliz. Esa voz que es tu peor enemigo. Esa voz siempre trae el agobio de repuesto.

Este agobio, esta duda permanente en mi mismo y en si hago lo mejor o no tomando esta decisión o la otra me paralizaba antes muchísimo más que ahora. Antes me devanaba los sesos. Y sufría mucho. En silencio, como las hemorroides. Pero sufría. Así que empecé a leer libros de “autoayuda”, a probar métodos de trabajo que me librasen del estrés, a hacer cosas en lugar de pensar en cómo hacerlas perfectas o si debería hacerlas.

Herramientas para salir del pozo

Por el camino he aprendido que apuntar todas las tareas en algún sitio, siguiendo el método GTD te libera de la obligación de recordar. Una vez apuntado ya sabes que tu lista de tareas se acordará. Que reflexionar con un mapa mental, pintando en un cuaderno, me ayuda a ver mejor las cosas desde arriba y a tomar decisiones. Que no hay que ver todas las tareas a la vez, sino visualizarlas una tras otra. Es difícil luchar contra tantos problemas a la vez. ¿Pero contra uno? Seguro que gano. Me he ido conociendo y he desarrollado rutinas para trabajar mejor. Y me autoengaño, por ejemplo, empezando siempre con una tarea muy sencilla, casi absurda. Pero una vez has empezado, sólo hay que mantener la bola rodando. “El principio es la mitad del todo” (Pitágoras, sí, el culpable de que suspendieras el examen de senos y cosenos).

Me he hecho un gurú de cartón piedra de la productividad personal. Y claro, uno piensa que “cuando me sepa organizar perfectamente el agobio se irá”. Y, como todas las fantasías, se desvanece en contacto con la realidad. Hay días buenos. Y días malos.

Lo malo es que, una vez que tuviste un día muy bueno en el que fuiste un 150% productivo tu cerebro quiere que todos los días sean siempre como ese. Y claro, eso no puede ser. La vida cambia: te pones enfermo, se acaba la comida del frigorífico, hay que pagar los impuestos, se estropea el coche, un amigo te invita a su segunda boda… Hay que improvisar, adaptarse, vencer. Y no hay que sufrir porque hoy sólo has rendido un 50%

El resumen de todas las técnicas de autoayuda, productividad personal, herramientas, etc. es sencillo: haz cosas. Al hacer cosas te sentirás un poco mejor. Haz muchas cosas y te sentirás bastante mejor. ¿Meditación? Un 5% más de felicidad. ¿Deporte? Otro 10%. Tus aficiones, otro 10%. Ve sumando.

Soy un fraude

Pero todo esto no me quita la sensación de engañar a todo el mundo. Dicen que se llama síndrome del impostor. En mi caso lo soy. Un impostor, digo. Porque es muy difícil, al ritmo que cambian las tecnologías, mantenerte al día. Ser relevante. Aprender iOS, Objective-C, Xcode, Cocoa, sus patrones de diseño, a manejar herramientas como Instruments, git, organiza tu trabajo… Y luego métete con Android, Eclipse, Java, Android Studio…

Demasiado para mi. Me hago viejo y tonto. Si fuera tan listo como me gustaría habría montado una empresa de la que me sintiera orgulloso. O tendría un proyecto software libre que fuera mío. O al menos una biblioteca de funciones que valiera la pena. O un buen blog. O un libro… La realidad es que soy un fraude y no tengo nada de esto porque no doy el nivel. No excuses.

Sufro cuando tengo que enseñar a alguien. Siempre pienso que me van a pillar, que se va a descubrir el fraude, que todos van a ver que realmente no tengo ni idea. O cuando tengo que hacer una App para un cliente. App con la que tardaré más de lo presupuestado, perderé dinero como siempre y de la que no me sentiré satisfecho. Me hace gracia cuando me llaman “Senior” developer. Será por lo viejo.

Por eso no tengo la empresa. Por eso no publico el código que tengo. Por todo eso.

Hay días buenos, cuando ves que te acercas a tus objetivos. Otros no son tan buenos y sólo puedes agachar la cabeza y seguir avanzando. Y esperar que la cosa mejore.

Pero me gustaría tanto que todos los días fueran buenos…

j j j

Cómo ver los vídeos de la WWDC 2015

…y no dejar que Twitter, y los sobrehumanos que por allí pululan, me machaquen con sus capacidades heroicas de ver en una semana todas las sesiones.

Terminó la WWDC 2015, y como todos los años, me he echo un firme propósito: ver todos los vídeos antes de que llegue la WWDC 2016. Si miro mi track record en este tema, no es para ser optimista: siempre he fracasado. Esto es mi voy a dejar de fumar o tengo que aprender alemán. Lo de los kilos, es evidente a simple vista que tampoco lo llevo bien del todo.

Sí, lo confieso, voy por el mundo desarrollando para iOS y a veces enseñando sobre ello y no he visto todos los vídeos de todas las WWDCs. Una vergüenza, ya lo se. Últimamente, mi síndrome del impostor está súper-desarrollado y tengo muy asumido que soy una estafa con patas, pero eso es tema para otro post. Así que esta vez va a ser diferente. Tiene que ser diferente. Me voy a organizar de manera diferente y quizás alguna de estas ideas os sirva para algo. O no.

Good Ol’ Streaming

El streaming y todas estas cosas modernas están muy bien y tal. Hasta que tienes que ver un vídeo y se ha caído tu conexión. O quieres copiar unas cuantas sesiones a tu iPad para estar entretenido en un vuelo, y necesitas tenerlas en tu Mac primero. Y en cualquier caso, porque mañana puede estar caído el servidor de Apple o pueden retirar los vídeos a voluntad. Mi estrategia es sencilla: aquellas cosas de Internet que de verdad me interesan van a mi Drobo o a cualquiera de mis HDs externos. Al coste por GB actual, ni me lo pienso. Para bajar los vídeos os recomiendo este script, que además se baja los PDFs con las presentaciones y el código fuente de los ejemplos. Todo lo necesario para explorar las sesiones. Es bastante configurable y puede bajarse los vídeos de otros años, grabar en la carpeta que le indiques, descargar en calidad SD o HD…

Para instalar el script, debes mostrarlo en formato “raw”, es decir, en texto plano (pulsando en este enlace lo tienes, de nada, soy así de majo), seleccionar todo el texto y copiar y pegarlo en un fichero de solo texto. En mi caso, uno que me creado con vi. Lo llamas como quieras, pero download-wwdc-videos.sh no es mal nombre. Te quedaría por darle permisos de ejecución con la orden: $ chmod a+x download-wwdc-videos.sh.

Para bajar los vídeos la orden que he usado es:

./download-videos.sh -f HD -o ./

que significa: “baja los vídeos de la WWDC 2015 (por defecto), en calidad HD (caballo grande, ande o no ande) y me los pones en la carpeta actual”. Previamente me había creado esa carpeta en el Drobo y había ido en iTerm con cd /Volumes/Video-Drobo/WWWDC-2015 hasta la carpeta en cuestión.

Separar la paja del grano

No todas las sesiones me interesan. Y a ti tampoco deberían. Hay que tener foco y empezar por aquellas que realmente te van a aportar más. Por ejemplo, la entrega de los Apple Design Awards es algo que no me va a hacer más feliz. Las nuevas características de Swift 2.0, sí. Así que hay sesiones que me interesan seguro, otras que ya habré visto y otras que, o seguro no quiero ver o estoy en duda. Primera criba resuelta: si dudas, es que no quieres verlo. No pasa nada, no borres el vídeo (yo no lo hago), no se va a ir de ahí. Pero si no tienes claro de entrada si te sirve para algo, es que no te sirve verlo ahora.

Videos WWDC 2015 con etiquetas

Videos WWDC 2015 con etiquetas

Para distinguirlos he usado las etiquetas del Finder, que puedes cambiar y crear en preferencias del Finder. Me he creado tres nuevas: Ya vistos, en color verde, pendientes, en color naranja (que destaque) y en gris no me interesan. Marco todas en gris y a partir de ahí selecciono con mucho cuidado las que quiero ver. Es mejor marcar sólo cinco vídeos, verlos, y tener la sensación de he cumplido esta etapa y poder volver y añadir más vídeos luego para subir nota. Mucho mejor que marcar cincuenta vídeos y cargarte con una obligación más todo un año. Además de todas las otras cosas imprescindibles que ya tienes que hacer: leer todos los feeds RSS, leer completo tu timeline de Twitter, leer las noticias diarias, etc.

Pista: no lo hagas. Sobrecarga de información inútil == ruido.

Preferencias del Finder para gestionar las etiquetas

Preferencias del Finder para gestionar las etiquetas

Ver los vídeos

En mi caso, si puedo, los veo en el iMac. Porque estos vídeos no basta con “verlos”. A mi me gusta tener abierto Xcode y los ejemplos de código, y cuando veo algo que me llama la atención pauso el vídeo, tomo notas, pruebo código, etc. Sin hacer esto, a los dos minutos de terminar el vídeo no recuerdo nada. Si no intento repetir la demo que estoy viendo, no voy a aprender nada.

Así que en mi caso, nada de verlos a 2x para marcarlos como vistos. A mi me interesa marcarlos como aprovechados, que es distinto. Lo otro es como visitar 10 ciudades en 7 días e ir de Turista. Yo prefiero ver una y vivir 10 días en ella.

Para verlos, los añado a iTunes. Pero con cuidado. Si arrastras la carpeta de los vídeos a iTunes se van a copiar dentro de la biblioteca, duplicando el número de GB. Que puede ser que sea lo que quieres. O no. Siempre puedes borrarlos. En mi caso, los vídeos se quedan en su carpeta del Drobo y sólo enlazo el contenido. Para ello, en las preferencias de iTunes debemos desmarcar la opción Avanzado > Copiar en iTunes Medio los archivos añadidos a la biblioteca que copia por defecto los ficheros dentro de nuestra biblioteca. Ahora podemos arrastrar los ficheros y no se copiarán. Pero podremos sincronizarlos con nuestros dispositivos (en mi caso, mi iPad), para verlos sin conexión. Win!

Programar y tomar notas

No te quedes sólo con los vídeos. Crea tus proyectos de prueba, escribe código usando los Playgrounds de Xcode. Usa las betas de Xcode 7. Y si encuentras errores file a radar. En mi caso, por cada vídeo que voy a ver, creo una tarea en Things, que es lo que uso para llevar un sistema más o menos GTD. En esta tarea anoto cosas que me llaman la atención, de forma que siempre puedo volver y buscar esta tarea para revisar las notas. Si las notas crecen mucho, o van a un Playground junto con código de ejemplo, o a un fichero de texto markdown que luego presento con Deckset.

End

Y esto es todo. Espero esta vez no sentirme culpable cuando compruebe que es Junio de 2016 de nuevo y no he visto más que tres vídeos. Pero una cosa es segura: tampoco voy a poder verlos en una semana. Hay muchas cosas que aprender, y una vida que vivir.

j j j

Cómo instalar Xcode 6 GM (o cualquier versión final de Xcode) sin sobreescribir la anterior

De nuevo es esa época del año. Vuelta al cole. Fin del verano. Nuevo Xcode.

Me encanta el olor a nuevo Xcode por la mañana

Y siempre, el mismo temor: ¿qué pasa al instalar? ¿Voy a sobreescribir mi Xcode actual?

Un poco de teoría

Una App en OS X no es más que una carpeta (un bundle) que contiene los ficheros ejecutables y recursos que la App necesita. Podemos verlo más claro desde el Finder pulsando con el botón derecho del ratón y escogiendo Mostrar contenido del paquete. Desde la terminal es aún más evidente. Si hacemos:

$ cd /Applications/ 
$ ls -d Xcode*

drwxr-xr-x@ 3 dfreniche admin 102B 10 sep 09:47 Xcode.app/ 
drwxr-xr-x  3 root wheel 102B 16 abr 10:30 Xcode5.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 2 jul 02:52 Xcode6-Beta3.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 1 ago 23:17 Xcode6-Beta5.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 16 ago 00:35 Xcode6-Beta6.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 28 ago 09:01 Xcode6-Beta7.app/

veremos todas las versiones de Xcode que tenemos instaladas. No son más que directorios UNIX normales

La práctica

Durante la fase de Betas la imagen de disco con Xcode que descargamos contiene una carpeta con un nombre como Xcode6-Beta5. Este nombre es distinto de Xcode, con lo que no hay conflicto.

Cuando llega la GM y la versión definitiva, Apple distribuye un DMG con una App que ya se llama Xcode. Es Xcode 6, pero tiene el mismo nombre de carpeta que el Xcode 5 que ya tienes instalado en tu disco duro. Si lo copias, vas a perder Xcode 5.

Xcode5 antes de copiar Xcode6 GM

]Xcode5 antes de copiar Xcode6 GM

Solución sencilla: antes de copiar nada a la carpeta Applications, renombra Xcode (como si fuera un fichero o carpeta normal, probablemente tengas que introducir tu clave de administrador) y ponle de nombre Xcode 5 (o el que prefieras, yo tengo por ahí una llamada Ye olde Xcode 4.3)

Instalando Xcode 6 tras renombrar Xcode 5

]Instalando Xcode 6 tras renombrar Xcode 5

Fácil, ¿no?

j j j

Imparto dos talleres en el GCTIC: iOS y Android

El #CGTIC es el Foro de Nuevas Tecnologías de la Información y la Comunicación que va a tener lugar en Las Palmas de Gran Canaria este próximo fin de semana (del 26 al 29 de Junio). Y tengo la enorme suerte de poder asistir e impartir un par de talleres:

Esta es mi tercera visita a las Islas Canarias, y la tercera isla en la que voy a estar, tras Tenerife y Lanzarote. Muchas ganas no sólo de ir al GCTIC, sino de estar por Las Palmas al menos el Jueves y echar un paseo en condiciones. No tendré tiempo de mucho más (recordemos que voy a trabajar, no de vacaciones) pero la verdad es no que se puede ir a mejor sitio. Se puede estar igual de bien, pero mejor es complicado.

Ambos talleres son gratuitos, y el Foro ha tenido la amabilidad de hacerse cargo de los gastos de transporte. Aparte de esto, yo voy “de gratis” porque creo que hay que apoyar a la comunidad de desarrollo. Este año ya he participado en dos iniciativas similares: el Curso de iOS en Cádiz con el inimitable Jorge Galindo y el taller que hice con la ayuda del Ironhack en Madrid.

Si me ves, saluda. Y te invitas a algo. Si pongo cara rara, es que no estoy acostumbrado a que me saluden gente que no conozco 😉

j j j

Aprende iOS, Android, HTML5 y Windows Phone en la playa

TL;DR;

Me voy a la playa a enseñar iOS y Android. Si no vienes, puedes sentir envidia. Es normal.

El Máster

Pues sí. Este es el panorama al que se enfrentan los alumnos del I Máster en Desarrollo de Aplicaciones Móviles en Andalucía de Comunicación Plus. Retirarse del mundanal ruido junto a las playas de Chiclana, en Cádiz. En un apartahotel de 4 llaves. Y una vez allí, darle a la tecla 50 h por plataforma, en formato ultra-intensivo, empezando un Domingo y acabando un Sábado.

Si echáis cuentas, 50 h seguidas de Domingo a Sábado queman a cualquiera. Por eso nos han prometido actividades “extraescolares” con las que recuperar cuerpo y mente en tiempo récord. Algo he oído de masajes, paseos en bici de montaña por la playa, clases de Pádel o salir al mar a hacer Paddle Surf. Y claro, además tenemos las piscinas y la playa de Chiclana. Mal no vamos a estar.

Pero volviendo al contenido del Máster, me parece muy interesante que se traten cuatro plataformas distintas (luego se puede escoger la que te guste más, o de la que te ofrezca trabajo). Además de aprender mucho, puedes comparar y ver lo que tienen de mejor unas sobre otras. Por ejemplo, en Windows Phone tienen bindings (en iOS no tenemos Cocoa Bindings, sólo en OS X). O puedes ver que la forma de internacionalizar proyectos de Android probablemente sea la más limpia (en mi opinión). O por qué Eclipse necesita ya la jubilación (después de ver Visual Studio y Xcode). Y además, habrá unas horas dedicadas a Márketing Online o a pensar en la Experiencia de Usuario. Esto último lo dará el gran Jorge Galindo de 47 Degrees con el que organicé en Febrero pasado el curso gratuito para parados y estudiantes de iOS.

Yo me voy a encargar de las partes de iOS y Android. Vamos, de las que se algo, porque de las otras dos flojito, flojito. Creo que 50 h dan para mucho y podremos ver de todo: herramientas, código, patrones de diseño, frameworks, … y apps. Muchas apps. Cosas aplicables directamente (o eso espero).

Hay muchas cosas buenas en este Máster, pero el alejarte del trabajo para enfocarte en aprender, la intensidad de la formación (un poco a la Big Nerd Ranch, pero en Cádiz, que lo mejora todo) y el apoyo del Director del Máster, Pablo Gª Trespalacios (que sabe de lo que habla porque para eso ha sido alumno mío) me parecen lo mejor. Y los alumnos, claro, que no saben dónde se meten :-)

El vil metal

Como he leído por ahí es muy caro. Bueno, para empezar puedes buscarte el alojamiento y ahorrarte algo, o escoger semanas sueltas. Si vamos a lo más “caro”, son 5000 Eur., que es un dinero. Pero eso incluye:

  • un mes alojado en un complejo de apartamentos con pensión completa
  • todas las pausas de cafés
  • las actividades extra académicas
  • y 200 h, al menos, de formación. Si valoras en 1000 Eur todo lo anterior, cada hora de formación te sale a 20 Eur.

UPDATE 12 Mayo No son 200 h. Son 240 h, ya que cada semana tiene otras horas dedicadas a prototipado, UX, márketing… sólo había incluido mis 50 h e ignorado al resto 😀

  • y hay una financiación muy interesante (los dos primeros años no pagas nada).

Si te interesa esto, tienes toda la información en la web de Comunicación Plus.

Yo ya estoy buscando las chanclas de la playa para echar en la mochila junto con el portátil. Lo dicho: puedes sentir envidia :-)

j j j

Ponente en la WipJam en el MWC 14

Estoy muy contento de ir este año al Mobile World Congress como ponente de una charla en la WipJam. Concretamente va a ser de Core Data (como la charla y taller que impartí el año pasado en la conferencia NSSpain). No soy yo el máximo experto en Core Data del mundo, ni siquiera de mi barrio, pero poder acudir a un evento internacional y compartir conocimiento con otros programadores me motiva bastante. Y algún proyecto con Core Data he desarrollado.

Encima, para mejorar la cosa estaré parando en la casa de Rafa Aguilar (responsable de [Objective-C.es], 3 además de programador iOS en Wallapop y crack absoluto). Y dormirá con nosotros (juntos, pero no revueltos) Luis Ascorbe, el 50% de NSSpain. Y Pedro Muñoz andará por allí con su proyecto de iBeacons… Y todos los demás amigos de Barcelona… Vamos, que no se puede pedir más.

Bueno, sí. Puedo pedir terminar de una vez la App iOS que estoy ultimando y así poderme ir tranquilo a BCN. Y acabar las transparencias a tiempo, y no en el tren, que me veo como siempre…

j j j

La comunidad de desarrollo Mac en España

He recibido un par de correos preguntándome sobre esto mismo en los últimos días. Además, es algo que me gusta comentar en los cursos que imparto sobre iOS (y en los de Android, solo que en esos hablo lógicamente de la comunidad Androide). Así que voy a resumir y reunir aquí lo que necesitas para acceder a la misteriosa y privilegiada comunidad de desarrollo iOS/Mac en España.

Sin miedos

Primero, lo más importante: si te interesa el desarrollo con tu Mac, en Cocoa, usando Xcode y Objective C ya eres miembro de esta comunidad. No ha sido tan difícil entrar, ¿no?. Como en cualquier comunidad, sólo hace falta que tengas interés, o curiosidad, o conocimientos, y que quieras compartirlos. No hay que hacer pactos con el Anticristo, ni con los bancos, ni firmar contratos con la sangre de un gallo. Cosa asquerosa, por cierto.

Puedes disfrutar de esta comunidad a distancia, usando tu ordenador e Internet, pero yo siempre recomiendo el contacto cara a cara, personal. El periodo más productivo de mi vida como programador fue cuando estudiaba la carrera de Informática. Y así lo recuerdo por el grupo de personas con las que me reunía a programar y a hablar sobre programación. Probablemente es más la sensación de que “cualquier tiempo pasado fue mejor” que algo objetivo (probablemente, no, seguro, mi código era una abominación), pero hablar con gente que sabe mucho más que tú es algo que estimula mucho, motiva y te fuerza a mejorar para no sentir que haces el ridículo entre ellos.

Aunque eso nunca pasa: nadie, nunca, se va a reír del que no sabe. Lo que hará es ayudarle. Así que destierra ese miedo de tu mente, esa pesadilla que alguna vez has tenido: nadie se va a levantar, en medio del bar señalándote y gritando “mirad al pardillo este, que no sabe nada de nada”. Si alguien actuara así es causa objetiva para que te tatúen tonto en la frente, y de no ser parte de esta comunidad.

Blogs

Pongo aquí una lista de los mejores blogs de programación Cocoa en Español que conozco y leo. Debe haber más: apórtalos en los comentarios. Siempre son bienvenidos. Van sin un orden concreto, salvo Objective-C.es, el blog de Rafa, claro ejemplo de superación personal y, como se que al final acabará en Apple, le voy haciendo ya la pelota para que pase mi CV cuando llegue el momento.

Reuniones periódicas

Aquí tenemos las reuniones que se tienen en distintas ciudades de España, con distintas periodicidades. Si no tienes ninguna cerca siempre puedes animarte y fundar la tuya propia. Sólo necesitas a una segunda persona interesada en lo mismo.

Todas estas reuniones tienen su propio Twitter. Busca y ponte en contacto con ellos.

“La” Conferencia

La conferencia de la comunidad Cocoa Española, el sitio al que hay que ir es la NSSPain. Es una conferencia internacional (luego es en Inglés), pero es la que más cerca vas a encontrar con mejor contenido. Yo me he hecho fijo en el primer año.

Twitter

Hay montones de gente interesante a la que seguir. Te recomiendo que sigas por twitter a los blogueros anteriores y que mires a quiénes siguen. Es la forma más rápida.

Preguntas y respuestas

El portal NSCoderCenter es lo que buscas

Pull request

Si quieres que incluya un apartado, o quieres completar todo esto con más información, usa los comentarios más abajo. Gracias.

j j j

Curso gratuito iOS en Cádiz AKA ayudando a la comunidad

Ser awesómico es la marca de la casa de David Bonilla. Montar movidas guapas la de Jorge Galindo. La mía, probablemente, es ponerse palote con cualquier trozo de código.

El caso es que, por culpa de David y su #weareatwar se están haciendo cosas y hay gente predispuesta a hacer cosas que antes no se nos hubieran ocurrido. Está dinamizando a la comunidad TI española que quiere escuchar. Esas son las razones que han llevado a Jorge a dejarse liar (aunque para liar a Jorge tampoco es que tengas que esforzarte mucho) y pegarse el curro de cargar con todas las tareas necesarias para que yo pueda llegar a Cádiz e impartir este curso. Lo explica muy bien en su blog.

Yo quería contar aquí el porqué de esta iniciativa. Cómo es que un camarada mercenario como yo deje el vil metal de lado y decida pasar un fin de semana en Cádiz hablando de desarrollo iOS.

La primera razón es que tampoco es tan malo como parece. Cuando tu trabajo te gusta tanto como a mi, estar hablando de desarrollo y programando es casi lo mismo que haces para divertirte. Así que tampoco es tan dura la cosa. Cierto es que a mucha gente la perspectiva de impartir 20h de curso entre Viernes, Sábado y Domingo frente a un grupo de 15 personas le aterraría. Bueno, a mi me aterra la contabilidad. Todos tenemos limitaciones (yo, muchas).

Pero esto es algo que me lleva dando vueltas en la cabeza desde el año pasado. La idea de que somos pocos informáticos, de que es una carrera / estudios que se cursan poco. De que los que estamos cada vez somos más viejos. Que hay pocos chavales. Y chavalas, ni te cuento. Y no es bueno. Pensando en la ley de Oferta y Demanda, cuantos menos seamos, más pasta y trabajo para los que quedemos. Pero la realidad es que la demanda crece muy muy por encima de la oferta, y esto va a seguir así en el futuro. No sólo son los móviles. Son los wearables. Son los edificios conectados. El Internet de las cosas. Los coches. Todo. Todo necesita un ordenador conectado y Apps para eso. Las TVs. Las nuevas consolas. Y no hay manos para todo este trabajo.

Y cuando nos vienen los agobios uno se dedica a vampirizar la comunidad. Copiamos código de Stack Overflow. Usamos librerías de Github. Preguntamos en nuestras reuniones (como la NSCoder Night de Sevilla). Nos pasamos trabajo unos a otros. Escuchamos podcasts. Nos seguimos en Twitter. Nos vemos en las conferencias. La comunidad nos motiva y nos enseña. La necesitamos para ser mejores programadores.

Esta es la segunda razón por la que he querido poner este granito de arena: ampliar la pequeña comunidad iOS / Cocoa en Andalucía. Y, de paso, ayudar en lo que pueda a una de las zonas de España con más paro, en lo poco que pueda. Ojo, que no soy Teresa de Calcuta. Pero muchas veces no hacen falta grandes gentos: con ser un poco mejor cada día y dar la mitad para tí y la mitad para los demás, basta.

Así que ya sabes. Si estás parado y sabes programar, o eres estudiante (que, por definición, está parados a no ser que seas tonto como yo y trabajes mientras estudias, forma perfecta de no acabar la carrera) intentaremos meterte en una de las 15 plazas del curso de desarrollo iOS que vamos a impartir en Cádiz. Todos los detalles aquí.

Espero dar un curso awesómico, que sea una movida tan guapa que todos nos pongamos palotes.

j j j