Fraudismo 101 – El audiolibro

Bueno, mejor el podcast, pero como es un ladrillo de dos horas, casi que podemos considerarlo un libro. Junto con José A. Blanco he perpetrado el episodio 40 del podcast en el que participo, We.Developers. Tengo la enorme suerte de que dos fantásticas personas (José, Ramón) me dejen compartir podcast. Y ser el más tonto de la habitación.

Es este episodio repasamos lo hablado en la serie de El Fraudismo, lo miedos, tics, fobias y problemas a los que nos enfrentamos los informáticos y concretamente los programadores. Aunque también hablamos de cómo gestionar equipos y de otras cosas. ¡Dos horas dan para mucho, especialmente a mí, que se me va la pinza!

Si tienes anécdotas, has escrito sobre el tema, tienes algo que contarnos, déjanos un comentario en la entrada del podcast. Pásate aunque sea para ver los enlaces a los posts de Joel Spolsky que deberías leer, sí o sí.

Cierro así la serie de El Fraudismo, para pasar a otros temas. Que me pongo muy pesado. Ahora tengo que buscar tiempo para publicar el libro + audiolibro en Amazon.

j j j

Fraudismo 101 – Here be dragons

Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático. Puedes leer todos sus posts en la selección de mis posts favoritos

Diez de la mañana. Tras leer el correo, ver Twitter y otras actividades de misión crítica, accedes a aquella carpeta. Abres un proyecto de hace un año. ¡Menuda basura de código tiraba entonces!

¿Quién no ha sentido ese escalofrío alguna vez? Ese momento en el que abres un viejo proyecto y miras el código que escribiste hace tanto tiempo. Es decir, hace dos meses. Casi no quieres mirar, con miedo a lo que puedes encontrar.

Bueno, eso si puedes abrirlo, claro. Si no ha cambiado en dos meses el IDE, el Sistema Operativo, el lenguaje y el encoding de los ficheros. Pero siempre nos quedará vi. Bueno, también admito Notepad.exe. Sigamos.

Haciendo un supremo esfuerzo te asomas al abismo de tu estupidez pasada. Sientes vértigo. Y ves los dragones. Te miran, revolcándose en tu miedo, en tu vergüenza, en tu falta de Unit Tests, en tu programar de espaldas al interfaz, en tu inconsistencia al nombrar variables. En esa clase con el nombre empezando en minúsculas. No hay nada que se pueda salvar de esta basura. ¿Cómo he podido perpetrar este código? te preguntas. ¡He definido un número como un int! ¡Me he acoplado!

¡Nunca entraré en la Iglesia de la CleanCodeología!

¿Seguro que todo es tan malo? ¿Es un asco absoluto? ¿Estás seguro de que tu código te hace digno de ser azotado en la plaza del pueblo? ¿Nunca vas a tener el autógrafo de Uncle Bob? Te voy a contar un secreto: tu código no era/es tan malo: ¿No compila? ¿No resolvió el problema hace dos meses? Si da respuesta a los requisitos del usuario y funciona bien, sin errores, probablemente no sea tan malo.

Y ahora, lo bueno:

Si eres capaz de ver mejoras en código tuyo que escribiste hace un tiempo, enhorabuena: eso significa que ahora eres mejor programador.

Lo malo sería que pasen los años y continúes satisfecho all 100% del código que escribiste. Que es distinto de estar satisfecho del producto/proyecto. Me explico. El producto/proyecto es lo que disfruta el cliente. El código es lo que tú ves y conoces que está ahí. Es como en un hotel: tú disfrutas la habitación, las piscinas, el comedor. Pero no ves las cocinas, las máquinas del ascensor, los cuartos donde se guardan los carritos de la limpieza, las tuberías. Lo feo. Por eso hay veces que estás contento con una aplicación o web que hiciste, aunque sepas que se podría haber escrito mejor. Lo sabes ahora, claro.

Esta es la clave: tú no estás quieto en el tiempo. Y cuando empiezas un proyecto conoces el problema que tratas de solucionar bastante peor que al final. Por eso al final sabes que deberías haber empezado de esta u otra forma. Claro, porque ahora realmente entiendes de qué va tu programa. Ahora has dedicado montones de horas a resolver el problema y conoces mejor a tu usuario. Ahora todo es más fácil si recomenzáramos, pero no hay que avergonzarse de lo ya hecho.

Lo más normal es que ahora, que entiendes bien el problema y conoces mucho mejor tu lenguaje/framework escribas mejor código. Si no es así, sí debes empezar a preocuparte: estás en una Cárnica, en un proyecto estancado o escribes cosas en un blog en vez de subir código a GitHub.

