Oportunidades y consecuencias

 Diversas oportunidades

Todos creen saber lo que realmente te conviene al grado de sugerirte diversas oportunidades de desarrollo personal, la imagen de un hombre en traje dueño y señor de compañía multinacional es la imagen de éxito la cual todo mundo tiene de alguien que ha logrado todo en la vida, los estereotipos no ayudan de mucho y menos el forzar a un trabajo el cual no nos llama la atención más sin embargo no se debe frenar el hecho de probar y experimentar, depende la persona esto es tomar un riesgo.

Comunidad online desde cero

El crear una comunidad implica muchas cosas, de entre ellas la mas importante es el tener un espacio dedicado en la red, sobretodo para tener comunicación y participación constante de sus diferentes actores y miembros.

Herramientas

Para esto se necesita el uso de herramientas que nos permitan la colaboración interactiva y dinámica, esto se puede lograr por medio de grupos en facebook, chats en slack e incluso un wordpress como foro. Todas esta herramientas separadas ofrecen ciertos beneficios pero no lo son todo, ya que muchas cosas de las que necesitamos quedan fuera.

A esto me refiero a lo que son los newsletters, la recopilación de emails, en si el tener un espacio dedicado, único en el cual se pueda desarrollar la comunidad de manera sana y vaya creciendo en miembros y en contenido.

Una de las herramientas que he encontrado recientemente ha sido Telescope que es una aplicación en meteor muy interesante en como esta estructurada y todas las capacidades que ofrece, hasta el momento y en su fase de desarrollo beta ya contiene muchas características que no he visto en ningún lado.

Adopción

Se encuentra en varios sitios funcionando con comunidades bastante activas, que incluso se han unido al proyecto para contribuir a su desarrollo.

 

Haciendo realmente lo que quieres

Realmente que hacer

Nadie nace sabiendo lo que quiere hacer en esta vida, es realmente un esfuerzo de experimentar con varios tipos de roles, hasta encontrar eso que te genera satisfacción, puede que se deba también a varios factores como el lugar, las personas y el ambiente.

Barreras

A partir del momento en que decidas comenzar algo nuevo es normal encontrar personas que te pondrán limites y barreras mentales al decirte que lo que pretendes esta mal, es incorrecto o no es normal, la verdad es que hay que acostumbrarse a este tipo de cosas y gente que no entiende y que teme a los cambios.

Descubrimiento

Cuando lo hayas descubierto lo sabras ya que aún así lo hagas todo el día el cansancio de mantener tus ojos abiertos sera el único mecanismo de freno natural para dejar de hacerlo al menos por ese día.

Es posible encontrar eso que realmente quieres simplemente probando con nuevas actividades fuera de tu zona de confort, puedes intentar lo siguiente:

  • Atreviéndote a aprender nuevas habilidades.
  • Apoyar a alguien mas en algún problema desconocido para ti.

Aquí lo que importa es la paciencia y la perseverancia ya que estas son la clave para lograr que cualquier actividad se vuelva en un nuevo habito.

Aprende y emprende Constancia es la clave

Seamos honestos todo lo que te están enseñando hoy día en un salón no te servirá de nada ya que carece de contexto al dejar de lado la realidad por un edificio con paredes de cemento que no deja nada a la experimentación.

Hoy mas que nunca los medios digitales permiten el consumo de contenidos educativos de alta calidad, al grado de tener lecciones de Stanford y Yale a nuestro alcance, también el contribuir y participar en clases online gratis que nos guían a travez de temarios relevantes y actualizados que facilitan la adopción de nuevas habilidades.

Existen bastantes sitios en los cuales se pueden encontrar cursos de todos los tipos desde cocina hasta mecánica, la realidad es que no existen limites en cuanto a los cursos que en te puedes enrolar, dependerá de tu tiempo y constancia el terminarlos.

Investigar

Más sin embargo puedes rescatar el hecho de que aprenderás a investigar y aprender por tu propio esfuerzo ya que el maestro pasa de ser alguien quien entrega la clase a un simple facilitador el cual objetivo sólo es guiarte en tus dudás o problemas que tengas al entregar contenido.

Aprende

Entonces aprende a que todo lo nuevo sobre todo en tecnología, implica el constante aprendizaje de cosas interesantes cada dia y que muchas veces sera tedioso pero al final valdrá la pena y obtendrás buenos resultados.

