• Inspiración
  • Tutoriales
  • Bootcamp

Planer

  • Inspiración
  • Tutoriales
  • Bootcamp

Inspiración 4

El programador Full Stack

Full Stack Unicorn

El programador Full Stack es el generalista de los programadores, vendría siendo como el ingeniero civil industrial dentro del mundo de la informática con todo un arsenal de habilidades técnicas y no hay que confundirlo con el desarrollador Senior.

En resumen un programador full stack es un programador que puede crear aplicaciones complejas desde cero el sólo, para ello debe ser una persona que entienda en profundidad como interactúan las distintas capas de servicio de una aplicación.

Warning! El resto de este artículo está cargado de un arsenal de acrónimos informáticos.
Lo que debe saber un programador Full Stack:

1

Desarrollo Web laMP

El Kit más básico para ser un programador Full Stack es conocer desarrollo de aplicaciones WEB + LAMP, o sea Linux, Apache, MySQL y PHP, ahora muchas de estas tecnologías son intercambiables por otras similares, NginX en lugar de Apache, PostgreSQL en lugar de MySQL y Ruby on Rails en lugar de PHP, pero se entiende la idea.

Por supuesto que existe un equivalente Microsoft del Stack anterior, sería Windows + Microsoft IIS + .NET + SqlServer.

2

DESARROLLO WEB MEAN

El siguiente kit de un full stack developer es el llamado MEAN, que consiste en MongoDB (un motor de bases de datos no relacional) Express (que es un framework para Node y sólo se menciona antes que Node.js para que el acrónimo sea pronunciable), Angular el cual es un framework MVC (o MVVM) muy potente del lado cliente y Node, el famoso framework del lado servidor de javascript.

A diferencia del kit anterior este stack busca entregar la mayor cantidad de carga al lado del cliente pero requiere de una forma bien distinta de pensar las cosas.

3

Modelamiento

Claro, no se puede ser un desarrollador de aplicaciones independiente y no conocer de modelamiento y análisis de requisitos, Estos dos skills son mandatorios. Obviamente estos no son sólo conocimientos teóricos sino que se traducen en habilidades técnicas reales, conocer y manejar diversos tipos de diagrama de datos, partiendo como mínimo UML

4

Control de Versiones

Además un programador Full Stack debe saber ocupar herramientas de control de versiones como GIT, (SVN es mirado despectivamente dentro de los círculos snobs de programadores), y saber vincular GIT con herramientas de testing y deployment

5

Testing

Todos sabemos que la ley de murphy aplica siempre a menos de que estamos tratando de demostrar la existencia de la ley de murphy así que hay que testearlo todo y automatizar los testing.

6

PAAS y soluciones Cloud

Un buen programador Full Stack debe entender de manejo de PAAS como Heroku y Amazon, no sólo como usarlas si no que entender sus costos y como escalan y cuando deben ser usadas estas soluciones y cuando no.

7

Big Data, Scrapping y métricas

Este tipo de programador también debe saber de manejo de datos y cómo utilizar herramientas para análisis de ellos, o sea, sumemos a los requisitos conocer Hadoop y entender de operaciones map reduce. Además debe entender como extraer datos de sistemas de analíticas como googleanalytics, hay que tener en mente que el programador Full Stack no sólo es un programador, es además un análista.

Y como este tipo es un Rambo de la programación cuando no se tienen los datos debe saber scrappearlos de la web. Para analizar estos datos este Batman de la programación dispone en su cinturón herramientas decenas de algoritmos de Machine Learning e Inteligencia Artificial.

8

Aplicaciones Móviles

De Batman a Superman no hay mucha distancia, y como el full stack developer tiene que estar 100% actualizado obviamente debe saber como crear aplicaciones móviles, tanto híbridas como nativas, lo que suma a los requisitos conocer de frameworks web-mobile como PhoneGap y Titanium, de Frameworks Mobile como Ionic y Ratchet y obviamente debe saber Objective C (y Swift) y Java.

9

SEO y Sem

Hay que tener en mente que no es sólo suficiente construir, hay que publicar, y saber llegar a la gente y hay que saber ponerse en lugares para que la gente llegue aquí, publicar en las appstores es un arte, y estar primero en Google es una constante guerra y se hace mucho más difícil cuando la internet está llena de consejos malos.

10

Redes

Para que el arsenal esté completo, a este superheroe también se le pide que sea un experto en redes, y eso no es tan simple como montar una WIFI,hay que saber montar firewalls y hay que saber lidiar con iptables que definitivamente no es para novatos.

Las empresas cada día requieren de redes e infrastructuras más complejas y resistentes a ataques lo que me lleva al siguiente punto.

11

Seguridad Ofensiva

La mejor defensa es un ataque y ninguna persona que no esté constantemente leyendo los reportes de seguridad e intentando atacar sitios web puede estar al día en la defensa de su sitio, Un programador que no saber realizar inyecciones de queries via SQL es el mismo programador que dejará expuesta toda la base de datos de su aplicación. No digo que haya que andar por la vida haciendo daño sólo digo que es importante saber de seguridad informática.

