Entradas

3 puestos de trabajo para el proyecto europeo POSTDATA

Se convocan 3 puestos de trabajo en Humanidades Digitales en Madrid, asociados al Proyecto europeo ERC-Stg-2015 POSTDATA: “Poetry Standardization and Linked Open Data”, dirigido por Elena González-Blanco, cuya duración se extenderá hasta abril de 2021.
El proyecto tiene como objetivo la creación de un modelo semántico de datos enlazados abiertos que facilite la interoperabilidad entre las diferentes tradiciones poéticas y sus correspondientes proyectos digitales. Propone un doble sistema de estandarización que parte de las raíces filológicas de las diferentes tradiciones poéticas, con el fin de abstraer los conceptos transformándolos en un sistema flexible estructurado, una ontología, poblada de vocabularios controlados que, integrada en una plataforma digital, permita editar, indizar, analizar y compartir colecciones de poesía a los usuarios en diferentes lenguas.
Se ofrecen 3 contratos con las siguientes características y requisitos:

Research Software Engineer (Digital Humanities):

https://euraxess.ec.europa.eu/jobs/460131 

Postdoctoral Researcher in Digital Humanities (background in Philology/Literature/Computational Linguistics):

https://euraxess.ec.europa.eu/jobs/460144

Research Fellow in Ontologies and Linked Open Data (Digital Humanities):

https://euraxess.ec.europa.eu/jobs/460150

Las solicitudes deben enviarse antes del 9 de diciembre de 2019, y se aceptarán hasta que los puestos se hayan cubierto. Los contratos comenzarán preferiblemente a mediados de enero 2020.

El curso más completo de programación Swift para 2019

Tenemos la gran alegría de mostrarte en detalle el curso más completo de programación Swift impartido en la UNED. A partir del día 16 de enero de 2019 comienza el curso “Título de Experto Profesional en Desarrollo Profesional de Aplicaciones iOS con Swift para dispositivos móviles”.

La metodología combina las técnicas más avanzadas. Los objetivos del curso son muy claros. El curso está dividido en varios módulos. En este artículo te explico en detalle el módulo de programación Swift, que para simplificar lo llamaremos curso de Swift. Además, quiero que descubras cómo aprenderás a programar con Swift.

¿Por qué es el más completo curso?

Es el curso más completo porque ha surgido desde la experiencia en la creación de apps, está lleno de actividades prácticas, tiene retos de programación basados en casos reales con sus soluciones, tendrás clases con tutorías semanales en directo mediante videoconferencias y obtendrás un título de la UNED. Tú eres el centro del curso y siempre estarás acompañado. Aprenderás y practicarás la programación Swift hasta que adquieras la fluidez que necesitas para la creación de aplicaciones.

Hay muchos cursos para aprender a programar con Swift. Los títulos están muy pensados para que capten tu atención: “Curso completo de Swift…”, “El curso avanzado de Swift…”, “….de Cero a experto con Swift….”, “… sé un profesional con Swift…”, “… el mejor curso de Swift…”, “…de cero a profesional con Swift…”, y la lista se hace interminable. El título desde luego que es importante, pero más importante son los contenidos. Aquí es donde un material académico creado para la Universidad tiene un gran valor.

Como sabes, cuando escribes las palabras “curso swift” en el buscador de Google te aparecen millones de búsquedas. Por eso la gran pregunta es: ¿Cómo saber cuál es el curso más completo y actual de Swift?

El curso más completo y actualizado de Swift

La respuesta es sencilla. Primero, fíjate en la versión del lenguaje Swift y profundiza en los contenidos del temario.

La última versión de Swift es la 4.2 que se presento en la WWDC (World Wide Developer Conference) de Apple en junio de 2018. Swift 4.2 se utiliza en la versión iOS 12. Por otro lado, a principios de 2019 se presentará la versión 5, tal y como se anunció en esta WWDC 2018.

Antes de leer el temario de los cursos de Swift, es súper importante que tengas definido para qué quieres aprender a programar Swift. ¿Lo haces por curiosidad o para dedicarte a nivel profesional?

He visto a muchos profesores autodidactas, con grandes ganas de emprender, que han creado cientos de cursos de Swift. Los aplaudo por sus esfuerzos y ganas de explicar. Así han llegado los video cursos y los video tutoriales. Su calidad es buena para ser personas que han aprendido a base de otros tutoriales. Si sólo tienes curiosidad por saber lo que es programar una aplicación es una opción a bajo coste. Son cursos para pasar el rato. Sin más pretensiones profesionales.

En cambio, si tu objetivo es profesional. Aquí tienes que ser más selectivo con el curso. Necesitas aprender de alguien que ha trabajado a nivel profesional. Preferiblemente en proyectos grandes para empresas y también en sus propias aplicaciones. Sólo se adquieren las dinámicas de trabajo profesionales cuando realmente lo haces por años. La razón está que cuando tienes una profesión obtienes resultados. Esto significa que dedicarás tiempo para hacer apps de calidad. Si eres capaz de trabajar de forma rápida y con calidad recibirás un pago en dinero. Esta recompensa económica la obtendrás mediante un sueldo si trabajas en una empresa o mediante una factura si has creado tu propia empresa. Por lo tanto, me pongo en tu lugar, y he creado este curso de Swift en la UNED para que puedas dedicarte a desarrollar aplicaciones iOS de forma profesional.

Ahora es cuando surge la pregunta: ¿qué tiene este curso de diferente con respecto a otros cursos de Swift?

El contenido del módulo de programación Swift.

Como te he dicho al principio, aquí te explico el temario del primer módulo de programación Swift. En él dominarás en profundidad el código Swift para crear una aplicación. Vamos a ir viendo uno a uno los 36 temas que aprenderás en el curso de Swift.

Introducción a Swift

Swift es el lenguaje de programación presentado por Apple en el año 2014 para el desarrollo de aplicaciones iOS. Anteriormente, únicamente se utilizaba el lenguaje de programación Objective-C desde el año 2007, cuando Steve Jobs presentó el primer iPhone. Este anuncio revolucionó la programación de aplicaciones en todos los dispositivos Apple.

Craig Federighi, Vicepresidente Senior de Ingeniería de Software de Apple, presentó Swift el día 2 de junio de 2014 ante la comunidad internacional de desarrolladores en la WWDC. Fue una gran sorpresa para todos nosotros cuando lo anunció.

