André Morujão, Developer in Porto, Portugal
André is available for hire
Hire André

André Morujão

Verified Expert  in Engineering

GitHub Actions Developer

Porto, Portugal

Toptal member since December 8, 2015

Bio

André Morujão is a seasoned software engineer with over ten years of professional experience and a passion for iOS development. Because of his experience with both small companies in Portugal and large companies like Google in London, André will easily fit in with teams of all sizes and backgrounds. He specializes in iOS and Objective-C/C++/KMM development, which keeps him busy at his full-time job and on freelance projects.

Portfolio

Becker Professional Education
MacOS, Fastlane, Android NDK, Android SDK, Java, Swift, iOS, Xcode, SQLite...
AppGeneration
iOS, Xcode, Objective-C, PostgreSQL, Drupal
WIT-Software
Java, OpenTV, PostgreSQL, Apache Struts, C

Experience

  • Objective-C - 8 years
  • iOS - 8 years
  • Android - 4 years
  • C++ - 3 years
  • Swift - 3 years
  • Kotlin - 2 years
  • Kotlin Multiplatform Mobile (KMM) - 1 year
  • GitHub Actions - 1 year

Availability

Part-time

Preferred Environment

MacOS, iOS, Xcode, Objective-C, Git, Kotlin

The most amazing...

...code I've written is an interactive book viewer for iPad, which supports audio, animations, gravity, and collisions using iOS' UI Dynamics framework.

Work Experience

Senior Software Engineer

2012 - PRESENT
Becker Professional Education
  • Maintained Becker's existing desktop apps on Windows and macOS.
  • Developed two new (native) apps, one for Windows and one for macOS.
  • Wrote and maintained Becker's iOS and Android (native) apps.
  • Wrote a cross-platform solution based on a shared C++ core and a shared web front-end for our desktop/mobile apps.
  • Migrated the cross-platform C++ solution we used on our mobile apps for several years to a more modern one based on Kotlin Multiplatform Mobile (KMM).
  • Administered our Apple App Store and Google Play Store accounts, setting up new apps, submitting new builds, and migrating apps across accounts.
  • Wrote internal tools to automate the build and deployment processes for our mobile and desktop apps, including uploading binaries to AWS, updating internal systems to point to the latest versions, and submitting binaries to the mobile app stores.
  • Migrated legacy build and deployment scripts to GitHub Actions.
Technologies: MacOS, Fastlane, Android NDK, Android SDK, Java, Swift, iOS, Xcode, SQLite, C++11, C++, Android, Kotlin, Objective-C, Delphi, Kotlin Multiplatform Mobile (KMM), GitHub Actions

Software Engineer

2010 - 2012
AppGeneration
  • Developed NPolls, which is an iPhone/iPad app that allows users to create polls and get paid for answering polls created by other users.
  • Wrote the client and server sides for NPolls and created multiple variants of the app for external clients (as a poll taking app, as a game, etc).
  • Developed several Newsstand apps using AppGeneration's PubliGeneration back-end, as well as a magazine aggregator app for publishers who had multiple publications within our platform.
  • Wrote a push notification REST API for internal use.
  • Developed the back-end and API for AppGeneration's children's book publishing platform.
  • Worked on AppSales, AppGeneration's marketing SDK.
Technologies: iOS, Xcode, Objective-C, PostgreSQL, Drupal

Software Engineer

2009 - 2010
WIT-Software
  • Developed an OpenTV based XML widgets engine in C.
  • Built several widgets and server-side components, mostly for TV middleware like OpenTV and Mediaroom, using Java servlets and web services.
  • Coded the back-end and front-end for our widgets framework using Struts and PostgreSQL.
  • Developed open source APIs to access Facebook, Twitter, and Picasa.
Technologies: Java, OpenTV, PostgreSQL, Apache Struts, C

Software Testing Engineer

2007 - 2009
Google
  • Wrote a test automation infrastructure in Java that developers could base their tests on, especially in unfamiliar areas like UI testing, data consistency, or ETL integration testing.
  • Promoted good testing practices on the unit and integration testing through code reviews and refactoring existing code to make it more testable.
  • Contributed to reusable test automation tools and frameworks, especially those related to UI.
  • Helped coordinate release processes with multiple people across different sites by doing bug triages and exploratory testing.
  • Fixed bugs, implemented new features, and helped maintain our continuous build environments.
Technologies: Java, WebDriver, Selenium

Software QA Engineer

2006 - 2007
Qimonda
  • Tested Qimonda’s middleware framework through integration testing of its C++ and C# libraries.
  • Worked with project managers and development teams to ensure adherence to quality.
  • Evaluated practices and procedures, monitored each project's progress, and promoted successful completion.
  • Customized XML test reports with XSLT, HTML, and JavaScript.
  • Developed and supported all applications in C# related to quality management.
Technologies: JUnit, CppUnit, C#

Software Engineer (Intern)

2006 - 2006
Qimonda
  • Developed a documentation tool in C# to generate UML class and activity diagrams based on source code analysis.
  • Completed a six-month internship project as part of my university curriculum with a final score of nineteen out of twenty.
Technologies: C#

Experience

Becker CPA

Becker's CPA mobile apps for iOS and Android that work on both phones and tablets.

Caribu

http://caribuapp.com
Caribu lets children and their loved ones video call and read together no matter where they are. Although most of the books are static right now, the reading engine allows several interactive elements (gravity, collisions, animations, and sounds) using iOS's native physics engine. Caribu was featured at Apple's October 2014 event and in one of the company's TV ads for iPad.

Todoist

https://todoist.com
Todoist is an application that helps teams manage tasks and get more work done in a shorter amount of time.

PubliGeneration

http://publigeneration.com
PubliGeneration is AppGeneration's solution for publishers who want to get their magazines onto the iOS platform through Newsstand apps.

NPolls

The NPolls apps, which are available on iOS, Android and Windows Phone, allow their users to create and answer polls easily through their mobile phones and tablets and earn money while doing it.

Education

2001 - 2006

Master's Degree in Informatics and Computing Engineering

Faculdade de Engenharia da Universidade do Porto - Porto, Portugal

Skills

Libraries/APIs

CppUnit, WebDriver

Tools

Xcode, Git, Android NDK, Fastlane

Languages

Objective-C, C++, C++11, C#, C, Delphi, Kotlin, Java, Swift

Frameworks

iOS SDK, UIKit, JUnit, Selenium, Apache Struts, Android SDK

Platforms

iOS, MacOS, Drupal, Android

Paradigms

REST, Object-oriented Programming (OOP)

Storage

SQLite, PostgreSQL

Other

GitFlow, OpenTV, GitHub Actions, Kotlin Multiplatform Mobile (KMM)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring