¿Quieres convertirte en programador? Esto es lo que tienes que hacer


En los últimos años, la programación se ha convertido en una de las profesiones más populares entre jóvenes en busca de una carrera, y no es difícil averiguar por qué. En medio del boom de las startups a nivel mundial, muchos ven a la programación como el billete de ida hacia la seguridad económica y el trabajo soñado en algún lugar del mundo con una mesa de ping-pong y un nevera llena de cerveza.

Pero si bien convertirme en programador ha sido una de las experiencias más satisfactorias de mi vida, ciertamente no ha sido fácil. A lo largo de mis 20 años de carrera, he afrontado complejos problemas al límite de los plazos y trabajé hasta altas horas de la noche más veces de las que puedo contar. Hoy me siento orgulloso de dirigir el equipo de desarrollo de Innovid, la plataforma de marketing en video líder en el mundo para que los anunciantes atraigan a sus consumidores a través de todas los canales multimedia. Como Vicepresidente Senior de ingeniería, estoy encargado de dirigir a un equipo de algunas de las mentes más brillantes en programación de Israel, y ninguno de nosotros ha llegado hasta donde estamos solamente con talento. Una carrera exitosa requiere también de trabajo duro e intensa dedicación.

Si estás pensando en iniciar una carrera en programación, aquí tienes cuatro consejos que te serán muy útiles en el proceso:

1. Antes de comenzar una ingeniería, asegúrate de que realmente te encanta la programación

Tú podrías ser la persona más inteligente del mundo, pero si realmente no te gusta la programación, todo esfuerzo será en vano. Para tener éxito, necesitas tener una pasión sincera y real por crear software y trabajar con computadoras. De hecho, trabajar en tecnología significa trabajar en una industria que siempre está cambiando. Si no te encanta aprender sobre nuevos lenguajes de programación, plataformas y dispositivos hardware, va a ser bastante difícil mantenerse al día con todas las herramientas que necesitarás entender para hacer tu trabajo.

En vez de saltar de cabeza hacia el abismo, tómate cierto tiempo para leer un libro de programación, intenta tomar un curso en línea o toma una clase de informática en tu escuela. Lo más probable es que si eres el tipo de persona que se inclina hacia la programación, aprenderás con bastante rapidez.

2. Empieza aprendiendo los conceptos básicos, luego codifica

La ingeniería es un campo tan amplio que puede ser difícil para un principiante averiguar por dónde empezar. Con tantos tipos diferentes de dispositivos de cómputo y lenguajes de programación, ¿cómo decidir qué estudiar primero?

Recomiendo comenzar aprendiendo a codificar en un lenguaje de programación simple y accesible. Python es un buen lenguaje de nivel inicial para aprender, pero otros como Java y C/C++ también pueden funcionar. También es importante que tu conocimiento de programación se base en una comprensión más amplia de cómo funcionan las computadoras. Por eso creo que es una buena idea aprender sobre el funcionamiento interno de las computadoras y partes clave como el núcleo del sistema operativo, la CPU, la E/S, la memoria y el almacenamiento. Si es posible, estudiar informática en una institución educativa es una gran manera de aprender estas cosas en un ambiente de apoyo.

3. Construye tus propios proyectos en tu tiempo libre

La ingeniería informática no se limita a entender cómo funcionan las cosas. También necesita de creatividad para construir programas propios desde cero. Como tal, la mayoría de los empleadores quieren ver que los programadores tomen la iniciativa de construir sus propios proyectos antes de decidirse a contratarlos.

Antes de empezar a aplicar a puestos de trabajo, pasa algún tiempo usando la programación para solucionar un problema de tu propia vida. Esto te dará algo para mostrarle al gerente de contratación en sus entrevistas de trabajo, lo que demuestra que eres un apasionado por el trabajo y estás dispuesto a buscar una solución ante cualquier obstáculo durante el proceso.

4. Encuentra un empleador que te permita crecer

Mientras que los beneficios de algunas oficinas como salas de bocadillos y 'happy hours' se llevan gran parte de la atención, tú deberás primero cerciorarte de que cualquier compañía donde puedas trabajar de a sus ingenieros el apoyo y la libertad que necesitan para avanzar en sus carreras.