En unos pocos años Swift ha crecido y se ha posicionado como un lenguaje de programación muy potente para el desarrollo de aplicaciones. Posee una sintaxis ligera que facilita muchísimo la escritura de código. Está pensado para optimizar al máximo los recursos limitados que poseen los dispositivos móviles.

Instalación y uso de Xcode.

Xcode es el IDE (Integrated Development Environment) o el entorno creado por Apple para hacer una aplicación. Está disponible de forma gratuita en el App Store.

Xcode crea un proyecto donde se integra el código de programación Swift, las escenas con los elementos visuales que aparecerán en las pantallas de la aplicación, audios, vídeos, fuentes de texto personalizadas y demás recursos necesarios para la creación de la aplicación. Además, integra la utilización de tests unitarios y de usabilidad para verificar la correcta programación de la app. Y muchas otras herramientas que son muy útiles para crear aplicaciones atractivas y con un alto rendimiento en los dispositivos móviles.

Playgrounds básicos

Los playgrounds permiten escribir código Swift y ver su resultado de forma inmediata. Un playground es el patio de recreo donde uno puede hacer todas las pruebas que quiera, aprender cosas nuevas, experimentar y preparar el código que posteriormente se añadirá al proyecto.

Recuerdo que antes de 2014 todas estas pruebas se tenían que hacer creando proyectos de “prueba”. Una vez que estaba todo comprobado, se copiada lo que se había experimentado al proyecto definitivo. Se perdía tiempo creando proyectos y luego ejecutándolos en los simuladores para estar seguro de su funcionamiento. Afortunadamente desde 2014 es posible crear playgrounds para descubrir todo el potencial de Swift para mejorar la eficiencia de nuestro código y de las aplicaciones. Se pueden crear vistas vivas (live view) que simulan la pantalla de una aplicación, se pueden añadir recursos y frameworks, se pueden hacer muchas cosas con ellos.

Constantes, variables y expresiones

Las constantes (let) permiten crear tipos de valores que siempre tendrán el mismo valor, mientras que las variables (var) crean tipos de valores que pueden ser cambiados posteriormente.

Coloquialmente dividimos lo que escribimos en textos como palabras o números. Sabemos que en matemáticas se utilizan números enteros y decimales. También conocemos que hay números que tienen pocos decimales y otros muchos decimales. Esta longitud de decimales consume recursos de memoria. Por lo tanto, Swift para optimizar al máximo el almacenamiento de los dispositivos divide los tipos de valores.

Las expresiones combinan valores y operadores que ofrecen un resultado. Swift permite realizar operaciones aritméticas. Los operadores de comparación permiten saber si es cierto o falso la comparación entre valores.

Manejo de errores básicos

¿A quién no le ha pasado que mientras usaba una aplicación de golpe ha desaparecido? En otras ocasiones, se ha quedado una ruedecita girando y girando, y nosotros esperando a ver si paraba y podíamos seguir utilizando la aplicación. O también, que pulsábamos un botón y no pasaba nada. Los errores de ejecución crean comportamientos inesperados en la aplicación con una mayor o menor gravedad. De ahí que tenemos que un desarrollador/a o ingeniero/a tiene que ser previsor, como se suele decir ir un paso por delante. Siempre hay que prever todos los errores o fallos que se pueden producir en tiempo de ejecución. Estos fallos se pueden producir por varios motivos, unos internos y otros externos.

Los fallos internos tienen que ver a nivel de código, por ejemplo, en la recepción o envío de datos a servidores externos, operaciones entre valores, acceso a bases de datos, conexión a dispositivos externos, etc.

Los fallos externos se producen por el comportamiento del usuario con la aplicación, un error al recibir una llamada telefónica, saturación de la memoria del iPhone por uso compartido con otras apps y otros eventos del sistema operativo.

Es muy importante que controles este tipo de errores mediante el código que escribas. Esa es tu responsabilidad. Existen dos formas de programar. Una es escribiendo y escribiendo para crear la aplicación lo más rápida posible, sin prestar mucha atención al manejo de errores. Otra es analizando qué código se va a escribir y reflexionando en los eventos inesperados que pueden surgir de forma externa e interna. A priori, es una forma más lenta, pero con una mayor calidad y satisfacción del usuario. Eso supondrá en el futuro mejores recomendaciones en el App Store, punto clave para el posicionamiento y venta de la aplicación. La primera opción de creación rápida sólo es apropiada si se trata de un prototipo o una primera versión rápida de la app.

 

Propiedades almacenadas y computadas

En este tema se va a profundizar en las propiedades. Se profundizará en su creación o inicialización, así como en su uso. Además, se utilizarán términos que deberías integrarlos en tu vocabulario como programador o programadora Swift.

 

En español:

  1. Propiedad almacenada.
  2. Propiedad computada.
  3. Propiedad almacenada perezosa.
  4. Propiedades computadas de solo lectura.
  5. Observadores de propiedad.
  6. Propiedades globales y locales.

In English:

  1. Stored property.
  2. Computed property.
  3. Lazy stored property.
  4. Read-only computed property.
  5. Property observers.
  6. Global and local properties.

 

Strings

Como aprendiste en los primeros capítulos del curso, has aprendido muchas cosas sobre las cadenas de texto o strings, en este tema aprenderás unas poquitas más que serán muy útil para cuando trabajases con strings:

 

  1. Contar caracteres.
  2. Índices.
  3. Añadir y eliminar texto.
  4. Creación de substrings.
  5. Prefijos y sufijos.

 

Control de flujo básicos

El flujo de la programación se controla principalmente con bucles y condicionales.

En este capítulo se verán de una forma básica tantos los bucles como los condicionales, posteriormente cuando se domine el uso de las colecciones (arrays, diccionarios y conjuntos) se volverán a estudiar de una forma más profunda en ejemplos y retos.

Búsquedas de patrones

Los valores en Swift se pueden presentar de muchas formas. Para ello, se han creado una serie de patrones para representarlos de una forma acertada y rápida.

En este capítulo aprenderás cómo identificarlos y usarlos. Los patrones que verás son:

  1. Comodín.
  2. Identificador.
  3. Valor enlazado.
  4. Tupla.
  5. Casos de enumeración.
  6. Opcional.
  7. Tipo conversión.

 

