Damian Marusic
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Android Engineer
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.
Experience
Mobile App for Smart Blenders and Juicers
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
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
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
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
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
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
I ported Dan Palmer's Complexify library to Java and Android.
Education
Master's Degree in Software Engineering and Information Systems
Faculty of Electrical Engineering and Computing - Zagreb, Croatia
Bachelor's Degree in Software Engineering
Faculty of Electrical Engineering and Computing - Zagreb, Croatia
Skills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring