About me
Hi! I'm Albert, an experienced and passionate Full Stack JavaScript Developer, with focus on Node.js and React Native.
Previously, I developed native Android mobile apps for 6 years, participating in the development of small, medium and large apps, some used by thousands of users, built alone or with multiple engineers, on both small startups and large companies.
I hold a 5-year degree in Industrial Engineering, specialized in Electronics. In the past I’ve worked as an Electrical and Electronic Engineer. I also built an electronic product prototype with Bluetooth Low Energy with a companion iOS app.
Education
-
Full Stack Web Developer Nanodegree@Udacity
udacity.com/course/full-stack-web-developer-nanodegree--nd00444-month course on Full Stack Web Development using Python, Flask, SQL, PostgreSQL, REST APIs, JWT, Auth0, Docker and AWS. Completed 5 projects on Full Stack and REST API development with Flask.
-
React Nanodegree@Udacity
udacity.com/course/react-nanodegree--nd0194-month course on React, React Native, Redux and React Router.
-
Front End Web Developer Nanodegree@Udacity
udacity.com/course/front-end-web-developer-nanodegree--nd00116-month course covering HTML, CSS, Responsive Web Design, JavaScript, ES6, Accessibility, React and React Router. During the course I completed 8 graded projects, including 2 projects with React.
-
Android Developer Nanodegree@Udacity
udacity.com/course/android-developer-nanodegree-by-google--nd80112-month immersive course on Android mobile app development taught by Google Engineers. Teaches how to implement Material Design, the Gradle build system, Google Cloud Messaging, efficient background sync with Sync Adapters, store data locally with Content Providers and SQLite databases, Android Wear and Watch Faces, master-detail tablet UIs, home-screen widgets and more.
-
Android project – GitHub Trending
An Android app that shows GitHub trending repositories. It implements a Sync Adapter that fetches data periodically and stores it into a Content Provider. It has a home-screen collection widget. It displays ads using AdMob.
-
Android project – Popular Movies
An Android app that displays movies. Uses Dagger 2, Retrofit 2, RxJava 1 and AutoValue, among others. It caches data locally using a SQLite database and the libraries SQLBrite and SQLDelight, so that it can work fully offline.
-
-
Industrial Engineering@ETSEIB - UPC BarcelonaTech
etseib.upc.edu5-year degree in Industrial Engineering, specialized in Electronics.
Experience
-
React Native Developer@Bake250º
Contract
Barcelona
React Native development with TypeScript. State management with Redux, React Context and MobX. Push notifications with Firebase Cloud Messaging, iOS share extension, deep links, social login with Facebook/Google/Apple. Automated builds and publishing to Google Play and App Store with Expo Application Services (EAS).
-
React Native Developer@Goo Apps
Contract
Barcelona
React Native development with Redux and TypeScript.
-
Android Developer@Privalia / Veepee
Contract
Barcelona
Developed the home screen of the Veepee native Android app with Kotlin, Dagger 2 and RxJava 2, MVVM with ViewModel of Architecture Components and GitLab CI. API with GraphQL and Apollo Client.
-
Android Developer@Gazella app
Contract
Remote
Developed the native Android app with Kotlin, using Kotlin coroutines for concurrency, Dagger 2 for dependency injection and JUnit and Mockito for testing. Implemented Google Play billing paid subscriptions.
-
Android Developer@Schibsted Spain (now Adevinta)
Contract
Sant Cugat del Vallès (Barcelona)
Worked on the Vibbo and Milanuncios Android apps, using libraries like RxJava, Dagger 2, JUnit, Mockito and Kotlin. Development done with code reviews, Continuous Integration with Travis and agile methodologies with Jira and agile coaches.
-
Android Developer@Altran
Contract
Barcelona
Developed a native Android app for TMB (Transports Metropolitans de Barcelona) to sell tickets for the Barcelona tourist bus and other public transport services. The app works fully offline using a SQLite database and syncs with the backend in the background using a SyncAdapter. Uses Bluetooth peripherals to pay with credit card and print tickets and receipts.
-
Android Developer@21 Buttons
Freelance
Barcelona
Developed the first version of the native Android app, together with 2 other developers. The app was downloaded more than 100k times in the first months. Raised rating from 4.0 to 4.4.
-
Android Developer@Freelance (various clients)
Freelance
Remote
Developed 7 native Android mobile apps (with Java) alone, and also participated in 3 projects with multiple engineers for clients from Austria, San Francisco, New York and Norway. Some apps where built with Parse.com (a Backend as a Service), which required JavaScript server-side coding. The rest of the apps where built with custom backends using REST APIs and local databases like Realm or OrmLite. Some jobs where done at the UpWork freelance platform, where I achieved the Top Rated status and a 100% job success.
-
Electronic Engineer (Bluetooth Low Energy and iOS development)@CETEMMSA Technological Centre (now Eurecat)
Internship
Mataró
Final project of the Industrial Engineering degree. Designed an electronic device that communicated with an iPhone using Bluetooth Low Energy (BLE, Bluetooth Smart). The project consisted of two parts: (1) Development of a native iOS app with Objective-C that connects and communicates (read/write) with the electronic device using BLE. (2) Development of an electronic device with the integrated circuit CC2540 from Texas Instruments. Designed the electronic circuit, designed the printed circuit board with Altium Designer, built a series of functional prototypes, and programmed the microcontroller CC2540 with the C language.
-
Electrical Engineer a the Grid Integration Department@Alstom Wind (now General Electric)
Internship
Barcelona
As a team member of the Grid Integration Department, performed several studies on integration of wind turbines to the electric power grid (voltage control, frequency regulation). Conducted simulations with MATLAB/Simulink models of Doubly Feed Induction Generators and Permanent Magnet Synchronous Generators wind turbines.
-
Electrical Engineer@CETEMMSA Technological Centre (now Eurecat)
Internship
Mataró
Developed prototypes of simple electronic products. Designed the printed circuit boards with Altium Designer, assembled the prototypes by soldering the components and programmed the PIC microcontrollers with the C language.
Courses
-
Multiplatform Mobile App Development with React Native
-
MIT 6.005x Software Construction in Java
-
Introduction to User Experience Design
Coursera - Georgia Institute of Technology
Website -
Introduction to Functional Programming, by Erik Meijer
Functional Programming course by Erik Meijer (creator of Reactive Extensions), using Haskell, and following the book 'Programming in Haskell' by Graham Hutton.
-
M101JS: MongoDB for Node.js Developers
MongoDB, Inc
Certificate -
Introduction to TypeScript (DEV201x)
edX - Microsoft
Certificate -
Programming Cloud Services for Android Handheld Systems
Coursera - Vanderbilt University
Certificate -
CS169.2x: Software as a Service
-
Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Coursera - Vanderbilt University
Certificate -
Louv1.01x: Paradigms of Computer Programming
edX - LouvainX
CertificateBy Peter Van Roy, using the Oz programming language.
-
Programming Mobile Applications for Android Handheld Systems
Coursera - Vanderbilt University
Certificate -
Creative, Serious and PlayfulScience of Android Apps
edX - University of Illinois at Urbana-Champaign
Certificate -
Programming Languages
Programming languages concepts with Standard ML, Racket and Ruby.
-
CS169.1x: Software as a Service
-
Introduction to Systematic Program Design - Part 1
Coursera - The University of British Columbia
CertificateConcepts of the book 'How to Design Programs', using the Racket programming language.
-
6.00x: Introduction to Computer Science and Programming Using Python