Programadores Full Stack Vs Mundo Laboral

Es normal que las empresas quieran conseguir a los mejores trabajadores por la menor cantidad de recursos posibles puesto que en pedir no hay engaño, pero tener este tipo de conocimientos no es trivial, si bien se entiende que el full stack developer tiene más amplitud de conocimiento que profundidad entender de todos estos temas demora de muchos años de práctica por lo tanto no existe ni existirá algo así como Full Stack Developer Junior.

Hoy en día los alumnos salen de sus carreras de computer science, o ingeniería informática sin conocimientos de estos temas, por lo que una empresa los pida significa que este alumno debe tener 4 años de estudios universitarios y cómo un mínimo 5 a 10 de practica, o sea un Full Stack Developer tiene la misma experiencia de un Senior y como son técnicamente inexistentes les llaman los Unicornio de las programación.

Como empresa En1mes entiende de las necesidades de la falta de personas capacitadas en la industria, tanto en las areas de emprendimiento como en la industria formal TI y es por eso que hemos armado un Bootcamp especial para aplanar la curva de aprendizaje de estas tecnologías.

 

Share
September 30, 2014 Inspiración, MetodologíasBases de datos, emprendimientos digitales, Inspiración, lenguajes de programación, MySQL, php, Ruby on Rails

¿Qué es realmente ser un Hacker?

Hacker

La definición más común de hacker es la de una persona que se dedica a explotar vulnerabilidades en sistemas informáticos pero esa es una definición obsoleta, hoy en día a este grupo de personas se les denomina Crakers.

El término Hacker original deriva de hack o sea de corte, e históricamente de corte con hacha y aplicaba a quienes hacían muebles (sillas, mesas, etc) con un par de hachazos, en otras palabras un hacker es un constructor de prototipos.

The Jargon File

The Jargon File

Otra definición bien interesante del término hacker mencionada en el Jargon File (Un documento con toda la jerga importante de los hackers) consiste en la de entusiasta y / o experto y no necesariamente en el ambiente informático, así que si eres un emprendedor probablemente eres un hacker.

La palabra se masificó dentro de la industria informática cuando los hackers reutilizaban (a veces con permisos, a veces sin ellos) pedazos de códigos de otros sistemas, o sea técnicamente hackeaban códigos y dado que hoy en día la mayoría de los autodidactas de programación aprenden viendo tutoriales y copiando y pegando pedazos de código de otras partes o sea técnicamente todos los que programamos somos hackers.

Hoy en día el término se utiliza ampliamente para describir aquellos que modifican sistemas (de cualquier tipo) para mejorarlos o simplemente con el afán de intervenirlos, y trucos de hacking para la cocina, para la vida y para el aprendizaje.

En resumen: Si estás leyendo esto es porque probablemente eres un hacker. ☺

Share
September 29, 2014 Inspiración, Seguridademprendedores, hackers, Inspiración

La educación continua

educación digital

Hace treinta años, la gente adquiría una nueva habilidad por año. En el futuro, adquiriremos una cada hora .- Funky Business (Jonas. Ridderstråle y Kjell. Nordström)

Hace mucho tiempo que estamos conversando del tema sobre por que todos deberían aprender a programar, dentro de ese marco de conversación un tema que suele emerger, el de la constante necesidad de estar aprendiendo cosas nuevas, un concepto al que el CEO de Rocket AD Pablo Parga, denomina educación continua.

¿Qué es la educación continua?

Las personas ya no trabajan 5 años, hacen un postgrado y vuelven al trabajo, (o sea, algunas todavía lo hacen) y en ciertas industrias todavía tiene un poco de sentido, pero respecto al mundo digital y tecnológico la velocidad de las nuevas tecnologías ha cambiado completamente las reglas del juego, al haber millones de personas compitiendo y aprendiendo la cantidad de conocimiento generado es abismal y para estar al día requiere estar en constante contacto con el aprendizaje.

Si hablamos de la web, podemos ver que en los últimos 25 años (la web empieza con el trabajo de Tim Berner-Lee en el 89) han habido cinco revisiones oficiales completas del estándar de HTML, tres del de CSS, nacieron y agonizaron tecnologías como Flash, nació javascript y con el varias librerías como prototype y Jquery. Durante el proceso han habido cientos de programas para crear páginas desde Frontpage hasta Dreamweaver y cada semana en la Appstore de Mac aparece uno nuevo.

Y no sólo está los trabajos del lado cliente, también es importante mencionar los enormes avances que se han realizado en tecnologías web por el lado del Backend, desde PHP hasta Ruby on Rails y desde ASP hasta .NET, hoy en día cualquier persona con mucha paciencia y harto google puede instalar un servidor.

Si antes ocupábamos CGIs y perl para enviar un email hoy utilizando estos nuevos lenguajes que hacen el trabajo más fácil, claro, la curva de aprendizaje puede ser compleja y todo lo que aprendimos lo tuvimos que re-aprender, pero una vez dominada las tareas se hacen mucho más rápidas, y más seguras.

Y cuando ya nos empezábamos a sentir cómodos desarrollando para la web nació todo un nuevo mercado, el de las aplicaciones, y las tecnologías que en un principio híbridas que en un principio nos apalancaron para la construcción de apps pronto dejaron de ser suficiente y tuvimos que migrar al desarrollo en lenguajes nativos y cuando ya llevábamos años desarrollando software nativo para smartphones las librerías para desarrollo híbrido mejoraron y nuevamente fueron una solución factible para el desarrollo. En el proceso tuvimos que aprender lenguajes nuevos, paradigmas nuevos y hasta nuevas técnicas de marketing para ser encontrados en las Appstores.

Si crees que existe una carrera que te va a enseñar todo esto, estas muy equivocado, las universidades entregan títulos de computación científica, claro no está de más saber desarrollar algoritmos, pero poco de los aprendido en los institutos y universidades te va a ayudar a desarrollar aplicaciones, y, la principal razón es porque casi todo lo que enseñen respecto a programación quedará obsoleto el día que tengas que utilizarlo.

La velocidad de cambio de las tecnologías

Las tecnologías nuevas hoy en día no duran más de 5 años, y si formar a un experto demora el mismo periodo, el día que el te empiece a enseñar la información que aprendió ya estará obsoleta y cuando tu termines de aprenderla llevará 5 años obsoleta.

Y no me extrañaría en lo absoluto que en los próximos 10 años la velocidad de cambio sea de 4 o incluso 3 años-

UN CAMBIO DE PARADIGMA

Es por esto mismo que los paradigmas de aprendizaje están cambiando, desde la misma necesidad de aprender y ejecutar de una forma distinta. Las dos pautas claves de este modelo de educación continua son aprender rápido y aprender constantemente.

En definitiva si quieres emprender en el mundo digital aprovecha de subirte al tren ahora, porque cada vez va más rápido y aunque las tecnologías cada día son más sencillas de aprender, también es cierto que cada día hay mucho más por aprender.

¿CÓMO SE HACE PARA APRENDER CONTINUAMENTE?

No es difícil, el truco es perder la costumbre a que alguien te enseñe, aprende a ocupar Google y Youtube para aprender y cuando necesites optimizar tu aprendizaje, el truco consiste en tomar algún pequeño curso que te permita aprender haciendo, o sea que no sólo te enseñe la teoría sino que además te permita practicarla de forma inmediata.

Hay muchos cursos construidos de esa forma, puedes encontrar cursos de programación en el MIT, Khan Academy, Udemy, Coursera, y en muchas otras plataformas, pero la mayoría de ellas están en inglés, lo cual es una fuerte barrera de entrada para aquellos que no lo dominan, es por lo mismo que construimos.

Es por esta enorme barrera de entrada que nosotros decidimos construir una plataforma de cursos de programación en español en en1mes y como la demanda por estos conocimientos es colosal ahora hemos tenido que organizar bootcamps intensivos.

El truco para aprender de forma continua simplemente consiste en hacerse el hábito de dejar aunque sea 10 minutos para aprender cosas nuevas, hay que tener en mente que el cerebro funciona como un músculo y cuando no se ocupa se atrofia.

 

 

 

Share
September 8, 2014 InspiraciónEducación, emprendimientos digitales, Inspiración

7 Razones para construir tu propia página web

7 Razones para construir tu propia página web

  1. Sólo tu sabes lo que realmente quieres.
  2. Conocer el idioma de la web te permitirá entender que es posible y cuanto realmente cuestan hacer cada cosa.
  3. Una web necesita cambios constantes, normalmente el desarrollo de una página web es relativamente barato pero los cambios constantes son caros.
  4. Aprende haciendo, te obligará a estudiar otras páginas web y conocer las nuevas tendencias.
  5. Es mucho más rápido hacer un cambio uno que delegarlo a un tercero.
  6. Muchos desarrolladores te van a entregar plantillas de páginas, o sea un producto genérico que no le va a interesar a tus clientes.
  7. Aprender es fácil y el mejor momento para aprender es ahora.
Share
May 20, 2014 InspiraciónInspiración
Tags
mostbetslotticamostbet UZslottica PLkudos casino no deposit bonuskudos casino bonus codeskudos casino free chipkudos casino loginRuby on Railskudos casino sister siteskudos casino free spinskudos casino no deposit bonus codesaviatoraviator KZozwincasinoozwincasino AUemprendimientos digitalesfortunetigerfortunetiger BRTutorialesDiseño20bet plbet20 casinokudos casinoLondonLondon UZ20 betbj88slottica BR20bet casino logowanie20bet kasynoHerramientas20 bet casinohtml5gratogana entrargratogana juegos en vivo20bet logowanieWordpressrubyLanding PageBases de datosplaycroco casinoplay crocogratogana onlineparty poker casino
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • Interesado en otros tipos de emprendimiento?

    Quieres aprender a importar y exportar productos a todo el mundo? entra aquí

  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • No te pierdas ningún artículo.

  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • 2025 © UGMSLOT
    Planer theme by Dankov