Archivo de la categoría: developer

equipo

Equipo

Me gustaría tratar el concepto equipo porque creo que es importante en una sociedad tan individualizada y que tanto tiende al individuo.

Recuerdo cuando empecé a trabajar como autónomo querer hacer muchísimas cosas y verme capacitado para hacerlas todas y al poco darte cuenta de que solo puedes hacer muy pocas cosas.

Pongamos el ejemplo de mi caso «desarrollo de aplicaciones móviles». Empiezas con esto y dices guai, yo programo en Swift (En aquella época hacía Objective C) y voy haciendo apps. La premisa inicial es fácil pero rápidamente ves que tus aplicaciones tienen falta de diseño con lo que necesitas, o bien, aprender a diseñar o contratarlo. Ahí ya te das cuenta de que solo es complicado. Lo puedes hacer pero de forma menos profesional ya que dos siempre harán más que uno y, si encima, es profesional del diseño pues ni te cuento.

A los pocos meses te das cuenta que las empresas quieren también la versión de Android… Me tengo que poner a aprender Java para Android con la cantidad de trabajo que tengo con iOS? De nuevo te ves que tienes que volver a contratar gente.

Y así con todo porque luego tienes la parte contable que no es mi parte, ya que no he estudiado contabilidad y se me van a ir más horas haciendo declaraciones de IVAS y de hacienda que a un profesional del gremio. De nuevo contratar.

Nótese que el «equipo» que te rodea y que permite funcionar tu empresa cada vez aumenta. Y es un equipo que no te pertenece ya que al contable no lo tienes en nómina y posiblemente al que te hace la campaña de marketing tampoco.

Luego está el equipo interno, ese que ves cada día y que no tienen porqué ser los mejores en su trabajo pero sí tienen que saber formar equipo porque cuando una pata cojea el equipo aguanta la mesa.

Creo que no sirve de nada tener las mejores patas del mercado si luego cada una va por su lado y deja caer el tablero.

Be happy!

 

developers

El mito del desarrollador Full Stack

Olvidaos, NO EXISTE.

Los desarrolladores empiezan a estar hartos de empresas que buscan desarrolladores Full Stack y empiezan la oferta con ello. Las empresas hacen esto con el objetivo de captar la atención de los mejores desarrolladores pero creo que empiezan a conseguir justo lo contrario.

La impresión del desarrollador cuando ve esto es «me van a pedir que programe en todo, no voy a tener estabilidad en nada, cuando ya domine un lenguaje me mandarán a otro y volveré a ser ‘junior’ programando en un lenguaje nuevo para mi».

Aún así insisten e insisten. No sé cuál es el problema y la dificultad para entender que esto no es posible.

Si lo analizamos es muy fácil de entender. Este es el ejemplo que pongo siempre en mis formaciones:

Me contrata una empresa para desarrollar aplicaciones móviles (Y en este caso hablo solo de iOS y Android, no del resto de lenguajes que el supuesto full stack domina). En el edificio de al lado hay una empresa que también tiene una empresa de desarrollo de aplicaciones para móviles pero en lugar de ser una persona cómo yo son dos, uno hace Android y otro hace iOS.

Yo soy muy organizado y distribuyo mi tiempo: 4 horas para iOS, 4 horas para Android. En la otra empresa uno hace 8 horas de iOS y el otro 8 horas de Android. Obviamente mis proyectos serán el doble de lentos que lo suyos pero aparte de eso mi nivel de evolución será menor porque estaré asimilando dos tecnologías y profundizando mucho menos en cada uno de ellos.

Voy a poner otro ejemplo claro de una conversación resumida que tuve con un cliente y refleja muy claramente la no existencia (por lo menos desde el punto de vista que yo lo veo) del desarrollador full stack:

Cliente: «Hola necesitaría un programador para una Web que estoy realizando»

Guaica: «En qué tecnología la estás haciendo? ¿Qué necesitas?»

C: «Necesito un programador que sepa PHP, Symphony, mysql, HTML, CSS, Objective C para hacer la aplicación en iOS y java para hacer la aplicación en Android»

G: «ajajjajaja, eso no existe, y si te encuentras alguien que te diga que domina todo eso te está engañando, puede simular que lo domina pero no puede dominarlo»

C: «Cómo que no, hay muchos cracks programando»

G: «Y tanto que sí, pero primero, ‘Crees que esos cracks están libres?’; segundo ‘Cuánto estás dispuesto a pagar por esos cracks?'»

C: «Hombre no sé, la verdad es que os aprovecháis de la demanda que hay»

G: «Es decir buscas un crack y lo buscas barato y ademas buscas un imposible. Te lo analizo: Pides un tio q domine 8 tecnologías. 8… para llegar a 8 qué le dedica una hora a cada una… y dedicándole una hora a cada tecnología cuantos años va a tardar en dominarla… Cuando la domine esa tecnología ya estará obsoleta».

Y así siguió la conversación. Y esto se podría extrapolar a otros profesionales. Ese paleta que viene y te dice que te lo hace todo: fontanería, electricidad, ventanas, carpintería y pintura. O tiene un equipo con un especialista en cada cosa o la confianza que me va a dar es completamente nula.

Be happy!

 

Me gusta ser formador, hoy Hello World

Creo que el desarrollo de software va a ser capital en los próximos años (si no lo es ya) y uno de los trabajos con más futuro. Por esto, y aprovechando que llevo años formando personas en el desarrollo de software, me he animado a poner tutoriales propios en youtube.

Hoy os dejo un simple Helio World en Swift 4