CoderHouse
Usuario (Argentina)

¿Cansado del trabajo de oficina de 9-18 hs? Lo sabemos: Naciste para ser libre, elegir tus proyectos y trabajar desde donde sea que consideres tu hogar ¡El esquema freelance definitivamente es lo tuyo! La buena noticia es que hay muchas técnicas y herramientas disponibles para que puedas empezar a trabajar de manera freelance y, aunque es verdad que hay mucha competencia y puede que te resulte un tanto difícil dar tus primeros pasos, estamos seguros que ni siquiera será te resultará tan difícil como una búsqueda laboral tradicional. Dicho esto, vamos con las claves para tu éxito como freelancer: 1.- Cambio de actitud mental Tu primer desafío es empezar a ver tus diferentes habilidades y experiencias de manera contable. Todo lo que estudiaste, aprendiste y pusiste en práctica hasta el día de hoy, te serán de increíble utilidad para convertirte en freelancer y resolverle un problema a alguien a cambio de dinero. Por otro lado, necesitas empezar a pensar en ti como tu propio jefe y entender que tú y sólo tú serás el responsable de tu éxito. Deberás aprender a organizar tu tiempo para poder completar los proyectos con los que te comprometes en los tiempos acordados. Hay técnicas de manejo del tiempo, como por ejemplo la técnica Pomodoro. 2.- Desarrolla tu Portfolio Es importante contar con diferentes espacios virtuales para que tus potenciales clientes tengan un marco de referencia y se sientan seguros a la hora de contratarte: Carga tu CV en Linkedin: Procura redactar uno nuevo, probablemente tu antiguo CV esté enfocado en roles y ahora deberás concentrarte en logros. Ej: Cambia "Community Manager" por "Incremento mensual de X% de leads mediante Redes Sociales". Carga todos los trabajos que hayas realizado (o los más relevantes) en las plataformas adecuadas: Dribbble y Behance para Diseño, Github para programación, etc. Si hiciste un curso en Coderhouse podrás agregar tus mejores trabajos prácticos realizados en clases, de modo de empezar a posicionarte inclusive antes de empezar a trabajar. Si aún no realizaste trabajos, una buena idea es invertir tiempo en proyectos Open Source y/o realizar trabajos a precios reducidos para amigos, familiares y conocidos para hacer crecer tu experiencia y generar confianza frente a potenciales clientes nuevos. 3.- Marketing Personal Es importante mostrar de manera clara el valor diferencial que le aportarás al proyecto. Contar con una fuerte identidad online te servirá de gran ayuda. Una gran idea es desarrollar tu propio sitio web y/o blog, generar contenidos de calidad (ej: escribe notas acerca de mejores prácticas, ideas de campañas, todo tip que pueda ser valorado por un cliente) y utiliza las Redes Sociales ampliar tu llegada y buscar potenciales clientes (leads). 4.- Plataformas de trabajo freelance Las páginas más reconocidas a nivel latinoamericano son Workana y Nubelo. Mientras que Freelancer e Elance son las opciones más fuertes a nivel internacional. Lo bueno de Workana y Nubelo es que al ser páginas enfocadas en Latinoamérica, la barrera del lenguaje se reduce drásticamente y no competirás con tarifas hiper inferiores, como podrían ser las de profesionales en la India. Los pasos para empezar a trabajar son: Crearte un perfil completo. Si eres ex-alumno de Coderhouse tienes acceso a badges especiales en referencia al curso que hayas hecho. Buscar ofertas de trabajo que estén acordes a tus habilidades: Elabora cuantas propuestas puedas y postúlate a las ofertas más nuevas (ya que después de cierta cantidad de propuestas, entre 15 y 20, las personas que contratan se ven abrumadas y tienden a no contestar más). Para incrementar tus probabilidades de éxito es indispensable demostrarle a tu potencial cliente un compromiso real y que entiendes los requisitos solicitados, para ello te recomendamos: · Realizar una presentación acotada de vos y de tu background. · Personalizar la propuesta: Cuéntale a tu potencial cliente por que te interesa el proyecto, que sería útil para encararlo, como piensas desarrollarlo (etapas, formatos de entrega, tecnologías) y demás. · Encuentra la medida justa entre formalidad y cordialidad: La interacción personalizada es la clave y es lo que te diferenciará del resto ¡Véndete a ti mismo! 5.- Networking Es muy importante que trabajes tu networking para conseguir clientes. Esto lo puedes hacer de manera virtual y/o presencial. Virtual: Busca leads mediante Redes Sociales. Linkedin, Facebook y Twitter son grandes herramientas. Ingresa en foros, conversaciones, páginas de negocios que pienses que puedas aportarle un valor agregado (ej: ofrecer el rediseño de su sitio web explicando que cosas ves que podrían mejorar), etc. Presencial: Armate un calendario de eventos afines a tus habilidades. Hay una infinidad de Meetups, conferencias y congresos donde podrás conocer pares que te pueden ayudar a contactarte con clientes y/o directamente conocer nuevos clientes. 6.- ¿Cuánto cobro? Ahh... ¡El tema de cuanto cobrarle a un cliente! Esta pregunta es muy frecuente dentro de los que recién se inician como freelancers y la realidad es que no hay una única manera de hacerlo. Para empezar, es importante que definas un valor hora propio que se encuentre en relación directa con el nivel de tus habilidades y experiencia. Para obtener un valor estimado, podrías poner en práctica un pequeño estudio de mercado y consultar con pares que consideres afines a tu experiencia. Con ese valor en mente, deberías analizar cada propuesta de trabajo que se te presente y determinar cuantas horas de trabajo crees que te tomaría completarlo y en cuanto tiempo piensas que lo finalizarías (por ejemplo, puede que el diseño y programación de un sitio web te lleve unas 30 horas de trabajo, pero que tardes entre 1, 2 o 3 semanas en entregarlo). Finalmente, siempre está el presupuesto que tenga el cliente. Seguramente haya una instancia de negociación donde se ajustarán algunos detalles tanto económicos como de requerimientos del proyecto hasta llegar a un acuerdo, pero sea cual sea el arreglo al que llegues ¡Asegúrate de estar contento/a! Si consideras que el pago que te ofrecen se encuentra muy por debajo de tu experiencia y/o habilidades y el proyecto no supone ninguna ventaja personal para ti (como por ejemplo sumar portfolio o que sea un proyecto que realmente te interese), te recomendamos que lo dejes pasar. Cuando encaras un proyecto con la energía muy baja, te costará muchísimo trabajo completarlo y probablemente el resultado sea paupérrimo para ambas partes. Quizás sea preferible que te enfoques en trabajar sólo en proyectos que te aporten profesional y económicamente. Estas recomendaciones son una guía básica para que te inicies en el trabajo freelance y te recomendamos que lo empieces en paralelo a tu trabajo actual, de modo de que cuando decidas dedicarte "full time" a ser freelance, ya tengas un portfolio de clientes interesante. ¡Cuéntanos tu experiencia! ¿Te resultó útil esta guía? ¿Tienes otros tips? Nos leemos