Tuplas

Los valores se pueden asemejar de una forma sencilla a nombres o números mediante las tuplas. La asignación de nombres a los valores es opcional, de tal forma, que mediante un número se puede obtener su valor. Otra ventaja de las tuplas es que permiten crear valores compuestos.

Una vez que se le asigna un nombre a un valor de la tupla se puede operar con ella de igual forma que si fuese una constante o una variable.

Colecciones: arrays, diccionarios y conjuntos.

Durante la ejecución de una aplicación son muchos los datos que se reciben. Estos se procesan y se muestran en la pantalla de una forma atractiva para el usuario. Las colecciones permiten organizar los datos para que puedan ser correctamente procesados por el código de nuestro proyecto. Swift nos ofrece tres formas de poder agrupar los datos en arreglos, diccionarios y conjuntos. Siendo su equivalencia en inglés: arrays, dictionaries and sets. Los datos se denominan valores (values).

Un array organiza los valores mediante un índice numérico que va desde 0 hasta n. Un dictionary asigna una clave (key) a cada valor. Un set guarda los valores sin ningún tipo de orden, de forma totalmente desorganizada.

Controles de flujo avanzados

En este tema te adentrarás en los condicionales y bucles avanzados mediante la programación funcional.

La programación funcional (PF) permite el uso de datos que procesa como constantes (let) en lugar de variables (var).

Al convertir cada elemento en constante, la programación funcional fomenta la inmutabilidad y reduce los efectos secundarios del cambio indeseado de las variables, que pueden estar produciéndose en otras partes del código.

La programación funcional es muy útil para el tratamiento o transformación de colecciones, es decir, arrays, diccionarios y conjuntos.

Operadores personalizados

Es posible crear operadores con un comportamiento personalizado para que hagan las operaciones adaptadas a tus necesidades. El objetivo es reducir tu código y aumentar su legibilidad.

Funciones

Las funciones (func) permiten recibir parámetros y devolver resultados. En resumen, el objetivo de las funciones es hacer algo en tiempo de ejecución cuando se las llama. La regla para crear una función es: si tienes que repetir el mismo código para hacer lo mismo en el proyecto más de una vez, entonces, crea una función para sólo escribirlo una sola vez.

Clases

Las clases (class) permiten añadir bloques de código para la creación de una aplicación. En las clases se añaden funcionalidades a la aplicación mediante el uso de propiedades (variables y constantes) y los métodos (funciones).

Estructuras

Las estructuras (struct) tienen un aspecto muy similar a las clases. Tienen propiedades, métodos e inicializadores.

Su gran diferencia está en que sus instancias son valores tipo. Esto significa que cada instancia tiene una única dirección de memoria. Si asignas una instancia a varias propiedades cada una serán independientes de las otras. Por lo tanto, cualquier cambio en una no afectará a las demás. Por esa razón, es más seguro utilizar estructuras que clases. De esta forma, las instancias de las estructuras que no se utilizan, se liberan de la memoria de forma rápida, pues no tiene que quedar almacenadas por si hay alguna otra instancia de clase que apunte a ella.

Suscripciones a colecciones

Los subíndices (subscript) se han usado para darle un nuevo significado a las letras o números. Por ejemplo, si juntamos las letras HO, no nos dice mucho. Pero si a la H se le pone el subíndice 2, ya nos viene a la memoria el elemento químico del agua: H2O. Por lo tanto, los subíndices nos dan nuevos significados de las mismas grafías.

Su representación es muy parecida a la que se utiliza para acceder a un valor en un array. Permiten obtener y asignar nuevos valores con los subíndices. Si bien es cierto, que a veces, la línea entre una función y un subíndice (subscript) puede ser confusa. En el último ejemplo del capítulo podrás ver que cómo se puede crear un email personalizado tanto con funciones como subscript. Por eso, mi recomendación es que utilices funciones, excepto cuando se trate de un array y vas a trabajar con los valores en base a su índice.

Enumeraciones

Las enumeraciones (enum) permiten tener varios casos para elegir. Los casos se pueden escribir línea a línea o en la misma línea separados por comas.

Hasta ahora para diferenciar una cosa de otra teníamos dos opciones de los booleanos con true y false. Cuando hay más de dos opciones, usábamos un string para tener más opciones. Sin embargo, este proceso es tedioso, por cuanto tienes que recordar el texto que se escribió en el string. Además, una cadena de texto siempre consume más recursos que un booleano o que un valor numérico. Y como ya sabes, a más recursos, más CPU, más batería y a nadie le gusta que se le gaste rápidamente su batería usando una aplicación.

Un ejemplo donde lo entenderás muy bien es al crear opciones de errores. Te imaginas que quieres escuchar un sonido en tu aplicación, pueden darse varios casos de error:

  1. Fichero no encontrado.
  2. Formato no válido.
  3. Reproductor no disponible
  4. Reproduciendo otro audio.
  5. Volumen en modo silencio.

 

Protocolos

Los protocolos son los planos sobre los que se definirán propiedades y métodos para dar funcionalidades. La palabra clave para utilizarlos es protocol. Se puede poner el nombre que se represente mejor la funcionalidad del protocolo, aunque se aconseja usar el sufijo able, o en su defecto, escribir como sufijo -Protocolo o -Protocol, si lo escribes en inglés.

En las propiedades se especificará si sólo será para obtener información de su valor o para asignarle un valor a la propiedad. Esto se realizará con las palabras get y set, respectivamente.

Los métodos sólo se definirán, lo que significa que no llevarán llaves.

Se utiliza la palabra conformar, cuando una clase, estructura o enumeración adopta las funcionalidades de un protocolo.

Casting de tipos

El casting identifica un objeto que ha sido creado mediante el vertido o inyección de un material en un molde. Cuando un molde se abre, se observa la geometría interior de su mitad superior y la otra mitad inferior. Entonces, viéndolas te puedes imaginar que pieza saldrá cuando sea rellenado de material.

De forma muy similar, Swift tiene unas palabras clave para identificar qué tipo de instancia es con la que se va a trabajar.

En ocasiones se puede desconocer de qué tipo son las instancias. Mediante el downcasting se asigna su valor a una nueva propiedad forzando a que sean de un tipo específico.

Casos Prácticos con Clases, Estructuras, Enumeraciones y Protocolos

