Etiqueta : programacion

Así hemos vivido Women Techmakers Madrid 2017

post image

Por Leticia Tierra
Marketing Manager de OpenSistemas

 

La semana pasada se celebró la 117 conmemoración del Día Internacional de las mujeres, proclamado por Clara Zetkin, una de las representantes más visibles de la corriente del feminismo socialista, en 1910 en honor a las obreras textiles que murieron encerradas y calcinadas dos años antes y cuya tragedia sirvió para conseguir mejores condiciones laborales de seguridad y de reducción de jornadas.

La iniciativa Women Techmakers de Madrid (#WTMMadrid) ha organizado su encuentro anual, el sábado 12 de marzo, donde mujeres de varias disciplinas dentro del mundo de la tecnología son protagonistas compartiendo su trabajo y experiencias con las demás.

Se trata de la segunda edición del evento y no queremos dejar pasar la ocasión para felicitar a las organizadoras, pues fue, sin duda, ha sido uno de los mejores eventos de tecnología a los que he asistido.

Aquí van mis 5 razones:

 

Las charlas fueron de gran calidad y absolutamente adecuadas a la audiencia.

 

Las ponentes consiguieron adaptar sus discursos a una audiencia dispar, de diferentes ámbitos profesionales y diferentes experiencias.

A pesar de que todas las que estábamos allí pertenecemos al sector tecnológico y tenemos una visión general de temas como Big Data o Internet of Things, no todas tenemos el conocimiento para adentrarnos en los detalles de los temas.

Ellas consiguieron contar su día a día y su trabajo desde los más variados ámbitos, desde la programación web hasta la investigación en la seguridad en la nube, haciéndolo interesante y compartiendo con las demás sus desafíos y las nuevas tendencias.

Parece que hay mujeres para dar charlas como para llenar un evento con dos tracks. Parece que pueden ser brillantes. Y parece que simplemente hay que crear las condiciones para que el talento se revele.

 

Las entradas volaron en unas pocas horas.

 

Ya en su primera edición, el Women Techmakers tuvo una gran acogida entre el público, pero este año, bajo mi punto de vista, se respiraba algo diferente.

El auditorio de Campus Madrid se quedó pequeño acogiendo, no solo a mujeres interesadas en la tecnología, sino a hombres con ganas de participar y apoyar un evento de mujeres.

No solo estaban ahí para ver a sus compañeras. Estuvieron en todo el evento, respetando los espacios y los protagonismos de sus colegas. Y no eran dos o tres o los compañeros de las ponentes, de lo que me alegro mucho. Eran al menos el 30%.

 

Donde hay mujeres suele haber niños, y lo hicimos compatible.

 

Es verdad que el hecho de que el evento fuera un sábado no ayuda, pero parece que las mujeres no somos capaces de buscar espacios propios sin nuestros hijos.

 

 

Es injusto generalizar, pero lo cierto es que la mayoría de las mujeres que estaban allí acudían sin su prole, generando y aprovechando el espacio para ellas.

Las organizadoras lo sabían y por ello crearon un taller para que los pequeños estudiaran la creatividad. Parece que si se quiere, se pueden crear espacios donde hacer partícipes a nuestra familia con nuestras profesiones, nuestras redes e incluso nuestras pasiones. Y a mi me parece una lección aplicable a muchos otros espacios.

 

Sponsors buscando diversidad.

 

En evento no solo fue esponsorizado por Google, sino que Accenture, Paradigma Tecnológico, Idealista, Data Tones, Kaleidos y Codesa acudieron al evento con ganas de fichar talento y convertirse en una opción laboral para las mujeres. Material divulgativo en los welcome packs y mucho de su staff identificado con camisetas bien visibles abiertos a conocer y captar talentos.

Cada vez la diversidad en las empresas es más deseada y se trabaja de forma proactiva para lograrla.

 

Mujeres organizadas.

 

#WTMMadrid también dio espacios a la presentación de iniciativas asociativas o en forma de meetup que han ido surgiendo y que, de una forma u otra, buscan que haya más mujeres en tecnología y dar visibilidad a las que ya hay.

Referentes crean nuevos referentes y nuevos talentos, como el de la pequeña Alejandra Monera, de tan solo 7 años e hija de nuestro CINO, Fernando Monera, cultivan e inspiran a las nuevas generaciones. Alejandra contó en 10 minutos su experiencia con la robótica, Minecraft y la tecnología en general, con una capacidad comunicadora increíble.

 

 

Por otra parte, se presentaron las nuevas comunidades Girls in Tech Spain y Tech SHEssions, esta última por nuestra compañera Eva Mosquera. Ambas iniciativas orientadas sobre todo a la formación en habilidades comunicativas y formativas a mujeres para su inclusión en carreras STEM.

En este aspecto, eché de menos algo más de activismo, ya que las mujeres solemos tener una media de 5 puntos curriculares más que los hombres y hay muchos estudios que demuestran cómo el medio presiona y altera el desempeño de las mujeres.

Es por tanto que las acciones colectivas deben acompañar a las individuales, de forma que se creen espacios donde las mujeres estén cómodas y se sientan libres para desarrollar todo su potencial.

El año que viene volveremos, más, con más ganas, involucrando a más empresas y haciendo que nuestro talento sea el argumento de peso para la diversidad.

 

Feliz Día Internacional de la Mujer

post image

Por Eva Mosquera
Tech Communications & Mkt. Specialist de OpenSistemas

Hoy es 8 de Marzo, Día Internacional de la Mujer. Sin embargo, no es un día sólo para dar felicidades, es una jornada que conmemora la lucha de la mujer por su participación, en pie de igualdad con el hombre, en la sociedad y en su desarrollo íntegro como persona.

A lo largo de la historia, esta lucha ha conseguido hitos como la Declaración de los Derechos de la Mujer y de la Ciudadanía durante la Revolución Francesa, el derecho a la alfabetización, el sufragio femenino, la separación entre reproducción y sexualidad, la defensa de la maternidad libre, el acceso a la universidad, la liberación femenina….

Y ahora… ¿Qué más podemos hacer?

La mujer todavía lucha por la igualdad salarial y por acabar con comportamientos sociales heredados de épocas pasadas en las que la mujer era considerada un mero objeto decorativo, y esa es una lucha que deben pelear hombres, mujeres y empresas por igual. También lucha por romper el techo de cristal y ocupar puestos directivos para los que están altamente cualificadas, así como por hacerse un hueco en carreras que sufren la llamada ‘brecha de género’, como en Tecnología.

¿Es que no hay mujeres en Tecnología? ….Como dicen en mi tierra, ¡haberlas haylas!, el problema es que son tan pocas que en lugar de destacar se vuelven invisibles. Así que, a todas las mujeres que se dedican a la Tecnología dentro y fuera de nuestras oficinas, les invitamos a brillar y a destacar, a convertirse en un role model para las generaciones que vendrán, y que cada vez veamos más mujeres programando. Lo más importante no es hablar más alto, ni más claro, es dar ejemplo con vuestro talento.

Así que, a todas vosotras…. ¡gracias por demostrar que Mujer y Tecnología son compatibles!

Y para terminar, os dejo una lista de mujeres que pueden ser un ejemplo para todas nosotras (¡y todos!), os animo a investigar sobre ellas, si todavía no las conocéis:

– Ada Lovelace

– Heddy Lamar

– Jude Milhon

– Frances E. Allen

– Edith Clarke

– Grace Murray Hopper

– Rózsa Péter

– Evelyn Berecin

– Lynn Conway

– Frances E. Allen

– Marissa Meyes

– Sheril Sandberg

– Virgnia Rometty

– Meg Whitman

– …

Y por supuesto, bien merecido tienen las mujeres de OpenSistemas engrosar esta lista de mujeres inspiradoras:

  • MARIA TERESA LUQUE
  • GEMA PARREÑO
  • MARTA OLIVER
  • SOLEDAD CARRACEDO
  • MONICA ROMERO MORENO
  • LAURA MILLER
  • EVA MARIA GONZALEZ
  • MARTA ROMERO
  • MARIANA CARELA
  • IRENE GARCIA
  • MIRIAM GARCIA
  • SORAYA MUÑOZ
  • LETICIA TIERRA
  • EVA MOSQUERA

Además, no se me puede olvidar felicitar y dar las gracias a los hombres que contribuyen a dar voz al mensaje feminista, no sólo con sus palabras, sino también con sus actos.

A todos y a todas… ¡Felicidades y gracias por contribuir a cambiar el mundo! 🙂

La cigarra y la hormiga en la Transformación Digital

post image

Por Javier Viñuales
Digital Transformation Manager de OpenSistemas

 

La cigarra era feliz disfrutando del verano económico:  El sol brillaba, el software privativo desprendía su aroma y las administraciones públicas o empresas compraban, compraban software y hardware, compraban sin parar, como si no hubiera un mañana…y la cigarra se meneaba altanera. Mientras tanto su amiga y vecina, una pequeña hormiga, pasaba el día entero frikeando, hackeando, compartiendo conocimiento en grupos locales Linux o BSD, conociendo a gente, aprendiendo sin parar.

 

– ¡Amiga hormiga! ¿No te cansas de tanto hacer el friki? Descansa un rato conmigo mientras te regalo software y un flamante nuevo equipo ordenador para que disfrutes el momento. – Le decía la cigarra a la hormiga.

– Mejor harías en abrirte un poco, colaborar en red, prepararte para el invierno económico y dejarte de tanta altanería – le respondía la hormiga, mientras descargaba código fuente, aprendía, lo mejoraba y lo subía a repositorios públicos, lo liberaba, atareada y feliz haciendo que los viejos ordenadores ejecutaran su software.

 

La cigarra se reía y seguía altanera sin hacer caso a su amiga.

Hasta que un día, al despertarse, sintió el frío intenso del invierno económico, había llegado la crisis. Los clientes se habían quedado sin presupuesto y del cielo caían copos de nieve, mientras la cigarra vagaba por los despachos, helada y hambrienta. Vio a lo lejos la casa de su vecina la hormiga, y se acercó a pedirle ayuda.

 

– Amiga hormiga, tengo frío y hambre, vengo poco, no me hacen caso como antes los clientes ¿no me darías algo que vender?. Tú tienes mucho software, que se ejecuta tanto en hardware pequeño como en la nube, mientras que el mío necesita muchos recursos y no lo compran como antes.

 

La hormiga entreabrió la puerta de su casa y le dijo a la cigarra.

 

– Dime amiga cigarra, ¿qué hacías tú mientras yo frikeaba como tu decías?, ¿que hacías mientras yo contribuía al proyecto Debian, a Linux, Apache o a FreeBSD?, ¿qué hacías mientras yo compartía conocimiento, lo publicaba con licencia libre y creaba comunidades abiertas con otras personas como yo?.

– Me meneaba altanera bajo el Sol – contestó la cigarra.

– ¿Eso hacías? Pues si te meneabas altanera en el verano, ahora …

 

… únete a la Transformación Digital con nosotros, con la Comunidad Open Source, haciendo que tus programas hablen con los nuestros, mezclando código respetando licencias libres, liberando el tuyo, creando ecosistemas y plataformas de desarrollo basadas en open source, liderando proyectos. Has sido innovador y lo sigues siendo, hay mucho por hacer pero el mundo ya no es como era, todo va muy deprisa y ha de ser flexible, interoperable, modular, abierto…

… la Transformación Digital ha de estar estar cimentada en conocimiento abierto, en estándares abiertos e implementaciones en software y hardware libres. Lo privativo no puede ni debe desaparecer, es fundamental que siga existiendo pero, los cimientos de la transformación, la base de todos los saltos cuánticos en la sociedad del conocimiento, ha de ser libre.

Docker para desarollo

post image

Por David González
Big Data Manager de OpenSistemas

¿Cuanto tiempo invertimos en montar los entornos de desarrollo? Una persona experimentada, puede montar un entorno LAMP en apenas 15 minutos, pero no siempre estamos ante este tipo de perfiles, pudiendo provocarse cuellos de botellas que implican distracciones de tareas más importantes para los miembros senior. Incluso en ocasiones, la complejidad del proyecto es tal, que un perfil de estas características puede necesitar un tiempo para aclimatarse. Supongamos un proyecto que realizamos hace un par de años y que comienza su segunda fase, es necesario recurrir a la documentación (en el mejor de los casos) para ver las librerías y las versiones necesarias, obligando a veces a modificar el entorno actual.

 

No hay que olvidar que muchas personas trabajan en varios proyectos, en este caso la situación  se agrava, supongamos que para uno de los proyectos se utilizan diferentes versiones de PHP y de MySQL, no es tan trivial el manejo, y muchas veces se opta por una versión que no es la indicada porque el desarrollo funciona, esto puede acarrear problemas en el futuro, ya que los desarrollos que realiza podrían no funcionar posteriormente con la versión oficial del proyecto.

Docker al rescate!

En la mayoría de las empresas se desarrolla sobre un control de versiones (me gustaría poder decir que en todas), utilizando todo el equipo un mismo repositorio donde van agregando las funcionalidades. ¿No sería genial que al descargar el repositorio, ya tuviéramos todo lo necesario para trabajar?… ojalá, pero descargarse todo el entorno de desarrollo es demasiado costoso, una imagen que contenga la foto completa puede ocupar cientos de MB. Sin embargo utilizando docker-compose, podemos guardar la “foto” de un entorno completo en pocos MB (incluso < 1MB)… Además, estos ficheros son texto plano, nuestro control de versiones podría informamos de cualquier cambio en la arquitectura. La cosa se pone interesante, manos a la obra:

 

Supongamos el siguiente repositorio git:

+ app

+ test

 

Añadamos nuestra carpeta de docker:

+ app

+ test

+ docker

 

Queremos montar un entorno LAMP, así que vamos a crear una arquitectura de contenedores con Apache, PHP y MySQL. Vamos a definirlo en nuestro docker-compose.yml:

 

version: ‘2’

services:

mysql:

image: mysql

container_name: app_mysql

environment:

MYSQL_ROOT_PASSWORD: root

ports:

– ‘3306:3306′

volumes:

– db:/var/lib/mysql

php:

image: php:7-apache

container_name: app_php

ports:

– ’80:80’

volumes:

– ../app:/var/www/html

depends_on:

– mysql

extra_hosts:

– “local.app.com:127.0.0.1”

volumes:

db:

 

Si ejecutaremos “docker-compose up”, crearíamos dos contenedores, uno con PHP y Apache, y otro con MySQL. Al primero podríamos acceder por el puerto 80 desde nuestro ordenador, y al segundo accederíamos tanto desde nuestro ordenador por el 3306 como desde el primer contenedor.

 

En el primer contenedor hemos montado un volumen, que tiene nuestro código (versionado 😉). Esto es genial porque no es una foto del momento en el que se creó el contenedor, sino una referencia. Es decir, suponiendo que usamos Git, si hacemos un Git Pull, vamos a ver los cambios inmediatamente en nuestro navegador.

 

Por desgracia, esto no sirve de mucho, seguramente necesitemos habilitar algún mod de Apache, o utilizar un virtual host, o cualquier cambio de configuración que no este incluido en la imagen oficial… No os preocupéis, vamos a crear nuestras propias imágenes (mejor, nuestras propias definiciones de imágenes, y también estarán versionadas.

 

Recordemos en que punto estamos, y añadamos un par de carpetas:

 

+ app

+ test
– docker

– docker-compose.yml

+ php

+ mysql

 

Modificamos nuestro docker-compose.yml para decirle que la imagen va a ser construida:

 

version: ‘2’

services:

mysql:

build: ./mysql

container_name: app_mysql

environment:

MYSQL_ROOT_PASSWORD: root

ports:

– ‘3306:3306′

volumes:

– db:/var/lib/mysql

php:

build: ./php

container_name: app_php

ports:

– ’80:80’

volumes:

– ../app:/var/www/html

depends_on:

– mysql

extra_hosts:

– “local.app.com:127.0.0.1”

volumes:

db:

 

Ahora, vamos a por nuestros docker files, empezamos por el sencillo, mysql:

 

FROM mysql:5.7

#COPY ./my.cnf /etc/mysql/conf.d/

 

Este docker file realmente no hace nada, podíamos haber dejado la imagen como estaba, pero si quisierais meter una configuración especial, bastaría con desconectar esa linea y meter el fichero en la carpeta. Ahora vamos con el siguiente php+apache:

 

FROM php:7-apache

ADD app.conf /etc/apache2/sites-enabled/app.conf

COPY php.ini /usr/local/etc/php/

RUN a2enmod rewrite

RUN apt-get update \

&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev \

&& docker-php-ext-install pdo_mysql mysqli mbstring gd iconv mcrypt

 

Esto ya es otra historia, veamos que hace cada linea:

  • Añadimos el fichero del virtual host al contenedor
  • Remplazamos el php.ini por uno propio
  • Habilitamos el módulo rewrite
  • Instalamos las librerías necesarias para el correcto funcionamiento de la aplicación.
Finalmente tendríamos la siguiente estructura:

+ app

+ test
– docker
  – docker-compose.yml
  – php

– Dockerfile

– php.ini

– app.conf

– mysql

– Dockerfile

– my.cnf

 

Ahora si, ejecutando “docker-compose up -d” tendremos todo nuestro entorno montado!

 

Espero que os haya gustado, pero sobre todo que os sea de utilidad. Me gustaría acabar el post diciendo los siguientes pasos que se me ocurren, y que pueden ser interesantes. Por un lado, generalizarlo y crear configuraciones específicas para cada tipo e proyecto (LAMP, Node+MongoDB, Niginx…), así al descargar un repositorio vacío de un proyecto X, ya tendríamos el 80% del entorno montado y solo tendriamos que personalizarlo. Y por otro lado, utilizarlo como entorno de desarrollo “no local”, aprovechando los driver que nos ofrece Docker-Machine, haciendo muy sencillo crear la misma infraestructura en la nube.

 

Nota: Prestad atención a los nombres de los ficheros y aseguraos de tener los puertos libres. Aquí podéis descargar una carcasa de la parte de Docker de prueba.

CasperJS, la aspiradora de datos que usamos en Electiona

post image

Por Nacho Escudero
Cloud Architect de OpenSistemas

Durante nuestro día a día nos encontraremos muchas veces webs con contenido importante, datos muy interesantes, que se actualizan con frecuencia y cuyos datos necesitamos para nuestro proyecto. Pero al ir a usar algún servicio que proporcione dicha web para acceder a los datos o descargarlos, nos daremos cuenta de que no existe ningún tipo de servicio de fácil acceso a la información o simplemente el servicio de publicación tiene un coste o complejidad que nos impide usarlo.

Si estás en esa necesidad: los datos son muy importantes para el proyecto y no puedo acceder a ellos de ninguna otra manera salvo “a mano” debes plantearte hacer uso de CasperJS.

CasperJS es un lenguaje de scripting basado en Javascript. Aporta un nivel de abstracción sobre PhantomJs. Por lo tanto, es un lenguaje usado para navegar por la web sin un entorno visual, realizar revisiones de aplicaciones online, monitorizar, capturar pantallas o automatizar acciones en cualquier página.

Ésta última característica es la que más nos interesa, ya que queremos extraer información. Mediante selectores CSS3 o XPath navegaremos hasta el contenido que nos interesa, podremos acceder a la información que contienen los elementos seleccionados y realizar acciones sobre ellos.

Las acciones más interesantes suelen ser: hacer click en un botón o enlace, rellenar formularios o revisar valores de tablas. La toma de decisiones en función de los resultados, el manejo de errores, los eventos, son otras de sus características.

La instalación es muy sencilla: si tienes npm instalado en tu sistema, mediante los siguientes comandos:

npm -g install phantomjs
npm -g install casperjs

Ya tendrías tu entorno preparado para trabajar.

Aquí se puede ver cómo usarlo para guardar en un array y mostrar todos los enlaces de una búsqueda:

var casper = require('casper').create();
var links;
function getLinks() {
// Rastreo de links
    var links = document.querySelectorAll('ul.navigation li a');
    return Array.prototype.map.call(links, function (e) {
        return e.getAttribute('href')
    });
}
// Abre casperjs 
casper.start('http://casperjs.org/');
casper.then(function () {
    links = this.evaluate(getLinks);
});
casper.run(function () {
    for(var i in links) {
        console.log(links[i]);
    }
    casper.done();
});

El resultado sería:

$ casperjs query-casperjs.js
http://docs.casperjs.org/en/latest/quickstart.html
http://docs.casperjs.org/en/latest/
https://github.com/casperjs/casperjs
https://groups.google.com/forum/#!forum/casperjs

En OpenSistemas se lleva usando CasperJS desde hace unos años. Nuestro producto Electiona hace uso de él para extraer los datos de escrutinio e histórico en las administraciones que no tienen un sistema de envío de información mediante otros servicios o protocolos. Mediante clave de acceso, se accede a la web de la administración durante la noche electoral y se descargan los ficheros desde enlaces cuando se publican. Todo ello de manera automatizada y parametrizable.

OpenSistemas homenajea a la mujer en la tecnología

post image

Por Eva Mosquera
Communications Manager de OpenSistemas

Si tuviésemos que ponerle una etiqueta al año que se avecina, diríamos que 2017 es el año del crecimiento, pero no sólo como empresa, sino también en todo lo que concierne a nuestra responsabilidad corporativa. Y es por eso que hemos dado la bienvenida al 2017 con un calendario muy especial que representa el compromiso que OpenSistemas alberga para luchar contra la brecha de género en ciencia y tecnología. Así, cada mes del año homenajea a muchas de las célebres mujeres que han dejado y dejan su huella en la historia para demostrar que estos campos no son ni deben ser terrenos sólo pisados por hombres.

 

marzo_2017

 

Así, personalidades que van desde las pioneras Marie Curie o Ada Lovelace, hasta mujeres contemporáneas como Margot Gerritsen, directora del Instituto de Ingeniería Computacional y Matemática, se convierten en mentoras de las profesiones científicas con algunas de sus famosas frases, como la siguiente, perteneciente a la astrónoma María Mitchell, que se convirtió en la primera persona en descubrir un cometa con un telescopio cuando las ciencias estaban restringidas a los hombres en universidades tan importantes como Harvard:

 

“En mis años jóvenes, solía decir ‘¡cuánto necesitan las mujeres las ciencias exactas!’ Pero desde que he conocido a algunos científicos que no siempre atienden a las enseñanzas de la naturaleza, que se quieren a sí mismos más que a la ciencia, digo: ‘¡Cuánto necesita la ciencia a las mujeres!”. María Mitchell

 

 

6 cualidades que debe tener todo buen programador

post image

Por Teodoro López
Talent Acquisition Manager de OpenSistemas

En Opensistemas nos importa mucho que un programador haga bien su trabajo, pero además valoramos ciertas cualidades que hacen que un programador destaque por encima del resto, y no todas ellas son conocimiento técnico. Existen ciertas habilidades sociales necesarias para un trabajo como el que se realiza en un entorno como el nuestro. El trabajo en equipo es esencial, y por ello no sólo hay que ser un buen programador, sino también un compañero con el que todos quieran trabajar y que sepa ser funcional.

1. Parsimonia

La parsimonia, es decir, la calma o la ligereza, entendida como contraposición a trabajar por trabajar, es una característica que tiene todo excelente programador. Y es que cierta dosis de parsimonia ayuda a economizar el esfuerzo, centrándose más en buscar la solución más sencilla a los problemas, evitando utilizar la última solución conocida, aunque sea compleja y ocupe más tiempo. Lo conozcas como “la navaja de Ockham” o el “principio KISS” (‘Keep It Simple, Stupid!’), lo cierto es que se trata de un clásico que conviene no olvidar.

2. Resiliencia

No importa lo simple que sea el proyecto en el que estés trabajando, siempre aparecerán dificultades que pondrán a prueba tu paciencia. Pueden ser plazos excesivamente cortos, errores inesperados, fallos del que se desconoce la causa… En estos casos, necesitas ser un programador resiliente. Con esto, nos referimos a anteponerse al estrés y a las emociones negativas y afrontar las dificultades tomando decisiones inteligentes.

3. Pensamiento lógico y planificación

Por suerte, minimizar estos problemas es posible. Aplicando la lógica en su debido momento (antes de comenzar a programar)se reducen la cantidad de errores inesperados, se plantean alternativas y posibles problemas y soluciones que puedan surgir, y además facilita lo hablado en el primer punto, mantener un enfoque sencillo hacia la solución.

4. Enfoque hacia otras personas

Esta tiene trampa y es normal que a muchas personas se les pase. Un buen programador nunca debería obviar el entorno al que pertenece, ya sea con el equipo, el cliente, los jefes de proyecto o las personas a su cargo, lo cierto es que estamos en contacto constante con gran cantidad de personas con las que hemos de trabajar. Mantener esto en mente, documentando para nuestros colegas, comentando el código, aprendiendo a explicar lo que hacemos al personal no técnico y transmitir las limitaciones y las posibilidades de nuestro trabajo de forma clara y concisa es una parte fundamental para distinguir a alguien “que pica código” de un gran profesional.

5. Curiosidad

La tecnología es un sector en constante crecimiento, tan constante que incluso es exponencial, por lo que tanto una aplicación como un currículum pueden quedar obsoletos en cuestión de años, a veces incluso meses. Tu especialidad puede estar tan pronto en la cresta de la ola como condenada al olvido por un concepto mejor o más moderno. Para superar esto necesitamos mantener viva la curiosidad que sentíamos cuando escribimos nuestras primeras líneas de código y todo era nuevo, no hay que trabajar siempre en lo mismo o en lo que nos consideramos expertos. La nuestra es una industria en constante movimiento, tu debes moverte con ella. Un buen programador debe mantenerse actualizado, saber hacia dónde se mueve el mercado y que nunca le pillen ‘con los pantalones bajados’.

6. Pasión

Lo último y lo más importante, es la pasión por el trabajo bien hecho. Sin ella mantener vivo el espíritu y cumplir con los puntos anteriores se convertiría en una labor tediosa y realmente difícil. Para ‘mantener la magia’, es necesario plantearse cada nuevo objetivo como un reto, intentar mejorar cada día, intentar ser más rápido y seguir no sólo las tendencias útiles, sino las que más nos interesan a nivel personal. De este modo, podremos seguir trabajando de forma constante y superar los obstáculos que aparezcan en nuestro camino para que, por mucho que avance la tecnología, nosotros vayamos un paso por delante de ella.

Obviamente quedan muchas cosas en el tintero y podrían escribirse decenas de líneas en torno al tema pero he preferido predicar con el ejemplo y mantener una filosofía KISS.

Y vosotros, ¿qué creéis que es fundamental para ser un buen programador?

Mi experiencia en CoderDojo

post image

Por Luis Flores
CEO de OpenSistemas

Aunque hace apenas poco más de dos meses que comencé mi colaboración como mentor en el grupo de Scratch de CoderDojo Madrid, parece que hubiera pasado ya más tiempo por lo interesante de la iniciativa, lo motivadora y lo inspiradora que sin ninguna duda ha resultado ser.

Me gustaría en todo caso comenzar diciendo que CoderDojo es una iniciativa internacional surgida en 2011 en Irlanda con el objetivo de enseñar a niños y jóvenes a programar. En los últimos años se ha extendido para convertirse en una red de centros en diversos países alrededor de todo el Planeta.

Actualmente existen varios CoderDojo en España y el grupo de Madrid se reúne en el espacio MediaLab Prado, del Ayuntamiento de la capital. Recientemente y a  través de Ashoka ―la mayor red internacional de Emprendedores Sociales Innovadores―, CoderDojo contó con una presentación en el entorno del Senado y que ofrece una idea del enorme potencial de esta iniciativa.

Lo primero que subrayaría de Dojo es que se trata de un proyecto de carácter privado al que se unen alumnos y mentores de forma libre, compartiendo un mismo espacio e intereses y bajo un enfoque lúdico, creativo y algo desestructurado. Personalmente, y en un país donde nos hemos acostumbrado demasiado a que ‘papá’ Estado nos resuelva las cosas, movimientos de este tipo resultan de gran valor y constituyen, bajo mi punto de vista, el germen de una sociedad futura más libre, más centrada en los intereses del ciudadano y en la actividad privada como motor de cambio.

Por otro lado, Dojo enlaza de manera ideal con nuestros valores como empresa en lo referente al fomento de la tecnología entre los más jóvenes, ya que resulta un laboratorio perfecto dentro del cual colaborar de manera individual y altruista en este orden de cosas y un ejemplo a imitar en este sentido.

El tercer aspecto realmente valioso de sitios como Dojo es la enorme cantidad de talento y buena gente que te puedes encontrar por la vida a poco que apagues el televisor. Montones de personas dedican voluntariamente su tiempo libre a ayudar a otros, a aprender, a enseñar o a compartir ideas y experiencias valiosas. En OpenSistemas nos gusta ese talento, que por otro lado enlaza históricamente con el asociacionismo y el movimiento del Software Libre y Linux, que es la razón de ser originaria de nuestro proyecto.

Y, por último y lo más importante, la pieza angular de todo esto son los niños. El primer reto cuando trabajas con niños es evidente: un chico de 8 años solo irá a un evento un sábado a las 5 de la tarde si se divierte y se lo pasa bien, así que partiendo de ese punto se acaban las imposiciones u obligaciones de carácter formativo: no es formación, es juego. La iniciativa tiene que funcionar desde el punto de vista de quienes la consumen y quienes la consumen, al menos en esas edades, buscan jugar y divertirse.

En el grupo de Scratch, y en particular en la lista de correo asociada al grupo, son habituales los comentarios acerca de cómo atraer la atención y motivar a los chavales: trabajando sobre todo juegos donde ellos pueden probar jugando lo que han programado, planificando actividades para varias sesiones que les permiten establecer metas más ambiciosas, modificando juegos que otros han hecho, pensando detalles que facilitan su creatividad (un niño puede dedicar horas a elegir el fondo de pantalla que más le gusta para su juego del espacio) o compartiendo con los compañeros los avances realizados.

Es particularmente interesante la idea de comenzar las sesiones con una dinámica de grupo donde se plantea ejemplificar a través de una actividad lo que posteriormente puede desarrollarse en la sesión de Scratch, ya que establece un nexo de unión entre lo que ocurre dentro de un ordenador y fuera de él, sugiriendo la aplicación de la tecnología como solución a un problema físico real, tecnología como herramienta y no como fin en sí mismo.

En el otro lado de la balanza está la necesidad de establecer una metodología sobre cómo hacer que el juego implique también nuevo aprendizaje, con posiciones más cercanas a un modelo más estructurado y lineal de aprendizaje, o más libre y anárquico, ambos con sus ventajas e inconvenientes, y donde todos aprendemos seguramente a valorar el extremo que menos apoyábamos inicialmente.

Y el último pero no menos valioso elemento de esta cadena de valor que acabo de presentar someramente, son los padres, algunos de los cuales llegan a ser verdaderos expertos en la materia a fuerza de ayudar y colaborar en todo.

¡Toda una experiencia que no ha hecho más que comenzar y de la que seguiremos disfrutando!

Codemotion 2014 Madrid

Por Liane Figueroa

Developer en OpenSistemas

 

Hace unos días se celebró la tercera edición de Codemotion Madrid, un evento hecho para todas las comunidades de programadores de España. Esta vez las salas de la Universidad CEU San Pablo nos abrieron sus puertas y acogieron durante dos días de intercambio de conocimiento y acercamiento a nuevas tecnologías.

Codemotion Madrid 2014

Asistentes al track 1 de la edición 2014 de Codemotion celebrada en Madrid.

(más…)

Nuestro sector no está muerto, sino todo lo contrario

Por Javier Sotomayor Aramburu
COO de OpenSistemas

Compartía en Twitter un compañero hace unas semanas un enlace a un post que trataba sobre el por qué se moría la profesión de informático, sobre todo en el sector servicios. Básicamente comentaba que lo que se vende son “horas/hombre”, que el modelo es colocar a cuanta más gente mejor el mayor tiempo posible, que no se busca el hacer el mejor trabajo ni un buen desarrollo si no simplemente sacar un margen a la gente y que si se quería evolucionar no quedaba otra que hacerse “manager”. Muy de acuerdo con él en muchas cosas, aunque no con el tono negativo de su post. No nos engañemos, es que este sector funciona así. (más…)