Estás interesado en aprender a programar, pero no sabes por donde empezar? ¿Confundido por que lenguaje aprender? Seguramente conocés o haz escuchado hablar de lenguajes tales como PHP, Ruby, y Java. Pero, ¿Qué es Node.js? y ¿Por qué conviene aprender este lenguaje antes que los otros? Abajo te mostramos las 4 razones por las cuales conviene aprender node.js. 1. Está escrito en Javascript Javascript es un lenguaje originalmente de Front-End, que contiene miles de librerías y documentación y prácticamente todo programador ha escrito o visto código en este lenguaje. Esto quiere decir que podés re-usar tu código de front-end, tal como el código para una validación de un formulario. Ahora con solo saber javascript podés escribir código front-end como también back-end. 2. Todos lo están adoptando No solo start-ups están usando node.js, sino también gigantes de la industria tales como PayPal, Groupon, Twitter, WalMart, eBay, y DocuSign están migrando de PHP, Ruby, y Java hacia Node.js. No importa si tenés una idea para un proyecto o si querés ser contratado como programador, en ambos casos saber node.js te va a facilitar la inserción en este ambiente. 3. Ahora es fácil ser un programador Full-Stack Ahora pasar de ser solo un front-ender a ser también un back-ender (o full stack que cuenta con ambos) es fácil ya que se necesitan los mismos conocimientos y se usan los mismos métodos y clases que en front-end. 4. Es más rápido que otros lenguajes Tiene un diseño asíncrono. Eso quiere decir que no tiene que esperar para operaciones en la base de datos para continuar procesando, lo que lo hace extremadamente rápido (tres veces más rápido que Python 3 y diez veces más rápido que PHP). Hace que aplicaciones a tiempo real sean fáciles de programar. Para aprender más o para anotarte al próximo curso de Full-Stack (desarrollo de páginas y aplicaciones web robustas), ingresá acá. Para aprender más o para anotarte a la próxima especialización de NodeJS, ingresá acá. Para ingresar al primer NodeSchool organizado por Coderhouse, ingresá acá.
Si alguna vez consideraste hacer una aplicación web, móvil, o una página web, seguro te preguntaste, ¿Por donde empezar?, ¿Qué herramientas debo usar?, ¿Qué lenguajes aprender?, ¿Cómo encaja todo? Todo se divide de la siguiente manera, dependiendo de que tipo de aplicación querés desarrollar: Aplicaciones MóvilesPáginas WebAplicaciones Web Dependiendo de lo que quieras crear, deberás aprender diferentes lenguajes y herramientas. Aplicaciones Móviles Si estas interesado en tomar un curso de programación para desarrollar Mobile Apps, o aplicaciones móviles, tales como SnapChat, Instagram o incluso juegos, entonces el siguiente paso es decidir en que tipo de celular y software lo querés desarrollar. Lo querés crear para un iPhone o iPad? O tal vez para un teléfono Android o Android Tablet. Si te decidís por un iPhone/iPad, tenés que aprender iOS. Para eso necesitas una Mac, y usar una herramienta gratuita que se llama Xcode. El lenguaje para este tipo de programación se llama Swift. Las aplicaciones móviles se venden en el Apps Store. Si Apple lo aprueba, tendrás tu app en la tienda, y podrás cobrar dinero por eso. Por otro lado, si querés desarrollar para celulares o tablets como Nexxus, Motorola, Samsung, etc., entonces ahí tenés que aprender a programar en Android. Las herramientas que se usan frecuentemente son Eclipse o Android Studio, y el lenguaje es Java.Podés usar una Mac o una computadora Windows o Linux. También se pueden subir al Apps Store, y los usuarios que se bajan tu app pueden pagar por eso. En Coderhouse, enseñamos a desarrollar aplicaciones móviles mediante un lenguaje híbrido. Esto quiere decir, que con un solo código, vas a poder desarrollar tanto para Android como para iOS. Los lenguajes son los mismos que usarías para diseñar páginas web normales, es decir HTML, CSS, y Javascript, solo que se aplican a través del framework PhoneGap. Para más información sobre este curso, hacé click acá. Páginas Web Si querés construir una página web para un restaurante, para el negocio de tu papa, o ser freelance, entonces tenés que aprender lenguajes Front-End. Las herramientas básicas que se usan son un Editor de Texto, tal como Sublime Text. Lo que se hace es crear el código en tu editor, se sube a la página y listo. Los lenguajes a aprender son HTML, CSS, y JavaScript. Esto es lo más fácil que se puede aprender al inicio. No se tiene que hacer mucho de programación, casi nada técnico. Te recomendamos empezar con el curso gratuito de Codecademy en el link anterior para comenzar. Este tipo de conocimientos también te sirve para desarrollar páginas web mas complejas. Usando herramientas tales como WordPress, podés tener una página completamente funcional, y con tus nuevos conocimientos de HTML, CSS, y Javascript, editarla completamente para que se vea como vos querés. Aplicaciones Web Si querés construir una página web, pero querés que la gente interactúe con ella, que puedan registrarse, que puedan interactuar con otros usuarios, “likear” cosas, crear cuentas, etc.. todas esas cosas convierten a una página web en una aplicación web. Ejemplos de esto son páginas como Facebook, Twitter, y Google Maps. Si querés construir algo como eso, primero tenés que elegir el lenguaje de tu preferencia. Algunas de las opciones más populares son: RubyPHPPythonJavaScript(Node.js) En Coderhouse nos especializamos y enseñamos el framework Node.js, ya que está siendo adoptado por la mayoría de las empresas y start-ups, tales como PayPal, Groupon, Twitter, WalMart, eBay, y DocuSign. También es muy conveniente para programadores que saben lenguajes front-end, ya que está escrito con JavaScript (siendo el único framework de back-end que lo utiliza). La herramienta que se usa para hacer aplicaciones web también es un editor de texto. Es similar a una página web de solo HTML, pero usas lenguajes más poderosos. ¿Cuáles son los diferentes tipos de trabajo que podés conseguir con estos nuevos conocimientos? Diseñador esta es la persona que piensa en como se ven las cosas y como funcionan. Piensan en diseño en base de la experiencia del usuario, o en inglés UX (User Experience) Design. Usan Photoshop, Illustrator, diseñan la página o aplicación, y hacen que se vea todo bien. En CoderHouse, estamos por lanzar con un nuevo curso de UX Design, especializado en optimizar páginas para mejorar la experiencia de los usuarios cuando visitan una página. Front-End Developer reciben la maqueta realizada por el diseñador y lo transcriben en código. Usan herramientas tales como HTML, CSS, y Javascript. Cada vez es más común que las empresas tomen personas con conocimientos en ambas profesiones. Tienen que saber tanto diseño como Front-End. Developer Para hacer que la pagina funcione, necesitas un developer. El front end crea el código para visualizar la página, pero el developer hace que funcione. Los developers, o backenders, conectan la página a la base de datos, y crean nuevo código dinámico para que todo funcione. Usan herramientas tale como Ruby, PHP, Java, Node.js, etc. Por otro lado, existen los developers “Full-Stack”, los cuales saben tanto lenguajes Front-End como Back-End. Es decir, que pueden maquetar, diseñar, y programar la página. Ahora que se lo que quiero hacer y estudiar, ¿cómo empiezo? Todo esto puede ser confuso, pero cuando sabés lo que querés desarrollar, es fácil descubrir el camino que tenés que tomar y lo que necesitás aprender. En Coderhouse, te guiamos en todo este proceso, y te ofrecemos cursos intensivos en un ambiente colaborativo e innovador. Comenzás haciendo un curso de nivelación a través de Codecademy, a la cual llamamos Fase 0. Ya ingresado, comenzás a aprender mediante práctica constante. Nuestro lema es “Aprendé Haciendo.”, desde el primer día ya vas a programar tu propio código, para que cuando termines el curso tengas un curriculum completo de trabajos reales realizados para empresas reales. Contamos con una red de partners (empleadores), compuesto por empresas globales e incluso start-ups tecnológicas, de la cual podés ser parte una vez finalizado el curso y conseguir el trabajo que buscás. Para más información sobre nuestros cursos, contactános acá. link: https://www.youtube.com/watch?v=GA8OtzXs24g

