El documento presenta una charla sobre programación dada por Carlos Toxtli. Carlos comparte su experiencia de 15 años en TI y habla sobre diferentes temas relacionados con la programación como lenguajes de programación, tipos de programadores, ámbitos laborales y consejos para mejorar. Alienta a los asistentes a seguir programando, aprendiendo nuevas tecnologías y creando proyectos personales para desarrollar sus habilidades.
4. ● Si no estuviera tan enamorado de la
programación no me pararía ahorita
enfrente de ustedes a compartirles mi
experiencia.
Comencemos
5. ● Como me hubiera gustado de chico haber
entrado a algo así.
● Si se que el enfoque no es crackear, pero
… se aprende mucho “hackeando”.
● Sí así como suena, un buen “hacker” sabe
exactamente como hicieron una página
por ejemplo y sabe que pudo haberles
faltando o fallado.
¡Uy una Hacker School suena bien!
6. ● Yo cuando iniciaba y veía que había mil y
un tecnologias, decía “¿y pos por cuál
empiezo y pa que sirven?”.
● Después de 15 años de andar codeando
creo que tengo la respuesta, ¿la quieren
saber?
¡Uy cuántas tecnologías!
7. ● Todo depende del programador que la
proponga o de la empresa que la
imponga.
● Veamos veamos veamos.
● Analizemos los tipos de programadores.
Hablemos de programadores
8. ● El que programa para vivir: Estudió
sistemas, no son muy buenos y
programan porque deja dinero.
● Los certificados: Los que se vuelven
expertos en una tecnología, no exploran
más y solo en esa son buenos.
● Los que les gusta: Los que prueban
nuevas tecnologías y hasta emprenden.
Tipos de programadores
9. ¿Y qué tecnologías se usan?
● Bien, dependiendo del programador o el
arquitecto de sistemas que defina una
plataforma.
● Un programador certificado en Java o
.NET siempre lo hará en ellas.
● El que lo hace para vivir suele ser mano
de obra de los más usados.
● El que le gusta propone que se va a usar.
10. ● Si inicias tu propio proyecto hazlo en la
tecnología que más te haya gustado, por
ejemplo Facebook se hizo en PHP, Twitter
en ruby, Google en Python y C, Airbnb en
Javascript, etc.
● Pero que pasa si te empleas de
programador ...
Así que ...
11. ● Me voy a echar la soga al cuello, pero
puedes saber el tipo de jefe que te tocará
dependiendo la tecnología que te pidan.
● Si es una de las actuales que estás
aprendiendo da por hecho que quien la
propuso es buena onda y le gusta
explorar, la pasarás muy bien.
Los jefes buena onda
12. ● Hay plataformas muy robustas con miles
de reglas que suelen estan en Java (con
miles de frameworks encima) o en .NET.
● En estos trabajos suele ser trabajo
mecánico, no es aburrido porque está
lleno de retos, pero suele haber jefes un
poco más cuadrados.
Los demás
13. Me gustan muchos lenguajes, pero los que
más son: Javascript, PHP y Python
Los que le siguen son: Ruby, Java y C#
Y después le siguen: Los demás.
¿Y a mi que te gusta?
14. He tenido la oportunidad de trabajar en el
ámbito personal, privado, público,
internacional y corporativo por lo que puedo
compartirles lo que he vivido.
Un poco de mi experiencia
15. ● Se suelen usar tecnologías muy cerradas,
gran parte del gobierno tiene servidores
Microsoft y se pide se desarrolle en .NET
o Java.
● Es godin.
● Muchas veces es mantener sistemas
existentes y se hace mucho desarrollo
interno como webservices.
Ámbito público
16. ● Dependiendo el sapo es la pedrada.
● Si paga poco se suelen hacer en PHP y
con plataformas hechas.
● Si se hacen plataformas para integrarlas a
las propias se suele usar algo estándar
como Java.
● La tecnología depende del arquitecto de
software por lo general. (o del cliente)
Ámbito privado
17. Al menos en Naciones Unidas gran parte de
los servidores eran Microsoft o algunos
basados en Linux.
No se hace mucho desarrollo interno ya que
se subcontrata y por lo regular en Java ó
.NET.
Se utilizan muchos tipos de CMS.
Ámbito internacional
18. ● Aquí es donde posiciono al
emprendimiento
● Aquí hay completa libertad. No importa si
lo empiezas en una tecnología no muy
óptima, con el tiempo puedes optimizarlo.
● Emprender programando tiene costo cero,
cambias de jóven a empresario con unas
cuantas lineas de código.
Ámbito personal
19. ● Aquí es donde posiciono a las grandes
empresas de software.
● No suelen ser muy flexibles.
● En Google por ejemplo usan python, C y
java principalmente. Se está empezando a
usar Go internamente cada vez más.
● Y aquí hay que saber cosas extras ...
Ámbito corporativo
20. Sigue las guías de estilo de código de
Google.
https://github.com/google/styleguide
Si algún día te habías preguntado como es
el código de Google, ahí encontrarás las
respuestas.
Los consejos de las grandes ligas
21. Que tu código sea legible y entendible por
otros programadores es lo más importante.
Dominar esto toma tiempo pero es una
buena práctica.
Readability la palabra clave
22. Recuerda que debes saber cuando usar
estructuras de datos como:
Arreglos, listas, árboles, grafos, mapas, etc.
Además dominar el uso de recursión y
patrones de diseño.
Estructuras de datos
23. La respuesta es muy sencilla, haciendo
muchos proyectos personales.
Emprende varias startups, fallarás mil veces
y triunfarás otras tantas.
¿Cómo me hago bueno?
24. Todo lo que hagan aquí lo pueden incluir en
su curriculum ya que tienen como comprobar
su experiencia en una tecnología.
Crea tu CV
25. Afortunadamente es muy sencillo.
Hay pocos programadores que son buenos y
creanme que he conocido a muchos
muchos.
¿Saben como detectar a los buenos?
Porque te hablan con pasión de que están
haciendo y cómo lo están haciendo.
Como consigo trabajo de sistemas
26. Recuerda que no puedes a llegar a ser muy
bueno si no te enfrentas a múltiples retos.
No importa si no sabes una tecnología, la
puedes aprender muy rápido, las bases
siempre son las mismas y de hecho es lo
único que debes de saber.
No te cotices
27. Se dice que empiezas como programador jr,
después senior, después de arquitecto de
sistemas, después ya de administrador de
proyectos y finalmente en un puesto
directivo. Pero no por escalar debes dejar de
programar, no hay razón alguna. Los
principales CEOs de tecnología programan.
Se dice que es una etapa
28. ¿Como me sigo actualizando?
Realiza proyectos de prueba en nuevas
tecnologías, en internet hay mucho material
pero un sitio que siempre recomiendo es:
http://www.tutorialspoint.com/
30. ● Estan aprendiendo un nuevo hobbie.
● Programen y programen y programen, y
cuandos e cansen, sigan programando.
● Nunca dejen de aprender nuevas
tecnologías.
● Creen nuevas tecnologías.
Conclusiones
31. Les dejo mis datos donde subiré la
presentación:
facebook.com/carlos.toxtli
google.com/+CarlosToxtli
Gracias