como trabajar con programadores (taller emprending)

Post on 17-Jul-2015

598 Views

Category:

Business

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Cómo trabajar con programadoresTaller Emprending 2015

Martin Becerra@martinb35

Nicolás Morandi

● Experiencias?

● Resultados?

● Problemas?

● Proyectos?

Algunas encuestas

Antes de pensar en un programador para tu app o sitio web...

● Experimentar.● Crear prototipos con tus

conocimientos.● ¡Validar!

Definir un Mínimo Producto Viable (MVP)

Cómo definir un producto

● Explicar problema, solución y target de usuarios.

● Buscar competidores. Ventajas y desventajas.

● Mapa del producto. Diagramas de flujo.

● Bocetos (moqups.com).

● Documentar (escribir, mucho!).

● Ejemplificar con sitios existentes.

● Casos de uso.

Lenguaje ≠ Framework ≠ CMS

Tecnologías y tendencias

Web front-end● HTML

● CSS

● JavaScript

○ jQuery

○ AngularJS

● Bootstrap

Tecnologías y tendencias

Tecnologías y tendencias

Back-end● PHP

○ Laravel

○ Symfony

○ CodeIgniter

● Phyton

○ Django

● Ruby

○ Ruby on Rails

● .NET

● Java

○ Spring MVC

● Scala, Clojure, Go, etc..

Tecnologías y tendencias

Mobile● Phonegap/Cordova

● Objective-C / Swift (IOS)

● Android

● Windows Phone

● Ionic

Tecnologías y tendencias

Content Management Systems● Wordpress

● Drupal

● Joomla

● RefineryCMS

● Magento

Lenguajes

Metodologías de desarrollo

Tradicionales Ágiles

ÁgilesTradicionales

● Proceso lineal● Modelo rígido e

inflexible● Alto costo de cambio● Foco en Planificación y

procesos● Tiempos y presupuesto

predecibles

● Iteraciones cortas● Modelo flexible● Costo de cambio

reducido● Foco en Software de

alta calidad● Tiempos y presupuesto

difícil de predecir

Metodologías ágiles

● Iteraciones cortas

● Fácil de pivotear

● Prototipos o desarrollos incrementales

● Evaluación constante del producto y las

prioridadesStartups like this

Metodologías ágiles: Scrum

● Metodología ágil y flexible para gestionar el desarrollo de software

● Reconoce que los requerimientos del cliente pueden cambiar.

Comunicación

● Ser claros y concisos

● Definir horarios de reuniones o llamados

● Comunicarse frecuentemente

● Probar distintas herramientas y canales

Herramientas de comunicación

Para manejar proyectos:- Basecamp- Trello- Asana- Teamwork

Para manejar proyectos de desarrollo (+ avanzado):- Jira- PivotalTracker- Assembla

Vocabulario

Buscando programadores1. Recomendaciones de conocidos

2. Portales de trabajos freelance

- Workana- Nubelo- oDesk.- Freelancer.com

3. Comunidades y grupos de lenguajes específicos.

- http://grupophp.com.ar/- http://python.org.ar/- Meetups

4. LinkedIn

5. Universidades - Escuelas de desarrollo

- coderhouse.com- itmaster.com.ar

6. Agencias de desarrollo

- Latinbrain.com

7. Consultoras RRHH de IT

- XimpleHR

8. Toptal

Entrevistando programadores

● Pedir portfolio. Ver trabajos realizados.

● Plantear un problema y preguntar cómo lo resolvería.

● Reputación online (LinkedIn, GitHub, StackOverflow, oDesk, Workana).

Identificando buenos programadores

● ¿Es inteligente? ○ ¿Es apasionado? ¿Tiene opiniones propias?

○ ¿Es curioso?

○ ¿Aprende? ¿Se comunica bien?

● ¿Hace cosas?○ ¿Se especializó en algo?

● ¿Quiero trabajar con esa persona?

Una buena receta...

1. Reducir la gran idea a una versión 1.0.

2. Crear una descripción simple.

3. Describir detalladamente el recorrido por todo el sistema.

4. Separar el proyecto en hitos.

Una buena receta...

5. Hacer el primer hito, una proyecto independiente.

6. Postearlo en portales de trabajo (oDesk, Workana, Nubelo, etc).

7. Contratar varios candidatos para el primer hito.

8. Continuar el proyecto con el que más te gustó.

Tips

● Mantener a los programadores motivados● Dar especificaciones detalladas● Cambios de último minuto● Planificar reuniones● Feedback constante● Recomendaciones técnicas● Medios de comunicación

Resumen

● Validar con tus propias manos con Lean Startup.

● Reducir una versión MVP al mínimo.● Elegir programador, no tecnología.● Aprender de las metodologías ágiles.● Trabajar con programadores requiere

mucho trabajo.

Referencias- http://quickbooks.intuit.com/r/online-and-digital-products/terms-know-working-programmers- http://rudyonweb.net/cms-framework-cmf/- http://mashable.com/2015/01/18/programming-languages-2015/- http://qph.is.quoracdn.net/main-qimg-b0d6b2d98ae66f82b2ff77a6c02d099c?convert_to_webp=true- http://www.aaronsw.com/weblog/hiring- https://signalvnoise.com/posts/2628-how-to-hire-a-programmer-when-youre-not-a-programmer- http://www.quora.com/How-does-a-business-person-hire-a-good-developer-programmer-engineer-on-eLance-or-oDesk- http://programmers.stackexchange.com/questions/33816/how-to-recognize-a-good-programmer- https://sivers.org/how2hire- http://en.wikipedia.org/wiki/Scrum_%28software_development%29- https://www.scrum.org/- http://quickbooks.intuit.com/r/online-and-digital-products/terms-know-working-programmers- http://www.guessmate.me/blog/2012/10/10-commandments-for-attracting-and-keeping-great-developers/- http://www.agilemanifesto.org/iso/es/manifesto.html- http://www.agilemanifesto.org/iso/es/principles.html- https://blog.udemy.com/agile-vs-waterfall/- http://agilemethodology.org/- http://www.quora.com/How-do-I-choose-which-programming-languages-for-my-websites-startup

Gracias!

Martin Becerra@martinb35martin@latinbrain.com

Nicolás Morandi@nicolasmorandi

nicomorandi@gmail.com

¿Preguntas?

top related