Para este punto, es importante encontrar un empleador que te permita tomar tiempo para aprender nuevas tecnologías y producir un trabajo de alta calidad. Mientras que algunas compañías necesitarán regularmente que te apresures a cumplir los plazos, presionándote, la compañía correcta equilibrará estas necesidades con tu desarrollo profesional. También debes tener en cuenta encontrar a un empleador que utilice modernas metodologías de desarrollo de software. Esto te ayudará a estar al día con las últimas tendencias.

Por último, pero no menos importante, asegúrate de que tu nuevo empleador te proporcione un sentido de realización personal. Esto significa trabajar en una empresa que contrate a la mejor gente posible, cree un ambiente de trabajo divertido y permita a los programadores impulsar sus propias ideas e iniciativas. Después de todo, no importa cuánto una empresa promueva tu carrera si no estás disfrutando lo que haces.

Vía: GeekTime

Vuelve el indestructible Nokia 3310: el mítico teléfono será relanzado a fines de este mes


El Nokia 3310 necesita poca introducción. Fácil de usar. Al límite de lo indestructible. Una batería que parecía durar para siempre. Oh, y tenía a Snake, el legendario juego de la serpiente. Ha pasado un buen tiempo desde que este teléfono se convirtió en el rey del mercado de los móviles, pero como Rocky Balboa, pronto podría hacerse realidad su espectacular regreso. Evan "Evleaks" Blass informa que HMD Global, el nuevo propietario del nombre de Nokia, está preparando un teléfono que comparte el mismo nombre clave, 3310. Al igual que su querido predecesor, el dispositivo es, según los informes, un teléfono de características que se centran en conceptos absolutamente básicos. Su costo sería € 59 (aproximadamente $ 63 USD) y competiría directamente con la creciente cantidad de smartphones Android de gama baja. Sería lanzado el próximo 26 de febrero en el Mobile World Congress (MWC 2017) de Barcelona.

Se desconocen mayores detalles. El Nokia 3310 es un icono de la tecnología, por lo que revivirlo tiene sentido. Es un nombre que la gente todavía reconoce y que hará llamar la atención acerca del renacimiento de la marca Nokia en general. HMD Global ya ha lanzado un teléfono básico llamado Nokia 150, por lo que el arribo del 3310 no serían terrenos desconocidos para la compañía. Dicho teléfono cuesta sólo $ 26 USD y funciona sobre plataforma de software Series 30+, en lugar de Android. Sin embargo, el fabricante finlandés de teléfonos también ha anunciado la llegada del Nokia 6, un smartphone de gama alta con Android 7.0 Nougat.

Blass dice que la compañía presentará además dos opciones más baratas, el Nokia 5 y el Nokia 3. El Nokia 5 tendrá un precio de 249 euros (265 dólares) y, según ha reportado, cuenta con una pantalla 720p de 5 pulgadas, 2 GB de RAM y una cámara de 12 megapíxeles. El Nokia 3, por su parte, será la nueva oferta de gama inicial Android de la compañía y, de acuerdo a los informes, tendrá un precio de 149 euros (aproximadamente 158 dólares). Lo sabremos con seguridad a finales de este mes.

Vía: Engadget

Los 9 lenguajes de programación más demandados para este 2017

Los 9 lenguajes de programación que debes aprender este 2017.

Basta con hacer una simple búsqueda en la web y encontraremos cientos de lenguajes de programación en la actualidad. Haciendo otra búsqueda esta vez de los lenguajes más populares veremos nuevamente muchas listas y ránkings con resultados distintos. En esta  oportunidad, para ser lo más objetivo posible, vamos a examinar los mejores lenguajes de programación desde una perspectiva profesional.

Hay muchas maneras de clasificar lenguajes de programación, como por la cantidad de sitios web hechos con ellos, resultados de búsqueda en Google, proyectos de GitHub o preguntas en StackOverflow. Esta vez, examinaremos los datos del motor de búsqueda de trabajo Indeed.com para conocer el número de ofertas de trabajo que contengan el nombre de un lenguaje de programación.

Por cierto, hicimos el mismo análisis el año pasado y encontramos algunos cambios interesantes de 2016 a 2017, que explicamos a continuación. Así que sin más preámbulos, aquí están los 9 lenguajes  de programación más demandados para este 2017.


