Damian Marusic, Developer in Zagreb, Croatia
Damian is available for hire
Hire Damian

Damian Marusic

Verified Expert  in Engineering

Software Developer

Location
Zagreb, Croatia
Toptal Member Since
July 18, 2019

Damian is an Android engineer and a team lead specialized in developing apps for the Android ecosystem. With experience in building large and security-sensitive applications, he has developed analytical skills, wireframing and prototyping techniques, and coding best practices to develop quality and secure software. His utmost priority in all of his projects is to deliver high-quality products on time.

Portfolio

Infinum
JUnit, SQLite, RxJava, Git, Gradle, Groovy, Java, Kotlin, Android
Infinum
JUnit, SQLite, RxJava, Git, Gradle, Groovy, Java, Kotlin, Android

Experience

Availability

Full-time

Preferred Environment

OS X, Git, IntelliJ IDEA, Android Studio, Android

The most amazing...

...project I've worked on is a mobile app for smart blenders and juicers for one of the biggest multinational companies in the world.

Work Experience

Android Team Lead

2018 - PRESENT
Infinum
  • Coordinated and mentored junior Android developers.
  • Handled small teams of developers.
  • Collaborated closely with back-end developers on defining and designing RESTful APIs for mobile applications.
  • Worked with Bluetooth Low Energy and iBeacons.
  • Participated in the hiring process and technical skills evaluation of potential candidates.
  • Helped with scheduling, performed project estimations, analyzed business requirements and shaped project requirements.
  • Set up application architecture for new and existing projects and built white-label apps.
Technologies: JUnit, SQLite, RxJava, Git, Gradle, Groovy, Java, Kotlin, Android

Android Engineer

2015 - 2018
Infinum
  • Worked closely with designers on creating and implementing designs that respect Android best practices.
  • Developed applications and libraries for Android.
  • Implemented continuous integration with CircleCI.
  • Performed regular code reviews and peer programming.
  • Wrote hundreds of unit and UI tests to ensure the stability of the written code.
  • Built a set of mobile banking products with an emphasis on security, testability, and code reusability.
  • Given a number of talks on Android meetups.
Technologies: JUnit, SQLite, RxJava, Git, Gradle, Groovy, Java, Kotlin, Android

Mobile App for Smart Blenders and Juicers

Worked in an agile team of 15 people across a few different time zones, applied Scrum methodology and had sprint plannings, backlog refinements, sprint demos, and retrospective as well as dailies.

Implemented high-end UX/UI design concepts and Bluetooth communication between connected devices and mobile app.

The client was one of the biggest multinational companies in the world.

The app was initially written in Java, using MVP architecture, and is moving gradually to Kotlin and MVVM.

Hundreds of unit tests were done with a combination of JUnit and Mockito.

Mobile App for Truck Drivers

As the lead Android developer, I worked on the largest free European platform for truck parking facilities updated and assessed by a pan-European community.

Using the app, truck drivers can select and filter features for each resting spot, search for suitable parking or use driving mode to see all the potential parking locations on their route that fit their preferred selections.

I was leading the team while white-labeling the app, maintaining it, and implementing interesting features such as beacon detection.

I introduced static code checkers and test coverage and started refactoring legacy code.

Mobile Banking App

I worked on the most advanced mobile banking solutions for one of the largest banks in Croatia. They offer a complete banking experience in the palm of the user's hands.

It is the first mobile banking app in Croatia that offers the ability to open your account via an in-app video call, the first one to implement fingerprint as a login option, and even won two awards in Croatia for the best mobile app in the Balkan region.

App uses certain security measures like SSL pinning to ensure secure communication with the back-end system.

Mobile App for Taking Cash Loans

Created an app for the African market which enables users to take cash, utility, and airtime loans.

I used very clean MVVM architecture in order to create a maintainable and testable app. Great attention was paid to ensure secure communication and storing user's data securely since it was a crucial requirement.

Mobile App for Currency Exchange

Worked for a FinTech startup and winner of the 2018 Best International Money Transfer Award.

Within a team of international clients, creating security critical app for money transfer, dealing with multiple
currencies and challenging UX issues.

I implemented various animations and transitions which nicely complement beautiful and clean Material design UI.

Telecommunications App

Mobile app for one of the largest Croatian’s telecoms with 100,000+ downloads, providing users with possibilities to check the balance and tariff balance, activate different packages/options and pay bills.

Working as a lead Android developer on the app’s rewrite and redesign process. Collaborating with designers, back end engineers, and clients, suggesting ideas and solving complex problems.

Worked on API design in order to allow backend completely dynamic screen rendering.

Android Complexify

An Android library which makes checking the quality of user's password a breeze.

I ported Dan Palmer's Complexify library to Java and Android.
2014 - 2016

Master's Degree in Software Engineering and Information Systems

Faculty of Electrical Engineering and Computing - Zagreb, Croatia

2011 - 2014

Bachelor's Degree in Software Engineering

Faculty of Electrical Engineering and Computing - Zagreb, Croatia

Languages

Java, Kotlin, XML, SQL, Groovy, Scala, C#, C, Dart

Frameworks

Ktor, Android SDK, Dagger 2, Mockito, JUnit, Robolectric, Spring Boot, Flutter, Play Framework

Libraries/APIs

Android API, Google Maps SDK, RxJava, RxJava 2, RxKotlin, Retrofit, Retrofit 2, Android Architecture Components, Google APIs, Google Places API, REST APIs, Google Analytics API, Firebase Android SDK, GSON, Google Gson, API Development, Google Maps API, Google API, Facebook API, Apiary API, Mixpanel Android API

Tools

Gradle, Android Studio, IntelliJ IDEA, Android Jetpack, Zeplin, Google Analytics, Firebase Analytics, Firebase Cloud Messaging (FCM), Google Cloud Messaging, Google Places SDK, CircleCI, Git, GitHub, AutoML, Adobe Lightroom, GitLab, GitLab CI/CD, Bitbucket, Terminal, Sketch

Paradigms

Agile, Agile Software Development, Scrum, Model View ViewModel (MVVM), Model View Presenter (MVP), REST, Unit Testing, Dependency Injection, Software Testing

Platforms

Android, Linux, MacOS, Bitrise, Firebase, Raspberry Pi, OS X, Arduino, Raspberry Pi 3 GPIO

Storage

RoomDB, SQLite, MySQL, PostgreSQL, Database Modeling, H2, Amazon S3 (AWS S3), H2 Database

Other

Retrolambda, Android Architecture, APIs, Team Leadership, Remote Team Leadership, Interviews, Technical Hiring, Technical Design, Software Engineering, Agile Sprints, API Testing, API Design, Mentorship, Code Review, Source Code Review, Pull Requests, GitFlow, Image Recognition, Security, Team Mentoring, Fintech, Mobile Banking, Location Services, Location Tracking, White Labeling, Bluetooth Beacons, Coroutines

Industry Expertise

Banking & Finance

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