A falta de CTO aprenda a usar SAAS

SAAS como ventaja competitiva

Despues del la concepción inicial de la idea o producto a lanzar se debe tener en cuenta que la mayoría no necesita un programador en el inicio, al contrario si se sabe de ciertas herramientas y conceptos basicos es muy posible lanzar un beta funcional en poco tiempo.

Muchos productos se han iniciado de este modo al tener poca habilidad técnica, teniendo limitaciones las cuales al final resultan beneficiosas, ya que retan al ingenio el reemplazar y al mismo modo “hackear” herramientas que permitan realizar cierta tarea que de otro modo se necesitaría de un programador.

Mas que herramientas hoy dia encontramos diferentes servicios SAAS que nos permiten captar, medir, mostrar, manipular y extraer información la cual necesitamos en nuestro modelo de negocio, estos servicios pueden adquirirse comúnmente en versiones “fremium” que mucho despues y si realmente el producto es bueno vale la pena hacer el “update” a una version pago.

Para comenzar es recomendable recurrir a estos servicios y evitar lo mas que se pueda el gastar, ya que el reto es gastar 0% en software y operar desde el primer dia sin generar gastos innecesarios.

  • Typeform: creación de formularios
  • Google Drive/Docs: Office
  • Mailchimp: Newsletters
  • ZOHO CRM: Base de contactos/clientes.
  • Zapier: Conexión en entre aplicaciones B2B
  • IFTTT:  Conexión en entre aplicaciones enfocadas a B2C
  • Slideshare: Publicaciones de presentaciones
  • Powtoon: Creación de “pitch” en videos

Estas dos ultimas cuentan con un catalogo lleno de muchas aplicaciones las cuales se pueden utilizar para diferentes propósitos, es recomendable darse un tiempo para desarrollar un proceso el cual puede ser flexible e ir evolucionando a como va cambiando el producto.

Startup Weekend experiences

On my most recent startup weekend which was in august I had a blast having the opportunity to work with the most talented people around, they got  lucky as well by having me as one of the developers ;).

Here some tips and advice to make most of your time during the event, and the end of the day is not about which team is the best, is all about having fun and discovering great people with who you might keep in touch after the event and work together in some other projects.

Day One

On day one we pitched, two of the ideas we had in mind, I did the second idea and my pitch was really bad I have to recognize I need to improve in the pitch area, I got nervous and started wasting time, but at the end we got one of the ideas selected by the people. I did not code that night, I saw some other dev people getting ready for the night as I was packing to go home and have some rest. Next day I woke up early and getting my mind ready for the rush and intensity that needs to make this happen, being this second time I participate in a similar event.

“Our winner idea was a hotel tonight like app but to stay for hours instead of nights”

Startup Toolset

So it began, we needed a landing page a nice one, with our own branding and nice design, so I quickly grabbed the following:

  • Bootstrap
  • Heroku
  • Rails
  • DNSimple
  • Mailchimp
  • Mixpanel

And bam! it took only a couple of hours to get it running, it was sad to see some other people trying to set up some of the tools they provided at the event like a google app engine box which requires a lot of previous reading and understanding, some other trying to set up AWS which by itself takes some time to set up, and all others who used services like wordpress, weebly etc, A couple of minutes later we needed an app so we did a webapp, no too many time to code a native one, no time to lose.

So the other developer which was having a hard time trying to get rails up and running on his machine, he had front end experience so he took care of it and started modifying a bootstrap template and making it look nice on iPhone.

We had everything setup by Saturday afternoon, a nice landing page with a nice little app with the listing and pricing. During that time we got lots of activations and people added to the mailing list around 60, after lunch we started to have questions about if it was real and if it was ready for use, so then we said yes! it’s ready.

Ok shit got real so now we needed a way to start charging for the rooms and setting up the mails with the confirmation and payments. For these I used a personal paypal account linked to the instance we had running on heroku, and it worked just fine. Later on the business people started working on getting more rooms so they got out of the building in other to get more customers.

On the social media department we had a lot of help with someone really savvy on both design and marketing, so she took care of it and it was really funny to have a lot traction using catchy phrases related to rooms by the hour, By Sunday we had everything in place and ready to kick butt in the last presentation.

Big time came and we pitched the product which got a second place, I was absolutely fine with it, it was not fair to have first place just because we got something working really fast, I think the judges were evaluating some other things like business and estimations  more than having the product ready to kick butt.