En este capítulo se combinan las clases, estructuras, enumeraciones y protocolos con un ejemplo avanzado.

Playgrounds avanzados

Los playgrounds permiten simular muchas cosas que se pueden desarrollar en un proyecto con Xcode. Mediante la vista viva (Live View) se pueden ver los objetos visuales como si se tratara de la pantalla del simulador o un dispositivo real. Además, en la carpeta Sources se pueden añadir otros archivos Swift que se pueden utilizar con el código del playground, y en la carpeta Resources se pueden añadir otros archivos de recursos para el playground, como pueden ser imágenes.

Programación Orientada a Objetos básica

El paradigma de la Programación Orientada a Objetos (POO) permite crear modelos de entidades. Dichos modelos dan sentido a la programación con respecto a los objetos que los humanos estamos acostumbrados en el día a día.

Las clases se han utilizado durante años para crear instancias que sean objetos útiles para la POO. Utilizando métodos y propiedades se pueden crear objetos que tendrán comportamientos, estados e identidad.

Programación Orientada a Protocolos básica

El paradigma de la Programación Orienta a Protocolos (POP) permite trabajar con instancias que optimizan al máximo los recursos de la batería, consumo de la CPU y la memoria. La POP crea instancias que son valores tipo mediante la combinación de protocol, struct y enum.

Extensiones

Las extensiones permiten darle nuevas funcionalidades a cualquier estructura, clase, protocolo y enumeración. Esto permite crear un altísimo nivel de personalización, especialmente cuando han sido creadas en un framework. Por ejemplo, quieres que un valor Int (entero) haga un tipo de operación especial, sin embargo, no está definido este comportamiento estándar en la librería de Swift. La solución es crear una extensión Int. Así de sencillo. Además, puedes crear extensiones de librerías de tu código o de terceros en tu proyecto.

Programación Orientada a Protocolos avanzada

En este capítulo se creará un caso avanzado de utilización de POP. El objetivo es que domines la POP con fluidez, y comprendas su sencillez de uso.

Clausuras

Las clausuras (closures) son bloques de código independientes que se pueden pasar y utilizar a través del proyecto de la aplicación. Son muy útiles cuando se trabaja con frameworks o al obtener los datos recibidos desde un servidor externo. Simplifican mucho la ejecución y la escritura del código. Las clausuras capturan valores mediante valores constantes que son procesados y posteriormente pueden ser devueltos en el formato deseado.

Manejo de errores avanzados

Manejar los errores que se producen en tiempo de ejecución es muy importante. En todo momento el proyecto tiene que procesarlos. Su principal objetivo es evitar un crash o cierre inesperado de la aplicación. Por otro lado, cuando se produce un comportamiento fuera del caso de éxito se ha de informar al resto del proyecto para que muestre, analice y reacciones de una forma apropiada para que la experiencia de usuario sea exquisita. Para ello, existen diferentes formas de capturar y notificar estos errores.

Genéricos

El coste hora de programador o programadora de Swift es alto. Por lo tanto, es buena práctica reutilizar lo máximo que se pueda el código escrito en un proyecto, o incluso en otros mediante la creación de frameworks. Los genéricos habilitan en Swift la capacidad de operar con valores independiente del tipo que sean. Un ejemplo sencillo para comprenderlo sería crear una función genérica para sumar dos valores, independientemente de que tipo sean, o sea, si son enteros o decimales. Aprender a usar los genéricos requiere un pequeño nivel de abstracción, pues ya no manejamos tipos de valores específicos, sino la representación genérica.

Control de acceso

En todo momento se ha de controlar el acceso a los ficheros, propiedades y métodos del proyecto. Cuando se trabaja en grandes equipos de desarrolladores es muy importante definir lo que es accesible por otros programadores. Sólo se ha de mostrar el código Swift que realmente sea necesario. Esto creará dinámicas que generen código Swift de alto rendimiento.

Automatic Reference Counting

Permite el rastreo y controlar el uso de la memoria. Es más conocido como ARC. Cada vez que se crea una instancia se añade un valor al ARC. De esta forma, se genera un historial de instancias creadas durante la ejecución de la memoria. En el momento que no se utilizan, de forma automática se van liberando de la memoria. Esto supone menos consumo de recursos de los dispositivos móviles. El ARC funciona muy bien. Solamente hay que tener cuidado con qué tipo de referencias se crea entre instancias, si son fuertes o débiles. Para que las instancias que han terminado su vida útil en la aplicación sean liberadas lo más rápido posible.

Concurrencia y Programación paralela

Actualmente los iPhone e iPad tienes unos procesadores increíblemente potentes con respecto a los que tenían hace unos años. Pero, siempre tienen sus limitaciones por el número de núcleos del procesador. Para aumentar su rendimiento se crean hilos de procesamiento. Existen dos tipos de hilos: el hilo principal e hilos secundarios o en segundo plano. Por ejemplo, un iPhone tiene que ejecutar una aplicación. Al mismo tiempo, tiene operaciones del sistema operativo que atender y otras aplicaciones en segundo plano.  Cuando se programa hay que definir muy bien en la arquitectura de la aplicación qué se ejecutará en primer plano. Este hilo principal es el que controla los procesos táctiles del usuario y todo lo que es visible en pantalla. Entonces, si todo va sobre el hilo principal la aplicación se volverá lenta. Esto se debe evitar por todos los medios. Lo más importante siempre es crear aplicaciones que den la mayor experiencia de usuario. Una aplicación debe tener con un control máximo sobre los procesos que se ejecutan sobre el hilo principal.

Uso seguro de la memoria

El acceso a los valores almacenados en memoria permite una gran rapidez en las operaciones de la aplicación. En ocasiones pueden surgir conflictos si no se ha implementado correctamente el código Swift. Aprender a evitarlas es crucial para el programador profesional.

El lenguaje Markdown

La documentación del código escrito facilita mucho el mantenimiento y el trabajo en equipo. La sintaxis del lenguaje Markdown es ideal para los proyectos creados en Xcode.

Networking y parseo de JSON

La transmisión de información entre los dispositivos móviles y servidores externos ha permitido crear aplicaciones muy útiles. ¿A quién no le gusta mirar en su iPhone si hará buen tiempo el fin de semana que te vas de viaje? Toda esta información es recibida desde un servidor. Esta transmisión de datos se ha de hacer bajo un formato definido. El más usado es el JSON. En este capítulo se explican los recursos nativos que tiene Swift para hacerlo de una forma muy sencilla y eficaz.

