jueves, mayo 31, 2007

ZendConf! Why not?

Como parte del mejor y más creativo equipo de desarrollo en el mundo, me vi forzado por nuestro CEO a enviar una propuesta de conferencia a ZendConf07. La comparto (en inglés):

***

Speaking experience
+ Invited to give a conference at 'Software engineering week' at IBERO (University at Mexico City) 2000
+ In charge of teaching an advanced and beginner PHP programming workhop for the International Software Engineering Symposium at the Monterrey Institute of Technology ITESM (2002, 2003, 2004; invited three times)
+ Invited to give a opensource conference and a PHP workshop at University of Guadalajara (Ocotlan) 2004
+ In charge of all training at Innox 2003-Now

Bio
+ Bachelor degree in Software Engineering at ITESM (Monterrey Institute of Technology)
- Part of an student exchange program at Dalhousie University at Halifax, NS. Canada
+ PHP Certified Developer 2005
+ MySQL Certified Developer 2007
+ Software development freelancer 1998-2003
+ Software developer / Project manager / Chief architect 2003 - Now @ Innox

Abstract
PHP is great. MySQL is excellent. Apache non the less. All together: the best stack a team can have to achieve goals, make dreams come true, and first of all create awesome pieces of software.

Technology is only the 50% (or less) of the tools a group of people can have in order to create great software. This presentation will tell a story; how we achieved:

- Learn from 0 how to develop software with opensource (LAMP only) tools
* Some customers thought PHP was for small webpages, MySQL for gaming, and Linux for geeks

- We specialized our selves 100% on PHP and MySQL
* First Mexican Company with PHP certified developers
* First Mexican Company with MySQL certified developers
* 8th Mexican company to achieve CMMi2 certification
-- Even though some people thought we were to small to achieve certifications of any type -- Opensource enabled us to shut them up

I will not try to make a marketing speech regarding Innox; I will show how we push PHP, CSS, XHTML, XSL, CVS, SVN, Linux to the extreme working as a team.

I'll also explain how proprietary innovation methologies, CMMi best practices, team management strategies, requirement development techniques, and a lot of common sense, helped us to created one of the best and most creative software development teams of the world due our ability to solve problems, materialize dreams, and manage ourselves as a productive team.

Comments
* Non marketing speech
* Lot's of stories, pictures, techniques, problems we faced and how we solved them, our former vision, our actual vision
* First source code, nowadays source code
* First database design, nowadays database design
* The difference between one programmer and ten programmers working on the same source code
* How CMMi changed our lives
* How we demystified PHP and MySQL limitations
* Why certifications are important to us (we don't care about the diploma)

sábado, mayo 19, 2007

MySQL Conf 2007

Invertiré una buena cantidad de tiempo en conceptualizar en algo útil la cantidad de información que se generó en MySQL Conf 2007, en Santa Clara, California. Estoy armando un mapa mental con FreeMind ya que documentar en prosa todas mis observaciones resultaría en un mal estructurado cuento que al final diría todo para que el mundo entienda nada.
Mi objetivo es lograr transmitir a todo mi equipo las experiencias transmitidas, nuevo apredizaje (en el evento y gracias al proceso de certificación) así como generar tareas de investigación más profunda en nuevos conceptos y técnicas. Finalmente generaremos un legado de buen material para los nuevos reclutas en nuestro equipo de desarrollo.
Esto al final no me evita después de 3 semanas dejar unos pensamientos para, por ahora, darle punto final al tema:
  1. Mucha gente critica las certificaciones porque personas las utilizan exclusivamente para poblar su egoteca (dada la complejidad de algunas de ellas, bien se justifica)
    En nuestro caso van tres veces que entramos en el track de certificarnos en algo; en todas estas iteraciones hemos generado mucho conocimiento, nos hemos actualizado y el examen certificador nos resulta en una excelente excusa para tener una fecha de entrega y evaluación de lo aprendido.
    En parte, gracias a estar comprometidos por nuestra capacitación continua, Innox es la primer empresa en México con personal certificado en PHP y MySQL; no dudo sea uno de los equipos más capaces y creativos del mundo en el desarrollo de aplicaciones WEB enfocados a simplificar la vida con soluciones únicas para las labores cotidianas de todos nuestros clientes

  2. Después de ver cómo Youtube, Flickr, Wikipedia, Yahoo, Google y Fotolog (entre otras) estructuran sus aplicaciones para que soporten alta carga de usuarios y alta disponibilidad, puedo converger que la creatividad, diseño y experiencia puede más que usar enormes servidores, bases de datos comerciales costosas o inversiones estratosféricas en recursos informáticos. Con MySQL, PHP y hardware común se puede solucionar el 99% de los problemas que el software forme parte de la solución (conclusión que polariza)

  3. El primer mundo genera más tecnología de información no porque su gente sea más capaz o creativa. México tiene todo lo que se necesita para generar todo y más en el mundo de la informática (así como el resto de los mundos), pero ¿entonces qué pasa? veo como la gente de Canadá, Suiza y EUA (que fue con quien tuve algún contacto) tienen tan solucionado el problema económico (a nivel de empresa y persona), que se pueden dar el lujo de: crear, innovar e implementar con un alto grado de pasión y profesionalismo. Veo que este factor impacta sobremanera nuestro desarrollo, la persecución de la chuleta nos evita ver algunas oportunidades en la larga carrera: depende de nosotros quitarnos dicha limitante que frena más la mente que los hechos.
    Adicionalmente puedo percibir algunos factores culturales que pueden diferir de los nuestros en algún nivel:
    - Cuentan con pasión por un trabajo de calidad en una persecución constante del reconocimiento
    - Persiguen de tiempo completo el detalle rayando constantemente en la impracticidad mexicana
    - El lenguaje inglés es más exacto que el español; la ambigüedad y demagogia de este último nos hace pensar de igual manera
    - Procuran que la excelencia sea regente: no una excepción que sobresale

  4. Veo tecnologías que aparentaron ser comunes para mucha gente; en lo personal requeriré más investigación y/o implementación:
    1. Memcache
    2. Valgrind
    3. Topologías para implementar clusters
    4. Topologías para implementar replicaciones
    5. Topologías mixtas de clusters con réplicas
    6. SQUID y lighttpd para manejo de caches y distribución mixta de contenidos
    7. Conceptos de optimización para BD
      1. Configuración interna en MyISAM e InnoDB (conceptos avanzados)
      2. Estructura de consultas (como el optimizador de MySQL funciona)
    8. Uso creativo de cachés y la búsqueda constante de evitar la base de datos
Mucho texto y algunas ideas concluyen esta entrada

Etiquetas: , , , , , , , ,