#1 SQL

El número de descripciones de trabajo en Indeed que han incluido SQL (Structured Query Language) aumentó en casi 50.000 este año respecto al año pasado, dando a SQL una espectacular ventaja sobre los otros lenguajes. Está muy claro que SQL sigue siendo el líder en nuestro análisis. SQL se utiliza para comunicar y manipular bases de datos. Es sumamente común, con muchas variaciones como MySQL y Microsoft SQL. Microsoft lanzó SQL Server 2016 el año pasado, que ha resultado ser sorprendentemente popular y ha introducido varias características nuevas para hacer que el lenguaje sea más de código abierto con la integración de R, el popular lenguaje de programación de análisis de datos, y una versión para Linux.

#2 Java

El número de puestos de Java disponibles en Indeed ha aumentado en casi 30.000 el 2017 en comparación con 2016, posiblemente debido al continuo crecimiento de Android. Java es un lenguaje de programación sencillo y legible utilizado por millones de desarrolladores y miles de millones de dispositivos en todo el mundo. Todas las aplicaciones nativas de Android se construyen en Java y el 90 por ciento de las empresas Fortune 500 utilizan Java como lenguaje de servidor para el desarrollo backend. Hay mucho entusiasmo con el próximo lanzamiento de Java 9 en julio de 2017, a pesar de que Java Enterprise Edition declinó en popularidad en 2016.

#3 Python

Python siguió creciendo en popularidad en 2016 y subió dos lugares en nuestra clasificación para ser el tercer lenguaje más solicitado por puesto de trabajo. Python es un lenguaje de programación de propósito general que enfatiza la legibilidad del código y aumenta la productividad del desarrollador, que se utiliza para aplicaciones de escritorio, aplicaciones web y minería de datos. En octubre de 2016, Microsoft lanzó la versión beta 2.0 de su framework open source de aprendizaje profundo Cognitive Toolkit, que incluye soporte para Python.

#4 JavaScript

JavaScript (diferente a Java) bajó un lugar en nuestra clasificación en comparación con 2016, pero por otra parte el número de ofertas de trabajo se ha mantenido aproximadamente igual. Se trata principalmente de un lenguaje de scripting dinámico del lado del cliente, que se utiliza para el desarrollo de front-end. JavaScript es compatible con todos los navegadores, se utiliza en más del 90 por ciento de todas las páginas web y es el lenguaje más popular en StackOverflow. La compatibilidad y adopción de JavaScript 6 continuó creciendo en 2016 y las Progressive Web Apps se han vuelto más usables, habilitando la funcionalidad 'offline-first' para aplicaciones web.

#5 C++

C++ ha aumentado cerca de 20.000 empleos publicados durante 2016 y pasó a tomar el quinto lugar. Hecho en C, el abuelo de todos los lenguajes de programación, C++ es un poderoso lenguaje de alto rendimiento utilizado para construir software de sistema, motores de juegos y aplicaciones de escritorio y web. Muchos principiantes consideran a C++ más difícil de aprender que lenguajes dinámicamente tipados como Python o JavaScript.

 #6 C#

"C Sharp" tuvo un pequeño aumento de popularidad en 2017, pero no lo suficiente como para superar a  C++. El lenguaje se desarrolló en principio para el software framework .NET de Microsoft y ahora se puede usar en máquinas que no sean Windows desde el lanzamiento de la plataforma de desarrollo de código abierto .NET Core en junio de 2016. Su uso principal es la construcción de software empresarial de Microsoft. La mayoría de las características de C# 7.0 fueron lanzadas el año pasado, incluyendo soporte del lenguaje para tuplas, funciones locales, concordancia de patrones y mucho más.

#7 Perl

Perl tuvo un gran salto en popularidad el último año al ponerse por delante de iOS-PHP y eliminar a Ruby de nuestra lista. Perl, o "la cinta adhesiva que sostiene Internet", como se le se considera, en realidad son dos lenguajes ahora; Perl 5 y Perl 6, que se lanzó en diciembre de 2015. Ambos son lenguajes de programación dinámicos de propósito general que se usa mucho en CGI, gráficos, redes y programación de finanzas. Algunos piensan que el crecimiento de DevOps provocó este aumento de popularidad porque Perl es versátil y funciona bien con otros lenguajes, por lo que es una buena herramienta de DevOps.