Código Swifty

La comunidad mundial de desarrolladores Swift está creciendo increíblemente cada año. Por lo tanto, cuando programes debes recordar que formas parte de esta comunidad de millones de programadores. Por esa razón, debes seguir un formato y guía de estilo. Tu código tiene que ser legible para cualquier miembro de tu presente o futuro equipo de desarrolladores.

Snippets

Xcode permite crear fragmentos de código para ser utilizados posteriormente en cualquier proyecto. Los snippets tienen la opción de añadir áreas de autocompletado. Crear snippets te darán una mayor rapidez de escritura de código Swift.

Titulación Universitaria

Como has podido leer, este curso Swift es extremadamente completo. Este artículo sólo es un pequeño resumen de todo el contenido creado para el curso. Como te imaginarás, las explicaciones de todos estos capítulos es muy detallada en el curso de Swift del “Título de Experto Profesional en Desarrollo Profesional de Aplicaciones iOS con Swift para dispositivos móviles”. He creado muchos ejemplos y retos que te darán conocimientos avanzados para utilizar Swift en la creación de apps. Además, recuerda que semana a semana tendrás tutorías personalizadas conmigo, junto con el resto de estudiantes, o mejor dicho, con el resto de tus compañeros.

Otra gran ventaja de este curso con respecto a otros cursos Swift es la titulación que obtendrás. La UNED te dará el título universitario que acreditará que has superado todos los tests y el trabajo fin de curso.

Aprovecha esta gran oportunidad para inscribirte en el curso, antes de que finalice la matrícula el 15 de enero de 2019.

Autor: Pedro Hernández Ruiz

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 8)

El tiempo en Suecia no es extremadamente frío. Los días son muy cortos en invierno, con pocas horas de sol. En verano se acostumbra a dormir con el sol.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el séptimo post Ginés nos contó las claves para pasar el período de prueba en un trabajo. Incluso cuales son los beneficios si eres de la Comunidad Europea y si eres de otro país del extranjero como se obtiene el visado.

Os dejamos el octavo post.
¿Cómo es el tiempo en Suecia?, y ¿a qué hora anochece?
El tiempo de Suecia, más que el tiempo, porque no es que sea extremadamente frío en invierno. O el verano extremadamente caluroso. Bueno, caluroso poco. Es que los días son muy cortos en invierno, por estar tan al norte, y los días son muy largos en verano.

Cortos en invierno significa que hay muy pocas horas de sol. Se hace de noche enseguida. Pasas tres meses, cuatro meses que sales del trabajo y es de noche. Entonces hace que el cuerpo, si anochece a las dos de la tarde, a las seis de la tarde o siete te dice: ya llevamos seis horas de noche, porque no te vas a la cama. Dices: ¡Si me queda todavía toda la tarde!.Tienes que esforzarte un poco a mover el cuerpo. Hacer alguna actividad o algo, porque sino, es bastante duro. Te entra mucho sueño. El frío, todo está acondicionado y con un buen abrigo vas bien. No llueve mucho. Lo bueno de Estocolmo comparado con las Islas Británicas, llueve la mitad aproximadamente. Ya que, aunque haga un poco de frío, si es de día, las horas de día ves el sol. Te pones cerca de una ventana y ves que te está dando el sol. Eso te anima un poquito. Y con la nieve blanca, es bastante bonito.

En verano, pues al revés, tienes muchas horas de sol. No tienen, lo que llamamos en España, persianas. Y claro, a las cuatro de la mañana es de día y es difícil dormir. Hay que comprarse algún sistema con cortinas, hay algunas persianas, lo que ellos llaman persianas, pero que no son de las buenas, o lo que consideramos los españoles una persiana de verdad, pero te ayuda. Puedes poner alguna cosa para que esté oscuro o taparte los ojos. Se ponen antifaz también. Es muy duro. Es difícil pero te acabas acostumbrando al final, ya el cuerpo llega a un punto que se acostumbra a dormir un poco con el sol. El único problema que veo en verano, los veranos no suelen ser muy calurosos, a lo mejor tienen dos semanas de lo que se llama verano. Allí tienes invierno suave, invierno duro, un poquito de primavera, un par de meses, quizás un par de semanas de verano, sigue lo que es primavera, dos o tres semanas de otoño, que es cuando empiezan a caer las hojas de repente y luego ya empieza otra vez el invierno suave. Verano, verano no hay a no ser que sea un año muy raro, como este año, que sí ha hecho calor durante varios meses. Entonces tienes el problema que las casas no están preparadas para el verano, retienen mucho calor. Pero, bueno en general el mayor problema que hay es, yo diría que es el invierno, porque por lo menos en verano si hace sol puedes salir y disfrutar. Las horas de oscuridad, se pueden llevar un poquito mal, es bastante duro.

En el noveno y último post Ginés nos recomienda qué debes tener en cuenta si quieres trabajar como desarrollador o desarrolladora de apps en Suecia.

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 7)

¿Qué necesito para tener trabajo en Suecia para crear apps iOS? Nivel de inglés, Comunidad Europea o tener visado, contrato, período de prueba, ayudas.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el sexto post Ginés nos dio buenos consejos para aprovechar nuestro tiempo, dinero y energía para aprender de una forma eficaz el lenguaje de programación Swift para crear aplicaciones iOS.

Os dejamos el séptimo post.

¿Qué necesito para tener éxito en Suecia?

Ir a Suecia y conseguir un trabajo en Suecia no es una cosa fácil. Primero, tienes que tener un buen nivel de inglés. Yo creo que en España, el que se considera B2, se quede, quizás, un poquito corto. Es decir, tendrías que ir con C1, para estar suelto porque los españoles saben mucha gramática. Pero la pronunciación, el oído, el listening, se nota que el nivel no es tan alto. Eso fundamental, porque allí mínimo te van a pedir inglés, sobre todo las empresas de desarrollo de software. Casi todas trabajan en inglés. Es raro que te pidan Sueco. Podría darse algún caso. Pero, incluso si es alguna empresa es muy potente o alguna empresa nacional, como un banco, si desarrollas software, te permiten trabajar en inglés.