¡La ng-conf fué un evento de primer nivel! La mayor parte de las pláticas estuvieron enfocadas en Angular 2.0, pero también hubo risas (ng-wat), platicas motivacionales como la de Lukas Ruebbelke junto con Geoff Goodman (Creador de Plunker) y pláticas relacionadas con otros frameworks, tales como: ionic, Falcor de Netflix, Firebase, etc... A continuación comento lo más relevante de algunas de las pláticas. 1. Netflix anunció en su plática que hará open source su framework Falcor, el cual utilizan actualmente en todas sus aplicaciones. Falcor permite que las vistas descarguen solo la información que necesitan. Una vez descargada la información es guardada en caché y cada que accedemos a una vista ya visitada, la información se obtiene de memoria. 2. Ionic también permitirá almacenar en caché el estado de las vistas, de forma parecida a Adobe Flex. También anunció que habrá una versión de ionic 2.0. 3. John Papa habló de su excelente guia de estilo, así como de la necesidad de tener código legible y facil de encontrar. También habló de las 4 reglas para organizar aplicaciones de Angular: LIFT. 4. También se habló de las pruebas de accesibilidad de e2e con protractor para nuestras aplicaciones, así como la importancia de que nuestras aplicaciones web sean ARIA (Accessible Rich Internet Applications). 5. El equipo de Angular Material realizó una aplicación en vivo utilizando sus componentes. El futuro de Angular. Mucha gente se escandalizó después de la ng-europe en octubre del año pasado al saber que las directivas, los controladores, el $scope, los módulos y jqLite van a desaparecer en la nueva versión de Angular. Pero, a pesar de que la sintaxis será diferente, conceptualmente será muy similar, pero con la gran ventaja de que el nuevo Angular utilizará estándares y será mucho más declarativo. También se podrán utilizar web-components, así como otras librerias de JS de manera natural y simple. El performance de Angular 2.0 con respecto a las versiones anteriores, e incluso comparado con React es ¡Muy impresionante! Dave Smith compa en su plática tres componentes; uno creado con Angular 1.3, uno hecho con Angular 1.3 + React y otro creado con Angular 2.0. Se mostraron gráficas profundas de árbol de velocidad y memoria; donde hay incrementos de aproximadamente 60% para la primera vez que se carga una vista, antes de quedar en caché, y de aproximadamente 80% para cuando una vista se visita nuevamente. Además, se mostró una gráfica del scroll de una tabla utilizando estructuras de datos inmutables para comparar el tiempo entre Angular 1, Angular 2 y Angular 2 con estructuras de datos inmutables. Los resultados son sorprendentes y hay una mejora de O(n) a O(1). El equipo de Angular también anunció su relación y trabajo colaborativo con el equipo de Typescript (Microsoft). El cual es en palabras de Miško es “azúcar sintáctica” para JS. A pesar de que Typescript no es necesario para desarrollar aplicaciones de Angular 2.0, ofrece ¡Grandes ventajas¡ Como ES6, tipos de datos y anotaciones. También se habló de las 3 opciones de migración a Angular 2.0. Big Bang, Incremental (Adentro hacia Afuera) e Incremental (Afuera hacia Adentro). 1. Big Bang: Migrar toda la aplicación completa 2. Incremental: La idea es ir migrando vista por vista (componente por componente) ya que la nueva versión está basada en componentes y porque Angular 1.x y Angular 2.0 pueden convivir en una misma aplicación. La idea es migrer primero de 1.3.x a 1.4.x, ya que Angular 1.4.x y la nueva versión utilizarán el nuevo router. Posteriormente se migrará de 14.x a 1.5.x que será muy parecida a 2.0. El equipo de Angular también comentó que existirá una guia para migrar de 1.5.x a 2.0. En resumen, Angular 2.0 será más Simple, más Consistente, más Flexible, más Productivo y Mucho Más Rápido. Recuerden seguir siendo ¡Super Heroicos con AngularJS! Post escrito por Israel Guzmán ¿Quieres aprender AngularJS? Anótate al curso intensivo y presencial de Coderhouse acá: http://www.coderhouse.com/curso-de-angularjs