31
Ya estoy aprendiendo a programar ¿y ahora? por Carlos Toxtli

Ya estoy aprendiendo a programar ¿y ahora?

Embed Size (px)

Citation preview

Ya estoy aprendiendo a

programar¿y ahora?

por Carlos Toxtli

Carlos Toxtli Hernández15 años de experiencia en TIAdicto a la tecnología

Presentación

● Si no estuviera tan enamorado de la programación no me pararía ahorita enfrente de ustedes a compartirles mi experiencia.

Comencemos

● 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!

● 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!

● 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

● 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

¿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.

● 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 ...

● 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

● 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

Me gustan muchos lenguajes, pero los que más son: Javascript, PHP y PythonLos que le siguen son: Ruby, Java y C#Y después le siguen: Los demás.

¿Y a mi que te gusta?

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

● 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

● 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

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

● 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

● 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

Sigue las guías de estilo de código de Google.https://github.com/google/styleguideSi 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

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

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

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?

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

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

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

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

¿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/

Tendencias tecnológicas

● 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

Les dejo mis datos donde subiré la presentación:

facebook.com/carlos.toxtligoogle.com/+CarlosToxtli

Gracias