Luego dentro de la Comunidad Europea, al ser español lo tienes un poquito más fácil, porque si consigues un contrato, automáticamente vas a la oficina de impuestos, te registras con el contrato, te dan el número de la Seguridad Social. Eres sueco, para todo. Para lo bueno y para lo malo. Para pagar impuestos y para todo lo que son servicios sociales. Por ejemplo, si decides a los dos años, que quieres estudiar en la Universidad, te van a pagar la Universidad. La universidad es gratis si eres ciudadano europeo, pero posiblemente tengas más ayudas o te puedas permitir ciertas cosas.

Si no eres de la Comunidad Europea, la empresa te tiene que esponsorizar el visado. Eso implica que tienes que estar en la empresa, mínimo dos años, porque ellos son los que pagan por tu visado, para que vayas a trabajar a Suecia. Entonces, es un poco más complicado. Yo conozco gente de fuera, de la India, de Venezuela, Irán, Marruecos… que sí lo han conseguido. Al principio, tienes un permiso de residencia temporal, que tienes que renovar. A veces se les cruzan los cables, y no te lo renuevan. Como le pasó aún chaval, que era de Afganistán y tuvo que irse, cuando había trabajado 4 ó 5 años. Son este tipo de cosas. Es un poco más difícil, pero normalmente si tienes el visado y estás trabajando, y estás contratado, no debes de tener problemas.

Qué más. Te van hacer muchas entrevistas. El nivel de inglés te lo van a comprobar en la entrevista. No te piden ningún título. Luego te van hacer, entrevistas técnicas, personales, por qué quieres ir a Suecia. Qué hace mucho frío. Tenéis que ir bastante bien preparados. También si la empresa es muy importante, te va a hacer una entrevista en la ciudad. Te van a invitar y te van a pagar el vuelo. Van a conocer a gente porque ellos lo valoran mucho, tanto el conocimiento que puedas aportar a la empresa, como cómo seas una persona. Que se pueda integrar. Ellos quieren que seas una persona que no solo aporte a nivel de desarrollo, que hagas tu trabajo, que no des problemas… Lo típico. Ellos quieren que te integres bien en el equipo. Ellos valoran mucho que una persona esté bien integrada. Bien con el resto de compañeros y tal. Eso lo valoran bastante.

Lo normal allí en estas empresas es un período de prueba de seis meses. Y una vez que lo pasas, normalmente, tienes contrato indefinido. Aunque también puedes ir como freelancer, contratos de duración estipulada, seis meses, un año lo que sea. Pero es lo normal allí. Y una vez que estas seis meses, si es una empresa grande, es muy difícil que te echen porque las leyes para despedir a gente son bastante duras para las empresas en Suecia. Aunque puede pasar que no pases el periodo de prueba. Por eso tienes que tener cuidado. No te vayas a confiar. Pero bueno. En el momento que vean que si vienes de un país que trabajas bastante, haces tu trabajo, llegas a las horas que tienes que llegar y tal, desarrollas tus tareas y te llevas bien con los compañeros, es bastante fácil pasar el periodo de prueba.

 

 

En el octavo post Ginés nos explica como están las casas adaptadas para el tiempo y las horas de luz que podrás disfrutar en Estocolmo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 4)

¿Que es Swift? Es muy potente: enum, programación funcional, map, filter, estructuras, protocolos y extensiones. Te cambia la manera de desarrollar aplicaciones móviles.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el tercer post Ginés nos contó todas las actividades divertidas que puedes hacer en Estocolmo.

Os dejamos el cuarto post.
¿Qué es Swift al programar una app?
La verdad es que ha sido un cambio para desarrollar aplicaciones de iOS. Un cambio abismal.

Yo venía de desarrollar aplicaciones para Objective-C. Estaba acostumbrado al lenguaje y me resultaba un lenguaje cómodo de usar. Al principio, un poco complicado, pero era cómodo porque tenías todas las estructuras. Digamos que Apple, los ingenieros de Apple, proporciona todas las estructuras de los eventos, como el viewDidLoad. Cuando creabas un UIViewController, tenías un pequeño esqueleto a la hora de desarrollar una aplicación que te permitía hacer cosas.

Cuando llegó Swift fue como una explosión. Es un lenguaje que se escribe diferente. Es un poco parecido a Java a la hora de escribir. Pero utiliza programación funcional, que yo había utilizado muy poquito. Que ahonda mucho más en los protocolos, luego hablaré un poco más sobre ellos. Ahora se pueden crear estructuras que no estabas acostumbrado a utilizar. Éstas te proporcionan una versatilidad y potencia abismal. Hasta llegar al punto que no solo se utiliza para el desarrollo de aplicaciones para iOS. También se utiliza para el desarrollo de backend en empresas como Facebook.

Es un lenguaje de programación muy potente. Es muy potente, por ejemplo, porque tenemos los enum puedes hacer cualquier cosa con ellos. Es una herramienta súper potente, es que puedes crear no solo el enum, te permite llamar funciones, te da mucha versatilidad si quieres crear como varios tipos, o un tipo que tiene varios tipos, por decirlo de alguna manera. Pero luego, también tenemos, como he comentado antes, la programación funcional que te permite manejar estructuras como los arrays. Con todo ese tipo de cosas, ya te vienen las funciones. Entonces ya no tienes que estar creando los for o bucles, como todo lo que dicen españolizando costumizado. Ya no hay que customizar tanto. Sabes que tienes map si sabes que vas a recorrer todo el array, o vas hacer un filter, vamos a filtrar. Se indica condición booleana y ya está. Entonces, al final, implica que estás escribiendo menos código.

También tenemos las estructuras, que es un poco un pequeño sustituto de las clases. Parece que a los ingenieros de Apple no les gusta que utilicemos las clases. Nosotros usamos mucho las estructuras y, la verdad, es que funcionan prácticamente igual y se supone que no estás trabajando con un objeto por referencia.

Al final también han potenciado, y es otra herramienta que te permite no usar clases aunque parezca raro, es la programación orientada a protocolos. Y lo que han potenciado muchísimo. Un protocolo te permite hacer cualquier cosa. Tú con un protocolo defines las propiedades que quieras utilizar, las funciones. La instancia que las quiere utilizar, adopta el protocolo y, automáticamente, tienes esas esa instancia tiene esas propiedades y esas funciones. Y luego puedes tener una implementación por defecto que es una extensión del protocolo. Eso da muchísima versatilidad y está funcionando bastante bien.