Long story short, this was a nice experience and I think it will be a breeze if you take in consideration the following advice which I hope works for you in a similar situation.

  1. Know your tools: Don’t focus on scalable at this point, just worry about getting something of the ground and show stuff.
  2. Let them do their job: key people should be working on their key areas, delegate and split work to the most capable person in the pool.
  3. Socialize but keep in mind that you must ship: Take breaks to stretch and chat around but don’t waste time having meaningless conversations.
  4. Get out of the building: this is not a dev related one but it deserves mentioning that thanks to the people who went hunting we got a lot more validation.
  5. Be DRY: Last but not least don’t repeat yourself, if you have pieces of code of some other projects you can use, go ahead and put in place, It will save you a lot time.

Rock fetching never again

A big rock in development will be always requirements, and we all now that some people does not understand how to write good software documentation.

Your boss: “Bring me a rock.”

You, after bringing back a rock: “Here is a rock for you.”

Your boss: “I don’t like that one. Bring me a different rock.”

You, after getting a different one: “How about this one?”

Your boss: “No, I don’t want that one either.”

You: “What’s wrong with it?”

Your boss: “I just don’t like it.”

You: “What kind of rock are you looking for?”

Your boss: “A better one than that one.”

You: “Better how?”

Your boss: “You know, better. Rockier. More rock-like.”

You, confused and hesitating: “Uhhhhh.”

Your boss: “What are you waiting for? Bring me a rock.”

Most people find rock fetching irritating.

Happened to you?

Universidad Hacker

Pienso que para muchos de nosotros hubiera sido una gran ayuda contar con el siguiente programa al entrar a la universidad:

Web development Stack:

  • Browsers
  • HTML
  • CSS
  • JavaScript

Select Lenguaje:

  • PHP
  • Python
  • Ruby
  • Go

Backend Program:

  • AWS
  • Heroku
  • BASS
  • PASS

Frontend Program:

  • SASS
  • LESS
  • Angular
  • jQuery

Mobile development Stack:

  • Java
  • Android
  • iOS
  • API

Server Tecnologies:

  • NodeJS
  • Apache
  • Unicorn
  • Nginx

Databases:

  • SQL
  • NOSQL

Methodologies

  • Agile
  • Lean
  • Scrum
  • Kanban

Tools

  • Vagrant
  • Capistrano
  • GIT
  • Monitoring

Crea tu propio framework y únete al club

Hoy día el tener y ser creador de un framework puede significar un estatus incluso un objetivo y deseo personal de culminar un sueño de ser creador de algo propio que te permita hacer lo que según crees ningún framework existente puede hacer, lo que muchas veces es una falacia ya que hoy día existen cientos de frameworks que te permiten hacer cosas cien veces mas rápidas y automatizar procesos de desarrollo.

Pero que pasa, muchas veces la soberbia de querer controlar el desarrollo y adueñarse completamente de la funcionalidad de un sistema en particular, causa que se cree una torre de cartas las cuales solo el creador sabe como se construyo y nadie fuera tiene documentación ni comentarios de cómo funcionan los métodos personalizados.

En el desarrollo

En cualquier desarrollo esto significa la muerte del proyecto una vez que la persona a cargo se va, en este caso el señor desarrollador que por no utilizar un framework open source prefirió crear el suyo propio, ya que el mantener el desarrollo sobre algo que no esta documentado es muy frustrante y depresivo, es por eso que hoy en día se debe de tener mucho cuidado de caer con personas de esta mentalidad de ambos lados teniendo en consideración lo siguiente:

Como desarrollador siempre al iniciar un proyecto es bueno saber de lado a lado en que consiste el sistema en el cual vas a trabajar en un dado caso que este ya creado el indagar con que herramientas esta construido, base de datos, lenguaje de programación, framework y versión, además de investigar si se hicieron plugins o extensiones propias del modelo de negocio, ya que mucha s veces esto puede atraer problemas al no saber por donde comenzar.

Como cliente es muy importante el al menos saber lo básico en herramientas de desarrollo e informarse con algún amigo programador, porque si es bueno el consejo no se cobra, así el también el preguntar por referencias, pero lo mas importante el conoces que herramientas utiliza y que actitud hacer dejar algo en pie para que otra persona lo pueda tomar y seguir con el desarrollo.