#8 Familia iOS


La mayoría de los desarrolladores que codifican para el sistema operativo iOS utilizan Objective-C, C o el nuevo lenguaje de programación Swift de Apple. Contabilizamos cualquier oferta de trabajo que incluía "iOS" en nuestra clasificación y tuvimos pocos cambios a partir de 2016. Swift se lanzó en 2014 y aumentó rápidamente en popularidad debido a su escalabilidad, velocidad, facilidad de uso y fuerte demanda del mercado de aplicaciones para dispositivos móviles. Apple lanzó Swift 3.0 en setiembre de 2016 con nuevas características, incluyendo una mejor traducción de las API de Objective-C, modernizaciones de identificadores de depuración y un nuevo modelo para colecciones e índices. Apple planea lanzar Swift 3.1 y Swift 4 en 2017.

#9 PHP

PHP se quedó en el mismo lugar en nuestro ranking de 2016 a 2017 con poco cambio en popularidad. Es un lenguaje de programación del lado del servidor que se utiliza en más del 80 por ciento de los sitios web actuales, incluyendo Facebook, Wikipedia, Tumblr y WordPress. No ha sido el lenguaje más sofisticado de 2016, pero el gran número de sitios web hechos con PHP asegura que siga siendo una habilidad conveniente para los desarrolladores a día de hoy, especialmente cuando se combina con Javascript y SQL.

¿Dónde está Ruby?

Ruby on Rails, que fue el número 9 de nuestra lista el año pasado, cayó varios lugares, hasta el número 17. Esto puede deberse a que Ruby ha perdido parte de su cuota de mercado frente a  alternativas cada vez más populares como Node.js y Go.

Si hay algo que queremos resaltar de este análisis, es que ningún lenguaje de programación puede llevar a cabo todas las tareas y el mercado laboral cambia rápidamente año tras año. Para ser un desarrollador exitoso, es importante dominar varios lenguajes y ser autodidacta para adquirir nuevos conocimientos rápidamente, y de esta manera poder adecuarse a las oportunidades de trabajo que se presenten.

Vía: Coding Dojo Blog

Firefox OS está muerto: Mozilla despide a su equipo de desarrollo y abandona definitivamente el proyecto


Firefox OS, también conocido entre los desarrolladores como Boot2Gecko, fue un ambicioso proyecto iniciado por Mozilla. El equipo había probado el éxito con Firefox como un navegador de código abierto, compitiendo contra otras alternativas de código cerrado, como Google Chrome e Internet Explorer. Así que cuando Firefox OS fue anunciado en 2013, muchos entusiastas del código abierto esperaban ver el mismo éxito contra competidores como Android e iOS.

Desafortunadamente, las cosas no han ido como se había planificado. Aunque Firefox todavía conserva una gran base de seguidores en PC de escritorio y navegador móvil, la situación ha sido muy mala para Firefox OS, tanto que el proyecto ya está oficialmente muerto.

Esta situación no debería sorprender a las personas que siguen el proyecto. Firefox OS de Mozilla nunca llegó a ser un competidor a la altura dentro de los sistemas operativos móviles, ya que no pudo atraer a los usuarios con la implementación de aplicaciones web y el uso de APIs web abiertas. Mozilla había anunciado sus intenciones de interrumpir el desarrollo a finales de 2015, y finalmente cesó todo el desarrollo del sistema operativo móvil en 2016.

El clavo final en el ataúd proviene de Mozilla, al despedir al equipo encargado de llevar Firefox OS a dispositivos conectados, que fue el intento de implantar el sistema operativo a dispositivos IoT. El despido afecta a unos 50 empleados, según el informe de CNET. Algunos de los empleados afectados serán trasladados a nuevas posiciones dentro de Mozilla, mientras que otros serán despedidos.

La intención de Mozilla detrás de sus esfuerzos no era ganar dinero, sino impulsar una mejora en la experiencia global en la web. Firefox OS fue uno de esos proyectos, pero Mozilla no pudo, por desgracia, cumplir con su objetivo.

Vía: XDA Developers