La transición de una manera de pensar para la programación orientada a objetos a una programación orientada a protocolos, más programación funcional, más enum que hace mil cosas, no es sencilla. La verdad es que es un lenguaje de programación muy potente y, cuando lo dominas, es muy práctico y muy cómodo. Escribes muchas menos líneas de código. Creo que la gente debe aprenderlo o intentar aprender un lenguaje de programación como este. Pensado en esta manera, porque te cambia totalmente la manera de pensar a la hora de desarrollar aplicaciones móviles.

En el quinto post Ginés desglosa las principales diferencias entre un programador y un ingeniero iOS, y como es la interrelación con el equipo de trabajo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 3)

Cuando termina el trabajo, Estocolmo tiene un motón de sitios donde ir. En invierno: esquí y patinaje. En verano: días largos, barco, bañarse, bicicleta, correr.

 

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

 

En el segundo post Ginés detalló como es el día a día al desarrollar una aplicación en una startup sueca.

 

Os dejamos el tercer post.

Cuando termina del trabajo de un Senior iOS Engineer, ¿cómo es vivir allí? y ¿qué ver en Estocolmo?

En Suecia, y con eso me refiero a Escandinavia, la época del año te limita o al revés, te da una gran oportunidad de hacer cosas.

 

El invierno, el mayor problema no es que sea muy frío, sino que es oscuro. Por las tardes suele estar oscuro. Tienes que forzarte a ti mismo para hacer cosas. Como he dicho, ir al gimnasio, quedar con gente, suelen ser actividades más de estar en casas, en locales. Una ciudad como Estocolmo, que es grande, tiene un montón de sitios donde ir: para tomar una cerveza con amigos, restaurantes de todo tipo de todas nacionalidades, montonazo de conciertos. Hay una pequeña montañita donde la gente va a esquiar. Yo tengo un problema de rodilla y no puedo ir. Cuando hay nieve, la gente hace esquí alpino o de campo a través. Digamos que en invierno esquían, hacen patinaje.

 

Cuando llega el verano los días son muy largos. Si hace sol, todo el mundo está en la calle, en las terrazas. Todo está verde en Estocolmo. Tienes muchísimos sitios que ver. Está el casco viejo, hay museos, el parque de atracciones. También tienes la zona del ayuntamiento, que es un sitio muy mítico, un montón de iglesias. Te puedes dar un buen paseo sin problemas.  También puedes coger el transporte público. A nivel de transporte público, está muy bien. Con una tarjetita tienes derecho a todo, incluso ferries (vas entre isla e isla). Hay sitios muy bonitos, con muy buenas vistas para tomarte una cerveza y para cenar. Esa es la diferencia con el invierno. Toda la gente está un poco más recogida, ves gente en las calles, porque tienes que salir a hacer cosas, y en verano es más todo el mundo con el barco. Los suecos navegan mucho, tienen un montón de barcos. Estocolmo son varias islas y está llena embarcaderos. Al final es barcos, bañarse, bicicleta, correr…

No es, quizás, como en España, de donde soy, que puedes hacer ciertas actividades durante prácticamente todo el año. Allí no, te tienes que adaptar un poquito al clima y a la época del año.

 

 

En el cuarto post tienes las claves que han hecho tan popular el lenguaje de programación Swift para todos los dispositivos de Apple, incluso para la programación a nivel de servidores.

 

Autor: Pedro Hernández

 

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 2)

Vivir en Suecia es tener una calidad de vida muy alta. Trabajar en Suecia como desarrollador iOS con Scrum. Tiempo libre para hacer muchas actividades para jugar.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el primer post Ginés nos explicó las razones que han hecho que Suecia sea tan importante para el desarrollo de aplicaciones.

Os dejamos el segundo post.
¿Cómo es vivir y trabajar en Suecia para un Senior iOS Engineer?
No todo es perfecto. Tiene sus pros y contras. Si empiezo por los contras, es un país un poco frío. Los inviernos son largos, fríos, aunque todo está bien preparado. A la gente al principio le cuesta socializar. Una vez que pasas cierto grado, necesitan un cierto grado de interacciones para confiar en ti, entonces es cuando te consideran verdaderos amigos.

La calidad de vida es muy alta. Tienes mucho tiempo libre, lo que facilita congeniar la vida personal con la laboral. Es muy raro echar horas extras o trabajar los fines de semana. Tiene mucha flexibilidad para trabajar desde casa. Por ejemplo si te traen muebles, etc. Si vienes de fuera como yo, la mayoría de las empresas te dan flexibilidad para poder trabajar una o dos semanas desde tu país de origen.

El ritmo de trabajo es mucho más relajado, no les gusta presionar a los desarrolladores tanto como en España. En España lo normal es que si tienes una entrega, un proyecto de 6 meses, se hace en 3 meses y tienes que trabajar 60 ó 70 horas a la semana. Allí se negocia mucho con el desarrollador la fecha de entrega y a veces se puede posponer.

Aparte intentan hacer muchas actividades lúdicas. Alguna fiesta. Por ejemplo, en mi empresa tenemos cerveza gratis todos los viernes para que la gente socialice, vídeo consolas, juegos de mesa, jugar a rol… Cosas así.


¿Cómo es el día a día?

Suelo llegar temprano. La gente suele llegar un poco más tarde, porque hay flexibilidad a la hora de entrar. Llego a las 8:30 y trabajo como una hora y media o dos, centrándome en tareas que ya tenía planificadas. Después, normalmente nosotros utilizamos Scrum, tenemos la daily meeting sobre las 10:00 ó 10:15. Ya que, a esa hora, casi todo el mundo está en la oficina. Si no, se puede hacer una llamada online y así la gente también puede participar en la reunión.

Luego, se sigue desarrollando aunque también tenemos reuniones específicas de lo que es arquitectura. Hablamos de la arquitectura a nivel de desarrollo, de nuestros frameworks, de nuestras aplicaciones, también sobre cómo integrar y desarrollar los diseños, con los diseñadores y gente de productos, sobre la necesidad de nuevos productos. No solo es desarrollar, sino también es todo lo que implica el diseño, la arquitectura y la toma de decisiones de frameworks que se van a necesitar, o que no se van a necesitar.

