El lado oscuro de la programación
-
Upload
carlos-toxtli -
Category
Software
-
view
3.980 -
download
3
Transcript of El lado oscuro de la programación
¿De qué vamos a hablar?De todo aquello que nadie nos dice de la programación, porque no les
conviene que lo sepamos
Del futuro de la programación
De que hay más allá de lo que se nos enseña, de lo que nadie nos enseña y seguramente nadie nos lo enseñará.
De cuánto ganan los que saben las artes ocultas de la programación.
De qué materias sirven y cuáles no tanto.
De que seguramente les dará miedo seguir los pasos que veremos, pero los que lo sigan, llegarán muy alto.
Lo que todos hacen¿Web? ¿Mobile? ¿Desktop? ¿Embedded?
Muchas veces vemos hasta donde nuestro entorno nos permite ver.
¿Para que estudiar para astronauta si en donde vivimos no se hacen viajes espaciales?
Pero en otros lados sí.
Y pocos se atreven a hacer lo que no está en su entorno.
Pero los que se atreven …. llegan más lejos que cualquier otro (incluso al espacio).
En programación pasa lo mismo.
Si programo ¿A que me voy a dedicar?Muchas veces el que programa, piensa que es un programador.
Y es normal, no se nos dice que un programador tiene super poderes.
Alguien que estudia veterinaria va a ser veterinario.
Pero alguien que estudia programación será lo que quiera, solo aprendió un idioma.
Un veterinario atenderá tantos animales puedan llegar a su consultorio.
Un programador atenderá tantos millones de usuarios lleguen por internet.
Un programador es automáticamente empresario, eres el CEO de tu desarrollo.
El entorno no importaImaginen a una persona de marketing tradicional en un pueblo chico ¿Qué va a hacer?
Ahora imaginen a un programador en Groenlandia
Si el creador de PHP lo creó en el rincón más recóndito de Groenlandia
Ahora imagine a un programador en un lugar recóndito de Ucrania que vivió toda su vida sin agua caliente.
Es la historia del creador de Whatsapp y vendió su compañía en 19 billones de dolares
Tu entorno es internet, no donde vives, tus posibilidades no es lo que ves a tu alrededor, son infinitas.
Te enseñarán lo que quieren que sepas¿Web? ¿Mobile? ¿Desktop? ¿Embedded?
Si está bien saberlo, sobreviviremos bien con los pesos que nos paguen por ello.
¿Pero ya hay muchos que lo hacen no?
Ahora se preguntarán ¿Donde aprendo todo lo que no es eso?
La respuesta es en ningún lado
Si tu no lo aprendes, nadie te lo enseñará.
¡Exageras! me dirán, ¿Crees que alguien que gana 20 veces más te va a querer enseñar lo que sabe?
¿Y lo que veo en la escuela sirve?Depende …
Sin duda la clase de “Algoritmos y estructuras de datos” es la materia más importante de cada carrera de sistemas, de hecho es lo único que te piden saber las grandes empresas. ¿Pero porqué? ¿Ellos que saben que nosotros no?. La respuesta es muy sencilla.
Lo importante es “saber justificar” un algoritmo, no hay reglas de como hacer “bien las cosas”, pero si puedes en términos técnicos justificar tu código, es lo único que demuestra que sabes lo que haces.
Pais maquiladorAsí como se mandan a ensamblar coches a nuestro país, también se manda a hacer software.
¿Qué sirve que sepamos? Lo básico: Web, Mobile, Desktop, Embedded, etc.
¿Y porqué casi no se contratan de otras áreas de programación? Porque en el país no se produce gente que sepa todo lo demás.
Los países líderes si tienen esos perfiles, y es el secreto de su desarrollo, pero volvemos al mismo punto, no está en nuestro entorno, no lo aprendemos. El mismo ejemplo del astronauta.
En este punto se preguntarán ¿Qué hay más allá?Es muy probable que no nos vengan a la mente cosas diferentes a Web, Mobile, Desktop y Embedded, y es normal, no está en nuestro entorno.
Si no sabemos que existe algo, no lo podemos ni contemplar.
Si sabemos que algo existe pero no lo podemos implementar donde vivimos, lo descartamos.
Si no sabemos que podemos ser ciudadanos del mundo de forma sencilla (Flag Theory por ejemplo), no podremos ver que tenemos esa oportunidad.
Un ejemplo, no necesitas vivir cerca de la NASA para colaborar, basta con unirse a un grupo en línea y colaborar, eso te traerá oportunidades.
Pero no nos has dicho que hay más alláComo les dije, si buscas quien te enseñe lo que deseas saber, seguramente es que no lo deseas, ya hubieras empezado.
Y yo no les voy a decir que hay, les voy a enseñar como ustedes descubrirlo.
Si ustedes aprenden a conocer lo desconocido para el resto del mundo, entonces ustedes llegarán tan lejos como lo desees.
¿Y cómo podemos conocer estas ramas ocultas de la programación?
Fácil, viendo al FUTURO
Echémos un vistazo al futuro.
Vista al futuro en los próximos 10 añosEn la Hype Cycle se muestran las tecnologías que en máximo 10 años dominarán nuestro entorno.
Los que sean expertos en esas ramas son los que dominarán el mercado.
Ya sabemos que pasará de aquí a 10 años, ¿Qué fácil es ser exitoso en estos días no?
Solo te vuelves experto en cualquiera de esas áreas y listo.
Les apuesto a que muy pocos de aquí se atreverán.
¿Porqué? A pesar de que les estoy dando la clave del éxito, si piensan que su entorno es su ciudad, no verán que cualquiera de estas oportunidades están a un click de distancia.
Igual y falta motivaciónOk ya les estoy diciendo con lo que ganarán 20 veces más que cualquiera si se emplean, o con lo que pueden fundar una empresa multimillonaria.
Supongamos que nuestra motivación principal es el dinero.
Veamos esto en números.
Senior Java DeveloperUn programador experto en Java EE que son aplicaciones tradicionales para empresas gana mensualmente en promedio $34,174
Es sencillo ser Data ScientistSi quieres ganar eso solo aprende esto (que no se suele dar todo en escuelas):
Big Data
Small Data
High Quality data
Behavioral targeting
Machine Learning
Reality mining
Information Extraction
Knowledge discovery
Knowledge base
Data Mining
Ontologies
Ontology-based IE
Ontology learning
además ...
y también ...Semantic Annotation
Terminology extraction
Data Archaeology
Semantic Web
Sentiment analysis
Opinion Extraction
Opinion Mining
y luego ...Text Mining
Corpus linguistics
Computational Linguistics
Computational Psycholinguistics
Natural language processing
Automatic summarization
Coreference resolution
y sumemosle ...Discourse analysis
Questions and Answering
Machine translation
Data warehousing
Morphological segmentation
Deep Learning
Signal processing
y ya para acabar ...Pattern recognition
Data processing
Data management
Latent Dirichlet Allocation
Topic Modeling
Data visualization
etcetera ...
Parecen muchas cosas, pero ¿si o no en menos de un año de estudio por tu cuenta te vuelves experto en todas y cada una de ellas? Seguro que sí.
Y para ser experto solo ten trabajo de evidencia que mostrar aunque sea en proyectos personales.
De nuevo te estoy dando una fórmula muy sencilla del éxito.
¿Acaso alguien se atreverá?, Espero el día de mañana alguien de ustedes me contacte y me diga “Soy data scientist en XXX parte del mundo”
No es sarcasmo de verdad es fácil
Si tu motivación no es solo el dineroEntonces te tengo más noticias buenas para tí.
Si los retos son tu motivación, entonces llegarás aún más lejos, ¿Cómo?
Un reto implica hacer algo que nadie ha hecho y que no tienes en que basarte, el lograrlo depende 100% de ti.
¿Suena emocionante no?
Si tu respuesta es no, seguramente tendrás resultados antes vistos, si tu respuesta es sí, seguramente tendrás resultados nunca antes vistos.
Pero hay que saber algunas cosas antesLos humanos dejamos de evolucionar hace mucho tiempo, las computadoras evolucionan constantemente, por lo que.
Las computadora cada día nos superan más. Ya contamos con computadoras que razonan y computadoras 3 veces más poderosas que nuestro cerebro.
Nuestra labor actual “No es crear programas”, es empoderar a las computadoras para que resuelvan nuestra vida y atiendan a los demás.
Una computadora es una ayuda, si hace mejor lo que antes hacíamos, ahora tendremos más tiempo, es por eso que debemos empoderarlas.
Lo inevitableLes resonarán mis palabras en poco tiempo, pero la visión actual de los sistemas es la tendencia de dejar de hacer programas que sean herramientas para la gente, ahora serán entes que sustituirán a la gente.
El próximo gran perfil de puesto será el de asistente de bot, el cuál se encargará de entrenar y evaluar el desempeño de programas que realizan tareas humanas para que cada vez las hagan mejor.
La singularidad es inevitable y es muy probable que nos toque verlo en vida.
Bot DeveloperEl App Developer poco a poco dejará de ser atractivo para las empresas y se enfocarán en programadores de bots, porque no hacen herramientas que ayuden a la gente y la empresa siga pagando las mismas cantidades de sueldos, en vez de eso pagarán por bots que reemplacen gente y paguen menos sueldos.
Esto es hoy una realidad, mucho de mi trabajo actual es ese ….
Y seguro muchos se preguntarán ¿Y dónde aprendo eso? y mi respuesta sigue siendo NADIE te lo enseñará, no es algo estándar que se aplique 2 veces igual. Debes investigar por tu cuenta y llegar ese conocimiento, solo necesitas saber programar.
Algo más que deben saberLa inteligencia artificial tuvo muchas expectativas hace años, pero no había ni los algoritmos ni la capacidad de cómputo para demostrar su potencial.
El día de hoy son un hecho, solo que nos hemos dejado de sorprender al eventualmente irse presentando en nuestras vidas como por ejemplo las sugerencias de Google nos fueron “preparando”.
Pero hay algo que muchos no saben y por eso piensan que la inteligencia artificial es dificil, y es que “no hay reglas en la inteligencia artificial”. Si haces algun algoritmo que tenga tu inteligencia plasmada para resolver algo, eso es inteligencia artificial. No es aprender modelos que solo aplican a casos muy específicos.
El problema no se ajusta al código.
¿Qué hay más allá?¿Vieron como solo exploramos una rama del Hype Cycle y se derivaron muchas actividades que hacen programadores y que no son Mobile, Desktop, Web y Embedded?
Si exploramos cada rama descubriremos cientos o miles de habilidades que están siendo altamente demandadas (tal vez no en nuestro entorno cercano) que son muy bien pagadas y hay muy poca gente capacitada en el mundo para cubrirlas.
¿Si o no sabiendo el futuro es un atajo fácil para emprender o para posicionarnos como líderes en una rama de nuestro interés?
¿Quieren más ejemplos?
Algo de lo que hay más allá¿Porque no programar computadoras cuánticas?, ya varias instituciones tienen y no hay quien las programe.
¿Porqué no programar computadoras cognitivas? funcionan igual que nuestro cerebro y no hay quien las programe.
¿Porqué no programar entes que reemplacen actividades humanas? Los bots han dejado de ser aplicaciones que navegan y se libran de los CAPTCHAS y ya suplen labores humanas complejas.
¿Porqué no hacer asistentes que cumplan tus deseos? A los bots ya no les cuesta trabajo tener interacción con humanos.
Algo de lo que hay más alláSomos de los pocos países donde los Drones ya son legales y regulador por la ley, ¿Porqué no ser el primer gran proveedor de servicios de Drones?
Ya sabemos entender lo que dicen los animales y las plantas ¿Porqué no hacer sistemas de traducción?
Ya es posible modificar epigenéticamente el material genetico por medio de medios electromagnéticos, ¿Porqué no crear software que carge paquetería nuevo material genético en las especias de forma remota?
¿Porqué no controlar todo lo que nos rodea con nuestros pensamientos?
Algo de lo que hay más allá¿Porqué no crear entes que sientan y expresen sus sentimientos? La computación sentimental está más avanzada que núnca, es muy sencillo hacen un robot que ame.
¿Porqué no extender las capacidades de tu cuerpo con dispositivos de human augmentation? Los primeros prototipos del Human 2.0 ya son una realidad.
¿Porqué no programar un satélite que nos alerte de factores que nadie considera? Es barato mandarlo al espacio.
¿Porqué no crear una nueva especie? Ya hay lenguajes de programación de genes donde con biología sintética créas nuevos seres vivos.
Y sin duda la pregunta más importante¿Porqué seguir haciendo aplicaciones Web, Mobile, Desktop y Embedded? Si hay un mundo entero allá afuera que no está competido y que encierra grandes y emocionantes retos.
Que no le veas implementación en tu entorno físico no es una justificación para que no cambies el mundo
GraciasLa presentación la voy a subir a mis redes sociales:
http://facebook.com/
carlos.toxtlihttp://google.com/
+CarlosToxtli