El ansia de lo nuevo

Y claro, mientras estamos en pleno proyecto leemos sobre alguna nueva herramienta, nos hablan de una librería, vemos un vídeo o leemos un libro y seguimos aprendiendo. Y queremos poner esas ideas en practica inmediatamente. Error.

En cada proyecto, aprende una o dos técnicas nuevas e incorpóralas para siempre a tu caja de herramientas.

Si durante el proyecto te comentan una nueva forma de hacer Unit Testing, y es muy sencillo aplicarla, hazlo. Si no, crea un proyecto de pruebas para “rascarte ese picor” y prueba ahí la nueva técnica. Una vez la tengas entrenada, aplícala en el siguiente proyecto. Si no, estarás añadiendo cosas que, en teoría mejoran el proyecto pero que realmente te retrasan del objetivo: entregarlo. Y es así porque, seamos sinceros, esas nuevas técnicas no estaban planificadas en ningún sprint, ¿cierto? Pues eso: practica, anota y aplica en el siguiente. Pero no lo uses como excusa para procrastinar.

Y piensa que siempre estarán ahí. No van a desaparecer por no usarlas de golpe. Deja que maduren, y termina tu proyecto. Pruébalas y cuando estén preparado úsalas. Experimenta con gaseosa.

Rewrite from scratch

Y recuerda: a medida que conozcas mejor el problema que solucionas y la tecnología, mayor será la tentación de tirarlo todo a la basura y volver a empezar. No lo hagas. Lee mejor a Joel Spolsky.

Como verás en ese artículo (¿qué haces aquí? ¡vete y lee eso, que es oro puro!), leer código es mucho más difícil que escribirlo. Tienes que volver a pensar en qué solucionaba ese código. Meterte en la cabeza de otro (aunque sea tu cabeza de hace dos meses). Eso cuesta. Por eso inmediatamente sabemos que nuestro código antiguo es una basura. Porque no queremos leerlo de nuevo.

j j j

Fraudismo 101 – enseñar las vergüenzas

Tu jefe entra a la oficina. Es Lunes, son las 9:30 y se nota el cansancio del fin de semana, el cansancio de los que nacieron cansados, el cansancio de las quejas por lo malo que es el trabajo (pero eso sí, no hago nada por mejorar como, por ejemplo, irme que me da pereza). Cansancio. Eso y ganas de ir a desayunar. En medio de la granja de cubículos el jefe anuncia a voz en cuello, sobresaltando a varios:

  • “a partir de mañana vamos a instalar un Wall Screen en la entrada. En este Wall Screen vamos a poner una secuencia de capturas de vuestro código sacado de los repositorios de la compañía junto con vuestro nombre y una foto. Con animaciones chulas, para impresionar a los clientes que vengan y puedan leer el código que escribimos”. En broma añade: “es eso o venir a trabajar en pelotas”.

El Martes, todos fueron en bolas.


Esto, que puede parecer exagerado, es lo que se produciría si de pronto tu compañía le mostrase a todo el mundo tu código de golpe. Bueno, quizás no irías desnudo, pero los niveles de ansiedad y mala leche se dispararían bastante. Enseñar tu código es una de las cosas que más estrés produce del mundo, junto con el examen del carnet de conducir y dejarle el móvil desbloqueado a tu pareja. Dado que el resto ya lo sabe todo y que sabemos que somos unos fraudes, la perspectiva de enseñar nuestro código hace que el cerebro entre en pánico.

Lo que tu cerebro imagina que va a pasar: al llegar a la oficina, todo el mundo se va a poner en pie, señalándote con el dedo y riéndose de ti, mientras terminan de colocar pancartas con “El código de Diego apesta” escrito con pintura roja y te lanzan verduras podridas a la cabeza. Te sientas y todo el que pasa te da una palmada en la cabeza junto con un cariñoso “pringao”. Te han quitado el ordenador para que no perpetres más crímenes contra el Clean Coding. El tonto de la oficina se sienta a tu lado y cada dos minutos te da un golpecito en el hombro y te susurra “loser”. Godzilla está en camino para comerse tu coche. Tu pareja te llama porque “tenemos que hablar”.

Lo que de verdad pasaría: nada.

Y sin embargo estos miedos llenan de pesadillas las noches de los programadores. Esa es la razón de tantas risitas nerviosas cuando había que unir el código de todos en las prácticas de la Universidad. O por qué cuando se asoma tu jefe a “ver cómo va eso, que le enseñes algo” siempre se piden 10 minutos más, que ya “casi casi está, un momentito que ahora te lo enseño”. Miedo. Al rechazo de tus compañeros. A no dar el nivel que se espera. A Godzilla. Es que no he terminado de pagar el coche.

Quizás el 10% de los que programan en la oficina se fijaría en tu código (que no son todos los que andan por allí). De esos, algunos usan tu mismo lenguaje, otros no. Así que estos asumen que lo haces bien porque para ellos ya eres senior. Y los que lo entienden, probablemente te hagan algún comentario positivo sobre cómo lo hacen ellos. Si es que es distinto. O que usan tal o cual librería, con lo que aprendes. O que gracias a tu código han aprendido cosas (¡de ti, de un Fraude, inaudito!). Al compartir siempre ganas. En este caso, al recibir críticas de tu código aprenderás horrores en muy poco tiempo, sin los horrores que imaginas.

“Recibir críticas == terror”. Pues no. Yo invoco siempre este mantra cuando tienen que mirar mi código (por ej. en una code review):

cuando critican mi código sólo critican mi código, no a mi

Es así de simple. Sólo puedes saber lo que haces mal comparando con otros que lo hacen mejor. En cuyo caso aprenderás. Si no contrastas, no aprendes. Puedes aprender leyendo libros, pero al dejar que otras personas revisen tu código comparas de golpe con todos los libros que ellos ya han leído, gratis.

Y la gente es buena.

El doble G

Pero claro, siempre está ahí el miedo a encontrarte con el doble G (Gran Gilipollas) que sabe mucho y se reirá de ti. En mi experiencia (unos cuantos años ya) he deducido que el doble G es una ilusión paranoide colectiva producida por el exceso de radiaciones que recibimos de nuestros ordenadores. No existe. O yo no lo he visto. Es como BigFoot.

Si alguien sabe mucho normalmente es porque tiene lo que llamamos experiencia, que consiste en cometer todas las posibles equivocaciones y luego ser capaz de recordarlas. Si no las recuerdas eres un yo. Alguien así o bien te va a comentar cómo mejorar (porque ya lo sabe) o va a estar liado con sus cosas de senior y no va a tener tiempo para dedicarse a ti. Pero siempre te podrá recomendar un libro, un blog, un video. ¿Qué sentido tiene reírse del que no sabe? ¡Si ya sabes que no sabe!

Comparte

Mi experimento de los Wall Screens nunca se ha llevado a cabo tal cual. Pero existe, en la forma de repositorios públicos de código, vídeos donde apareces dando una charla a un grupo de compañeros o posts de tu blog donde hablas de tal o cual tema que ahora has dominado. Cuanto más compartas, mejor. Porque para apaciguar al monstruo del miedo no tendrás más remedio que profundizar, revisar, aprender, mejorar. Porque Godzilla te da miedo, ¿recuerdas? Luego escribir un inocente post sobre algo probablemente te convierta en un experto en ese algo. Al menos, más experto de lo que eras antes.

Combate el miedo publicando cosas. Total, lo más que te pueden decir es que yo ya lo sabía o que eres un fraude.

P.D.: Por cierto, y por si no lo has percibido, he creado un mantra. Mi carrera hacia el Olimpo gafapástico de gurú de salón avanza que da gusto.

j j j

Fraudismo 101 – Senior en 6 meses

Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático.

“Perdona, ¿sabes dónde está Manolo?

Juan, que lleva trabajando de becario en Cárnica Consulting Inc. desde hace seis meses se quita apresuradamente los auriculares con los que escucha música electrónica para programar. Los cascos caen resonando sobre la mesa. Realmente Juan los usa para no escuchar los gritos de los comerciales en el teléfono a dos mesas de distancia. Ventajas de los espacios abiertos o granjas de cubículos. Gallinitas ponedoras. Juan no ha hablado nunca con el Jefe. Desde que entró en Cárnica sólo se ha relacionado con el pequeño grupo de personas que forman su proyecto. Desconoce todo del resto de su empresa. Ventajas de las sinergias para desarrollo humano y de tu carrera profesional que te ofrecen las grandes empresas para crecer como profesional. Y poner mejores huevos.

  • No, está de vacaciones. Le tocaba ahora, creo, ¿no?

Juan está asustado y trata de escoger con cuidado las palabras. Quiere impresionar a su jefe, pero sin que se note. No quiere parecer un listo, pero quiere dejar huella. Su cerebro es como un hormiguero pisoteado: ideas corriendo en todas direcciones, sin rumbo, sin organización. Una idea se apodera del resto. Recuerda a Han Solo diciéndole a Chewbacca “fly casual

La voz de su jefe le saca de su ensoñación.

  • Ah, es cierto. Bueno, tú también estás en el proyecto ese de los móviles con Android, ¿no?. Vente, que te necesito en una reunión. Serán sólo diez minutos.

La reunión

Para Juan era la primera vez que acudía a una reunión. La mano que sujetaba el cuaderno con el logo de la empresa le sudaba y temía que se le cayera el boli bic al entrar y quedase mal. Había estado en este templo corporativo otras veces, pero para hablar con Manolo, su responsable. Cosas de su proyecto y eso. Para aislarse del ruido reinante.

La sala era como todas las salas de reuniones del mundo Cárnico. Una gran mesa la presidía, ya que según el manual corporativo no escrito siempre deben reunirse al menos diez personas. Que si no no se despilfarra suficiente tiempo y dinero. Imprescindible que al menos dos no tengan nada que aportar a la reunión. Avisar con 10 minutos de antelación da puntos. Sillas incómodas, que venimos a trabajar (en teoría) pero no queremos que se queden a vivir aquí. Es la versión de la dirección de comerse un kilo de churros mojados en café con sacarina. Una TV para proyectar una presentación en PowerPoint cuidadosamente inundada de datos irrelevantes, pero grande, ¡muchas páginas!, que se vea que trabajamos. Y cuadros corporativos que son como memes en papel y con marco de gente enchaquetada. De esos que tienen debajo escrito “motivación” con un ejecutivo saltando una valla con el portafolios en la mano o “trabajo en equipo” y el equipo olímpico de remo con gomina en una barca arrimando el hombro. Siempre he echado en falta uno que ponga “Siesta: lo que todos haríamos si supiésemos vivir”. Lo encargaré para mi próxima estartúp.

Juan se sentó. Al parecer la reunión era con el cliente del proyecto. No tenía ni idea de quienes eran. Se intercambiaron nombres y un saludo tímido. Recogió las tarjetas que le alargaron por la mesa. Mis primeras tarjetas de visita, se decía, recogiéndolas como un trofeo y guardándolas con cuidado entre las páginas de su libreta para que no se perdieran. Era como si ya te considerasen adulto. Se excusó por no tener una.

Entonces su jefe empezó a hablar. Sobre el equipo encargado del proyecto, plazos de entrega parciales, facturas y otras cosas que para Juan eran secundarias. En su mundo, lo único interesante es el código. Y luego, de alguna manera mágica desconocida, se transforma en dinero. Como es de rigor en toda reunión, cuando habla otro que no seas tú, miras a otra parte, haces dibujitos en el cuaderno, escribes en el móvil. Hay que estar allí pero enviando el sutil mensaje esto es un tostón.

En un punto de la reunión le preguntaron sobre las analíticas que iban a usar. Aún no estaba claro si usarían las propias de Google o las de Localytics. Así que explicó, con todos los detalles técnicos que nadie había pedido, los pros y contras ende ambas. Aquello pareció impresionar a los reunidos, que afirmaban con la cabeza cada palabra de Juan.

Una idea empezó a formarse en su cabeza “estos no tienen mucha idea de esto”, peligroso germen que suele desembocar en ese sentimiento, mitad complejo de superioridad y mitad asco, aderezado por horror al comparar nóminas, que los técnicos sienten hacia los responsables de negocio.

Y le volvieron a preguntar. Algunas cosas las sabia. Con otras se arriesgó y siguió un consejo de su padre “cuando no sepas de algo no digas cosas que luego te hagan quedar como un tonto”. Así que respondía con detalle a lo que sabia, pasando por encima de lo que no. Flying casual. Casi podía oler a Chewbie a su lado.

Finalmente le pidieron opinión sobre tiempos, esfuerzos y una serie de ampliaciones sobre la App. Y fue aquí cuando comenzó el pánico a apoderarse de Juan. “Espera, yo sólo soy un becario, el que hace esto es mi jefe. ¡y yo qué sé!”, se quejaba en su mente.

Empezó a balbucear excusas sobre no estar preparado, sobre que si eso lo hace mi jefe, pero le miraron con sonrisas y le respondieron: “bueno, tú llevas con este proyecto ya 6 meses, ¿no?”

Senior en 6 meses

Esta es una tragedia a la que todos nos hemos enfrentado. Te asignan un nuevo proyecto, con tecnologías nuevas. En parte te gusta porque hay un montón de cosas que aprender aunque a la vez te da un poco de miedo y respeto. Todo es nuevo y puedes meter la pata, claro. Empiezas a aprender leyendo y haciendo pruebas, pero te gustaría que alguien te guiara porque a medida que avanzas te encuentras con problemas y las dudas te asaltan. Si la tecnología es muy nueva puede que seas el primero en StackOverflow en hacer esa pregunta. Ser pionero da miedito.

Y de pronto han pasado seis meses. Eres de los pocos en la empresa que estabas usando esa tecnología. Arrancan otro proyecto y te etiquetan automáticamente como senior. La autoridad a la que preguntar. El que ya lo sabe todo. Y sientes la presión. Sabes algunas cosas, pero en seis meses lógicamente eres consciente de no haberte convertido en experto. Pero te preguntan. Te piden opinión. Y piensas en si estarás dando información errónea, en si hay otra forma mejor de hacerlo, en si estarás diciendo tonterías, en si eres un Fraude

Esto mismo te habrá pasado si has compartido algo por Twitter. Quizás un truco que viste mientras aprendías. O un script curioso. O un trocito de código. E inmediatamente te etiquetan como experto. Te añaden a una lista. Te llaman crack. El que sabe. El gurú.

Esto no es más que un síntoma de un problema. Las tecnologías cambian y se reinventan a un ritmo frenético. No tengo claro si avanzan, porque al final sólo son herramientas para resolver los problemas y los problemas no son tan distintos ahora y antes. El avance, tal como resalta Uncle Bob en este post no es tan evidente. Sí, ahora tenemos Swift en iOS y Android Studio en Android. Pero podíamos hacer exactamente lo mismo, quizá algo peor, con Objective C y Eclipse. No es una mejora tan evidente. Es una apuesta de futuro. Pero en un mercado en el que cada cinco años has cambiado de SO, IDE, lenguaje y frameworks me río yo de las apuestas de futuro. Ese futuro es muy cambiante.

La informática y especialmente la programación avanzan a ritmo frenético, a veces parece que a ninguna parte. Esto es otro de los detalles que hacen de esta profesión algo tan difícil: tienes que tomar decisiones y resolver problemas cuando realmente eres un novato. Un carpintero es experto tras 20 años de profesión. Nosotros con 20 años de profesión estamos recomenzando con alguna nueva cosa.

Por eso es importante ser capaz de dejar cosas atrás. De desaprender. De ser capaz de usar lenguajes que odias, para resolver un problema. Improvisar, adaptarse, vencer (sí, el Sargento de Hierro de nuevo, no doy para más como Coach). De ver lo común y general en los lenguajes y que no nos ciegue la sintaxis.

Claro, que si no quieres aceptar que siempre serás senior con seis meses de experiencia y la presión que esto conlleva siempre puedes hacerte churrero. Con todo el respeto que me merecen mis churreros de cabecera sólo necesitas: aceite caliente, palillos y darle vueltas a la masa con arte AKA experiencia. Eso no ha cambiado tanto en los últimos 100 años.

Hace 10 años aún no había salido Windows Vista. El mundo usaba XP. En Febrero de 2005 se fundó Youtube. Piensa en ello.

j j j

Fraudismo 101 – The Silver Bullet

Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático. Tras leer que Todos lo saben todo siempre puedes saber el por qué de tener siempre El agobio de repuesto

Te ha costado dominar este lenguaje. Bueno, dominar, dominar, tampoco, sin empujar, que para eso somos fraudistas, claro. Pero ya controlas algo y cuando miras en Stack Overflow hasta comprendes el código que vas a copiar y pegar. El IDE empieza a estar dominado. Igual que las librerías y frameworks que usas habitualmente.

Y entonces el mundo conspira contra ti y tu lenguaje deja de ser cool. Y tu jefe contrata un proyecto con una tecnología diferente que nadie en la empresa domina porque lo leyó en un blog. O tu cliente quiere hacer experimentos con una tecnología tan nueva que es inestable. Y quieres morir.

A recomenzar. Otra vez. Y van n. De nuevo eres novato AKA un inútil. Te lo han cambiado todo, pero total, como sólo es programar y tú eres un crack que esto en dos semanas te lo meriendas pues ahí lo llevas: nuevo proyecto con todo nuevo y más apretado en tiempo que los tornillos de un submarino.

Tu jefe te lo propondrá como un reto.

Un inciso: siempre que tu jefe use la palabra reto, corre en la dirección opuesta lo más rápido que puedas, sin mirar atrás. En silencio, pero sin parar. Ya te enviarán el finiquito a casa. Como si tu jefe fuera un infectado: huye. Reto significa en su idioma que ha vendido algo que no sabe cómo ejecutar y que ha encontrado al que se va comer ese marrón por el mismo sueldo: tú. Porque eso es un reto para ellos: arriesgar tu prestigio profesional haciendo algo totalmente nuevo sin formación ni apoyo. Sin planificación ni margen para error. Por supuesto por la misma pasta. Y lo harás, claro, porque eres el mejor, crack

Y cuando empieces y los problemas se amontonen, acabarás maldiciendo y soltando la frase mágica: “estoy harto de cambiar de lenguajes cada 5 años. ¿Es que no puedo aprender uno que me dure para siempre?”

The Silver Bullet.

La primera vez que llegué a esta conclusión fue al empezar a trabajar justo al terminar los estudios. Hasta ahora aprender lenguajes había sido en parte por necesidad (para aprobar) en parte por placer. Conocía o había visto BASIC, Pascal, C, C++, LISP, ADA, Prolog… Pero todo desde la teoría, proyectos personales, etc.

Cuando empecé en serio me pusieron con Access y VBA. Y tuve que desarrollar una App para hacer presupuestos y ventas, stock y demás en Access que corría en ¡15 puestos! De locos. Viniendo de C++ con mi proyecto fresco VB me parecía muy chulo porque era sencillo crear interfaces de usuario pero una calamidad como lenguaje. ¿Quién se ha llevado mis punteros a funciones? Cuando me empecé a enterar me moví de empresa y en unos meses tuve que programar en C, ver HTML (ni idea por entonces), hacer una App en Delphi, tocar VB 5.0 (no VBA ni Access, VB con Visual Studio). Y la presión subía y subía. ¡Estoy harto, quiero aprender de una vez ese único lenguaje multiplataforma, multiparadigma, que con darle a un botón genere desde una web hasta una aplicación Windows o Linux!

The Silver Bullet es una vieja aspiración que he aprendido a no desear. No desear lo que es imposible tener ayuda bastante a no frustrarte y no ser infeliz. Budismo básico de manual. Sí, hay que aspirar a más, a ser mejor persona y profesional: esto no es desear en negativo. Pero en mi caso querer tener la altura de Gasol sólo me generaría frustración: eso sí es desear con toda su carga peyorativa. Y con los años me he dado cuenta de una verdad inmutable:

una vez que aprendes un nuevo concepto de programación, el lenguaje con el que lo apliques es irrelevante.

Es lo que yo llamo “carpintería”. Lo difícil es entender el concepto, “hacer los planos”. La ejecución debe ser sencilla (si te gusta programar, claro).

Por eso, aprende sobre patrones. Lee sobre cómo otros escriben el código. Consulta guías de estilo de tu lenguage, y sobre todo pruébalas en pequeños proyectos. Descarta lo que no encaje contigo, tras reflexionarlo. Aprende lenguajes que no tengan nada que ver con lo que haces ahora: te inocularán conceptos que desconocías y que te gustaría que tu lenguaje tuviera. Pero ¡oh sorpresa!, casi seguro que o ya existen en tu lenguaje actual o hay una manera de simularlos. Así, aprendiendo otro lenguaje siempre acabas sabiendo más del “tuyo”, con el que empezaste.

Nunca vas a encontrar ese lenguaje que te llene al 100%, que nunca se cuelgue su IDE, que sea ultrarápido compilando, que tengba todas las librerías que necesitas, que se ajuste a todos los problemas… Bueno, ahora unos cuantos trolls estarán abalanzándose sobre Twitter para decirme “pero mi lenguaje hace”. Ya, pero otras cosas las hará peor, o no las hará. Nunca vamos a poder escaparnos de aprender distintos lenguajes ya que los lenguajes son sólo herramientas para el programador. Ni más, ni menos. Lo más importante: que el cliente sea feliz, que tu código sea todo lo bueno y bonito que puedas escribir con tu actual nivel de conocimientos, que sea económicamente rentable. Que lo hagas con Python o con COBOL poco importa: con ambos puedes escribir maravillas o cometer aberraciones contra natura.

Así que no busques esa Silver Bullet. Ya la has encontrado. Es tu cabeza y tu capacidad de programar. En cualquier lenguaje que te echen, que para eso eres un crack

j j j

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

Que no se den cuenta de que eres tonto

Auto-equiquetarse. Hay gente que le encanta. En esta era de la velocidad, de tener que sonar ingenioso en 140 caracteres, de las “charlas de ascensor”, del speed-dating, parece que no hay tiempo para poder explicar quién es uno, qué hace, en qué puede ayudar. No hay tiempo ni de pensar. Por eso, y dado que las tarjetas de visita están demodé, hay que etiquetarse. En el perfil de LinkedIn. En la Bio de Twitter. En Facebook.

No vaya a ser que pase desapercibido y no se den cuenta de que soy tonto.

Y digo lo de ser tonto porque el contraste con cómo se etiqueta a sí misma cierta gente no puede menos que ser llamativo. Sir Tim Berners-Lee, el motherfucker que inventó Internet, físico de formación y premio Nobel de vocación se pone en los Hangouts de Google “Web developer”. Como un becario aquí en España, vamos. Y mientras, hay gente que se pone de etiqueta:

CEO de un blog

Esta me genera mucha ternura. Lo digo porque para ser CEO de un blog creo que basta con abrirse una cuenta en WordPress y empezar a escribir, ¿no?. ¿O me he perdido algo?. Bueeeno, aceptamos Tumblr como blog también.

Bueno, yo es que soy un antiguo y aún considero “Blog” a la bitácora personal, la página en la que a modo de diario escribe una persona que habla de los temas que le interesan. Y no el mega-portal de rumores donde se infiere cómo será el próximo iPhone a partir de fotos borrosas de una carcasa supuestamente tomadas en China (y nunca contrastadas). Mito de la caverna de Platón en acción.

Claro que, generar contenido requiere esfuerzo. Y que sea bueno, mucho esfuerzo. Generar bazofia de rumores y refritos es mucho más sencillo. Pero ya lo decían antes: “come mierda: cincuenta millones de moscas no pueden estar equivocadas”. Por eso, presentarse como CEO de un blog, si no eres el dueño de The Verge o estás en conversaciones con Time Warner para que te compre por unos cuantos millones, me parece una tontada importante. Bloguero es más normalito. Gafapasta, pero normalito.

Yo, por si te preguntabas, tengo una web. Desde hace diez años. Punto.

LION

LION == Linked In Open Networker. Es decir, el que no tiene criterio para selecciona su red de contactos y acepta a todo el mundo. O, como es mi caso, que acepto a todo el mundo porque sigo el adagio de un empresario sevillano: “el que un día te trae una mierda, al siguiente puede traerte un tesoro”. Vamos, que contactos nunca sobran. Que los uses o no, es otra cosa. Pero es mejor tenerlos para cuando te hagan falta que no al contrario.

Ponerte en tu perfil que eres un LION (buscad por Internet, os sorprenderá el montón que hay) me parece algo pretencioso. Y es forzar la máquina para decirle al mundo “hey, mirad qué popular soy y el montón de amiguitos que tengo, soy el que más muchos amiguitos tiene en el patio del colegio y tú no, chincha rabiña”.

En fin, con ver que en tu cuenta de contactos pone +500 ya se sabe que no tienes criterio…

KnowMad

Esta es de las últimas etiquetas que he visto últimamente. Como se describe aquí, es la contracción entre las palabras inglesas Conocimiento (Know) y Nómada (Nomad). Así que es un culo inquieto, como siempre se ha llamado a este tipo de personas. Yo mismo. Con curiosidad por las cosas, siempre aprendiendo, interesados por compartir y así aprender aún más…

Se ve que culo inquieto no quedaba bien en las tarjetas (era demasiado largo) y prefirieron algo más cortito. Y en Inglés, que siempre mola más.

¿Y tú?

Pues que acabo de descubrir que soy un Knowmad, LION CEO de un blog. Estoy pensando en ponerlo en mi BIO de Twitter. A ver si me llueven las piedras. Madre, qué de gente tratando de destacar como sea…

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

La Conferencia NSSPain

Empezando el taller de Core Data

Empezando el taller de Core Data

Ya estoy de vuelta tras pasar una semana (casi) en Logroño. Se ha terminado la NSSpain 2013. Y ya tengo ganas de la NSSpain de 2014. Por hacer breve esto: si te dedicas al desarrollo iOS con algún grado de dedicación y te has perdido este evento, ya puedes ir a darte cabezazos con un muro. La gente que ha venido, la calidad de las ponencias y, sobre todo, la intensidad técnica de las mismas ha sido para verlo y no creerlo. Estas cosas no se pueden dejar pasar.

Las charlas y los ponentes

