Semir Zahirovic, Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Semir is available for hire
Hire Semir

Semir Zahirovic

Verified Expert  in Engineering

Software Developer

Location
Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Toptal Member Since
December 17, 2015

Semir is a professional Android and Java developer. He has worked on the design and implementation of advanced Android apps, done bug fixing, and worked with third-party libraries to ensure the best performance and features. He communicates well and is willing to work until his code is perfect.

Availability

Part-time

Preferred Environment

Xcode, Android Studio, iOS, Android

The most amazing...

...thing I've worked on was a project that involved fast rendering optimization and mobile payments

Work Experience

Android Developer

2014 - 2016
Atlantbh
  • Constructed a complete payments module using Stripe, and an instant chat app that had a custom gallery upload option.
  • Maintained the offline data persistence and two-way data synchronization.
  • Optimized networking and rendering performance.
  • Provided the back-end and cloud support.
  • Implemented Google Maps and Mapbox integration.
  • Redesigned the user interface for applications using the latest trends and technologies.
  • Accelerated the development of the new Android development stack using the latest tools and approaches.
  • Created custom animations for loaders, hiding cells, action bars, and others.
Technologies: RxJava, Fabric, EventBus, Picasso, Parse, Realm, Android SDK, Java

Researcher

2012 - 2015
University of Sarajevo, Faculty of Electrical Engineering
  • Implemented simple Android applications with local storage using MySQL database, that are consuming information provided from a REST API.
  • Created REST APIs from design to implementation.
  • Created reusable components for Android SDK to improve view rendering and performances.
  • Designed an application based on Google best practices.
  • Wrote unit tests and implemented them for the Android platform.
Technologies: Java, Android

Kabbage

https://play.google.com/store/apps/details?id=com.kabbage.mobile
I acted as the senior Android engineer for this project.

Tasks accomplished:
• Worked in a scrum environment.
• Drastically improved code and testing quality.
• Implemented multi-modular horizontal architecture for different features of the application.

Daily Highlights

I developed a Tinder-like app (an easy-to-use mobile dating app) for another company. I made my own swipeable fast-rendering cards that are supported on every Android device made in the last four years. I used hardware support to enable fast rendering.

Teamer

https://play.google.com/store/apps/details?id=net.teamer.android&hl=en
There are two million users currently using this application for the management of their teams.

I created my own network communication layer to support the communication with the API. I implemented Stripe payments for the mobile platforms. As this is a large project, I implemented custom animations to improve the UX, used a ViewHolder pattern to improve the UX when scrolling, and used Realm.io for data caching.

Embrace.io Android SDK

https://docs.embrace.io/docs/android-integration-guide
I developed an Android SDK which collects data about memory usage, CPU usage, and monitors network calls and device data. The SDK has a low memory footprint and the performance of the application was not degraded by the extensive data collection of the SDK.

Politiken Books (via Toptal)

I redesigned UI of the app and implemented a lot of custom UI components to support great UX. It allowed HLS (HTTP live streaming) streaming of audio books and enabled the user to save and play them from segments saved in a cache. Implemented custom ebooks text and highlighting. Also implemented and added support for streaming/playing audio sources on Google Cast devices.

Vital Health (via Toptal)

I developed a simple video-chat application using a WebRTC SDK for Android.

Grassroot (via Toptal)

I implemented the full offline mode for the existing application by using a queue system, job schedulers, and enabled a two-way data sync between local and remote databases. I also enhanced the application performance by using a multi-threading environment in combination with Realm.io and RxJava. In addition, I created the generic error handling and generic IO methods by using Realm.io.

StartShield Launcher (via Toptal)

I have drastically improved the performances of Android launcher. I created new transitions and animations and restructured the code so it can support easier development.

Languages

GraphQL, Kotlin, SQL, Java, Swift, C++, C, JavaScript

Frameworks

Dagger 2, Mockito, JUnit, Android SDK

Libraries/APIs

RxJava 2, Retrofit 2, GCM, RxJava, Butterknife, StickyListHeaders, Picasso, Google Maps SDK, Firebase Android SDK, Protobuf, Stripe API, Facebook API, Fabric, PubNub

Platforms

Android, Firebase, Parse, iOS

Storage

Realm, RoomDB

Tools

Firebase Cloud Messaging (FCM), ExoPlayer, Android Studio, Xcode, Sketch

Paradigms

Agile Software Development, Scrum, Model View Viewmodel (MVVM), Model View Presenter (MVP)

Other

Multithreading, SOLID Principles, Optimization, EventBus, Offline Data Synchronization

2013 - 2015

Master of Science Degree in Electrical Engineering

University of Sarajevo - Sarajevo, Bosnia and Herzegovina

2010 - 2013

Bachelor of Science Degree in Telecommunications

University of Sarajevo - Sarajevo, Bosnia and Herzegovina

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