También tienes mucha flexibilidad, bueno esto es un poco a nivel más personal. Por ejemplo, irte al gimnasio a la hora de comer desconectas un poquito. Yo a veces lo hago. De vez en cuando hacemos descansos para jugar al futbolín. No es tan estresante como en España de 8:30 a 5 ó 5:30 sin parar. Si algún día me tengo que quedar un poco más, me quedo, pero luego siempre se compensa. Porque aquí lo que les interesa verdaderamente es que desarrolles, que hagas tu trabajo, que cumplas las fechas. Ellos piensan que tú eres una persona responsable y te dan totalmente libertad. Puedes ir a la oficina, no ir a la oficina, irte al gimnasio, no ir al gimnasio, jugar al futbolín… Mientras que ellos vean que estás llegando a tus tareas y cumpliendo los plazos que ellos te están diciendo, lo demás les da igual.


En el tercer post descubrirás todas las posibilidades que ofrece Estocolmo una vez que has terminado el trabajo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 1)

Como es trabajar en Suecia como Senior iOS Engineer para programar apps en lenguaje Swift. ¿Por qué es importante Suecia para el desarrollo de aplicaciones?

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño. Os dejamos el primer post.

Todos tenemos objetivos que conseguir en la vida. Unas veces están cerca de nosotros y en otras hay que salir de la zona de confort para conseguirlos. Suecia es un país con una gran cultura tecnológica. Siempre ha habido una afinidad cultural entre los suecos y las suecas por la cultura española, la fiesta, la creatividad y el sol. De igual forma, en España ha existido atracción hacia los suecos y las suecas, su naturaleza y su cultura vanguardista.

Te quiero presentar a Ginés, un hombre valiente, decidido y un gran ingeniero que trabaja en Suecia desde hace unos años. Además, descubrirás cómo es la vida y trabajar allí: calidad de vida y calidad en el empleo.

La entrevista la tienes en formato vídeo o escrito. Seguro que te sorprenderán muchas cosas 😉 ¡Empecemos!

¿Por qué es importante Suecia para el desarrollo de aplicaciones?

Suecia, principalmente en Estocolmo, se ha convertido en un centro muy importante en desarrollo de aplicaciones móviles.  A principios del año 2000, hace cerca de 20 años, el Estado les daba a todos los alumnos de Bachillerato un ordenador portátil.  Y aunque no toda la gente lo utilizaba para eso, hubo mucha gente que empezó desarrollar aplicaciones y sus ideas en sus sótanos, tipo Silicon Valley . De ahí han salido empresas tan importantes como Spotify, Skype… aunque creo que Skype también había gente de Eslovenia. Pero digamos que de ahí surgieron un montón de empresas importantes. A eso, hay que añadir que, como ha pasado en San Francisco, en Estados Unidos, el dinero que ganan lo han invertido en startups. Entonces se ha creado ahí un círculo que se autoalimenta y que ha conseguido hace que haya un montón de empresas. Hay empresas muy muy grandes ahora está EPIC desarrollando, creo, un motor para móviles. Google también está ahí y, como he dicho antes, también Spotify. Luego también hay startups muy pequeñas como la que yo trabajo, Kaching. O como Klarna Bank un banco muy pequeño, pero ahora también muy potente.

 

 

En la segunda parte profundiza en la parte humana de cómo es el día a día, vivir y trabajar en Suecia para un Senior iOS Engineer.

 

Autor: Pedro Hernández

 

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

New full-time job offers in the POSTDATA ERC project at LINHD, UNED

We are looking for 2 full-time Computational Linguist / Natural Language Processing developers for the ERC research project POSTDATA.

Requirements for this position are:

  • Knowledge of Natural Language processing (NLP) or Computational Linguistics
  • Knowledge of NLP toolkits
  • Experience using language technology in the Humanities
  • Good programming skills in Python or Java
  • Languages: Spanish and English
  • Demonstrable good writing skills in English
  • Experience with software version control (git)
  • Autonomy combined with good communication and collaboration skills, team-oriented

Desirable

  • Experience with machine learning
  • Experience using machine learning for non-canonical language varieties
  • Experience with managing annotation projects
  • Experience with deep learning
  • Knowledge of web development frameworks (e.g. Django or Flask, or Drupal)
  • Additional languages (modern or historical varieties)
  • Good publication record in NLP or related areas
  • Experience with software prototyping
  • Experience with iterative development
  • Linux shell, shell scripting
  • Experience deploying web applications on Linux

Candidates must sent a short CV (maximum 4 pages) and a motivation letter (maximum 2 pages) explaining why they fit for the position, with references to previous projects developed. 

Contact email: luciana@linhd.uned.es

Deadline: 21th September, 2018

Mandatory SUBJECT of email message: POSTDATA Developer Application _ LastName, Name

The positions will be filled as soon as we find a candidate suitable for it. Don’t wait for the last minute!

New part-time job offer in the DESIR Horizon 2020 project at LINHD, UNED

LINHD is offering a part time position as Digital Humanities and Communication Researcher in the Horizon 2020 DESIR project where LINHD is a partner.

The position will be inside the LINHD team with specific tasks for the project activities. We are looking for a person with a big interest in Digital Humanities field, digital communication and marketing area, and also with an interest in developing an academic career.

The activities and tasks that will be carried out by the researcher are:

  1. Developing a report about the current state of digital research infrastructure in the field of arts and humanities in Europe and Spain
  2. Contribute on the project workshops organization in Spain: engage the Spanish community to participate in the workshops, setting up the location, keep a track on the attendants (stakeholders, participants, sponsors), etc
  3. Maintain the dissemination and communication activities of LINHD like blog posts, social media messages, and grow the LINHD research community.

We are looking for a person with Degree in Digital Humanities or similar/related fields, and experience in DH projects and also a strong communication and teamwork skills to join our multilingual team. The candidate must have excellent knowledge of English and Spanish and other language(s) is a plus.

We offer a part time contract by UNED with a 8250€/year gross salary and 20 working hour per week.

Candidates must sent a short CV (maximum 4 pages) and a motivation letter explaining why they fit for the position at one of the below emails:

Elena Gonzalez Blanco, Director LINHD – eganozalezblanco@flog.uned.es

Mara Manailescu, Project Manager LINHD – mmanailescu@linhd.uned.es

 

 

Items de portfolio