Las charlas han sido increíbles. Nada de “relleno”. Nada de hablar de “mobile márketing” ni de otras historias. Código. Ideas. Patrones. Hemos tenido tres niveles: sesiones duras, muy duras de seguir y luego la de Peter Steimberg (@steipete). Esta sesión por sí sola se situó en una dimensión aparte. Cuando sea mayor quiero ser como Peter, el problema es que me falta cerebro para ello. Pero claro, es que el resto de los ponentes eran todos así. Gente que maneja git desde una consola zsh lanzando comandos como si no existiera mañana. Para los que todo es evidente. Todo lo que a mi cuesta años aprender, ellos ya lo saben. Da gusto estar con gente así. Porque, siendo auténticos sabios, son las personas más humildes, accesibles, sencillas y divertidas que puedas encontrarte. Por ejemplo, he podido desayunar con Marin (@mneor) y comentarle un issue que había respondido sobre en Github sobre Kiwi y Xcode 5, ¡cinco días antes!. Es decir, estaba hablando con el tío de verdad que reparte el bacalao en Kiwi. De película.

Eso, o encontrarte con dos personajes como @orta y Favio, Core Team de Cocoa Pods. Y que te digan que están contentos porque usas su proyecto. ¡Pero si lo que yo quiero es echarme al suelo y besar por donde pisáis!. Esta gente no se da cuenta del impacto que tienen a diario en las vidas de muchos desarrolladores. Y van por el mundo como personas normales, cuando no lo son. La comunidad les debe mucho. Mucho.

Para Marin Usalj todo está OK :-)

Para Marin Usalj todo está OK 🙂

Misma historia con el equipo al completo de Objc.io. Es decir, en apenas dos semanas he visto a Dave Werner (de iOS Dev Weekly) en el iOSDevUK (ya conocía a Dave de otros años) y ahora a los de Objc.io. ¿Qué es lo siguiente? ¿Tomar café con Tim Cook? (Por cierto: Tim, cuando quieras; y no te preocupes: corre de mi cuenta)

Victor Baro ha resumido los talleres mucho mejor que yo en un post dentro del Blog de Louesfera. Lo mismo con el post de Fernando Rodríguez en Applesfera. Bien contado, incluso algún cotilleo de más 😀

Mis talleres

Han sido una basura. Cuando comparas lo que tú puedes ofrecer con lo que cualquiera de éstos trae, te da hasta vergüenza estar por allí. Inicialmente me ofrecí para echar una mano con la NSSpain, porque creo que en España necesitamos este tipo de eventos para poder tener un lugar donde reunir al gremio de desarrolladores Cocoa. Un sitio donde compartir experiencias, donde aprender de los que vienen de fuera. Donde picarnos, y que nos sintamos estimulados por la alucinancia del Cocoa-Fu de estos mónstruos. Por todo esto me propuse apoyar en todo lo posible a los organizadores, porque necesitamos que esto salga bien y crezca. Y no pensaba que fueran a reunir a gente de Champions junto con uno de Regional preferente.

Pero es duro ir a la cena de ponentes y darte cuenta de que eres el tonto de la reunión. Es duro, pero me gusta. Sólo puedes crecer estando con gente muy inteligente, que además sabe mucho más que tú de todo. Y estoy dispuesto a dar batalla. Habrá que esforzarse más. Programando, aprendiendo, enseñando, con todo.

Por cierto, llegué tarde a mi primer taller. De nuevo, os pido disculpas a los que me esperasteis con enorme paciencia. Aunque no fue del todo culpa mía, en la Mili decían que si no quieres llegar tarde te vas el día antes. Así que la culpa me la endosáis a mí, que para eso os tuve esperando.

Por si alguien está interesado, he puesto en slideshare la presentación de los talleres, tanto de Core Data básico como algunas ideas de uso intermedio.

Y algo de código de ejemplo, en este repo de Bitbucket.

Logroño

No había estado en la ciudad y he podido visitar muchos de sus bares parques y rincones. Parece que vives en un bosque, al lado del Ebro. Viniendo de Sevilla, es normal que me encanten las ciudades con río. Pero es que es realmente bonito pasear y ver tanto verde junto. Y se come y se bebe bastante bien. Lo de beber, siendo la capital de La Rioja, es casi una obligación (de hecho, ya hay quien llamaba a la conferencia la NSWine). Me dejé una mañana para pasear y hacer fotos. Las he puesto en este album de Flickr.

Resumiendo

Que voy a repetir, eso está claro. El año que viene, si puedo, como asistente normal y así voy más relajado. O no, ya veremos. Pero si voy a contar algo, va a ser complicadete. O no, ya veremos, que siempre hay mucha gente empezando a desarrollar.

El caso es que quiero dar las gracias a Luis Ascorbe y Borja Reinares por el palizón que se han metido al organizar este follón. Os debemos mucho. Y necesitamos la NSSpain.

j j j