Nirmel Murtic, Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Nirmel is available for hire
Hire Nirmel

Nirmel Murtic

Verified Expert  in Engineering

Spring Cloud Developer

Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina

Toptal member since May 11, 2016

Bio

Nirmel is a software engineer with over 14 years of professional experience. He is a hard-working, self-motivated person skilled in various technologies and is always working to improve his knowledge and skill sets. He excels as a solo developer and is capable of working as part of a team or acting in the capacity of a team leader.

Portfolio

Symphony
Spring Boot, Java, Flask, Django, Python, Spring WebFlux, Spring Cloud...
Accomplice.IO
Elasticsearch
AtlantBH
jQuery, Objective-C, Android

Experience

Availability

Part-time

Preferred Environment

Java, Spring Boot, WebFlux, Spring Cloud, Kubernetes, Amazon Web Services (AWS)

The most amazing...

...thing I've created is a highly scalable assets generator platform that generates TBs of data and transfers data between different cloud storage platforms.

Work Experience

Principal Software Engineer

2016 - PRESENT
Symphony
  • Created job processors for data preparation as part of a machine learning pipeline based on reinforcement learning.
  • Used the Flask library to create back-end services in Python and a web client based on React.
  • Worked as a full-stack engineer for Unbox, a startup aiming to change how we use email by turning it into a project management platform.
  • Developed the back end, implementing endpoints and core business logic to provide a Spotcap-compliant API.
  • Migrated a monolithic system architecture based mostly on Java 7 to a microservice architecture that follows best practices and uses new features introduced in Java 8.
  • Worked on building an Angular 5 app using TypeScript. The app represents a rich email client based on Google API, which gives you additional features missing inside Google Gmail.
  • Handled the back end, built the architecture and implemented endpoints and core business logic for a web-based application that allows users to work together to create radio-friendly songs.
  • Built the internal back-end framework used for faster POC development.
  • Acted as a back-end developer and architect on tools for design teams with the primary goal to improve various tasks such as quick quality control of huge sets of assets, large-scale asset generation, and easy creation of large quantities of assets.
Technologies: Spring Boot, Java, Flask, Django, Python, Spring WebFlux, Spring Cloud, Amazon Web Services (AWS), Kubernetes

Senior Software Engineer

2013 - 2016
Accomplice.IO
  • Developed a web service for detecting a website's URL category based on the content from the provided URL.
  • Created Java services for loading and storing insights related to specific a Facebook page or Twitter account to an Elasticsearch server.
  • Implemented user-management module for an application we worked on including authentication and authorization.
  • Tuned the performances while searching for campaign stats by moving data from a relational database to an Elasticsearch server. Wrote highly optimized Elasticsearch queries.
  • Built a front-end application's skeleton using Angular and scaffolding tool for modern web applications.
  • Took a high number of tweets received from a Twitter streaming API and stored them to Amazon Redshift.
  • Transformed Twitter data and created reports based on stored data.
Technologies: Elasticsearch

Senior Mobile Software Engineer

2013 - 2013
AtlantBH
  • Created two Android native applications.
  • Built an iOS native application.
  • Created a web mobile version of an existing application for showing point of interests on a map using jQuery mobile.
  • Built an Android component for selecting multiple photos from a gallery.
  • Developed an Android photo editor component including feature like applying filters to photo, rotating, resizing, and more.
Technologies: jQuery, Objective-C, Android

Senior Software Engineer

2011 - 2013
Mistral Technologies
  • Developed a mobile application for iOS and Android using an ActionScript-based OpenPlug framework.
  • Built a JavaScript widget using plain JavaScript for embedding inside external web sites.
  • Created a PhoneGap application using Backbone.js.
  • Constructed a cinema venue map using SVG.js for use on mobile devices inside a PhoneGap application.
  • Implemented a jQuery component for embedding inside an external website which will allow it to be user-friendly by translating the content on the website.
Technologies: Node.js, JavaScript

Software Engineer

2008 - 2011
AtlantBH
  • Created a bunch of custom UI components to be used inside the app (Adobe Flash and ActionScript 3).
  • Developed JMS middleware using a JBoss asynchronous messaging system.
  • Improved the performances of a web service by searching for bottlenecks and paralleling the process using multiple threads.
  • Optimized the performance of a Java HTTP client.
  • Created a Facebook app using C#.
Technologies: JavaScript

Accomplice.IO

The primary mission of the platform is to help marketers run the most efficient digital ad campaigns in the world. Except for running the campaigns, there are a few other modules for viewing insights, activities and generating different types of reports.

The most important feature is the ability to run cross-channel or multi-channel campaigns on four different social networks: Facebook, Twitter, Google AdWords, and Instagram.

I worked on all parts of the system, including the back-end and front-end. Most of the time, I worked on the most complicated parts of the system. I also simultaneously worked as part of two different teams (front-end and back-end teams with 5-10 people per group). Sometimes, I played the role of team leader of one for an extended period.

Leading European Bank

The client is one of Austria's largest banks, with more than 2.5 million customers. They are currently working on improving their system's performance, structure, and maintainability by developing a microservices architecture.

I worked on the back end, implementing endpoints and core business logic to provide Spotcap-compliant API. I also worked on migrating a monolithic system architecture based mostly on Java 7 to a microservice architecture that follows best practices and uses new features introduced in Java 8. Additionally, I created the architecture and implemented the MVP for the front end application based on Angular 7, where I got familiar with the micro-frontend architecture.

Global Tech Giant

A web-based application that allows users to work together to create radio-friendly songs. Tasks are created through Quip and pushed to a song wizard within the application to track the remaining work before radio show releases.

The application has many features that automate workflow, improve efficiencies, and flag inappropriate or explicit lyrics. Users can now focus on their work rather than managing tasks or locating missing information.

I worked on the back end, building the architecture, implementing endpoints, and the core business logic.

Built the internal back-end framework for faster POC development.

I acted as the back-end developer and architect. I worked on tools for design teams with the primary goal to improve and automatize various tasks, including quick quality control of huge sets of assets, large-scale asset generation, and easy creation of large quantities of static and video.

Fathom Health

A Python ETL app that processes medical documents and extracts critical medical concepts and medical codes using machine learning and natural language processing.

Unbox

Unbox is a startup aiming to change the way we use email by turning it into a project management platform. All communication is done via REST interface made in Django. We improved the speed and overall performances of email fetching, processing, and storing by using Celery to execute async tasks and MQTT protocol to dispatch messages to the end-user. It was implemented as an Angular 5 app using TypeScript.

Black Knight Chess

Black Knight Chess is a chess app which includes advanced features. These features include playing chess against an Android engine or another user (on the same device, on Bluetooth, or even a user connected on Google Cloud).

Implemented Features:
1. A chess trainer
2. Ability to browse for the most popular games
3. To open and save games
4. Ability to review existing matches
5. Play a custom game where it's possible to set the initial position
6. A high-score list

I was the only person who worked on the project, so I performed the role of product owner, software architect, and QA also.

I built the app using the most recent Android SDK at the time.

I also worked on the Android application integration with an existing web application on a GAE server, which was implemented using GWT and a Java Restlet library.

The integration was done using notifications through Google Cloud Messaging.

Cookie Monetization

I built this Java REST web service which receives HTTP requests and based on a referrer URL detection category based on content from the referrer URL and a few other parameters.

Technologies: Java 7, Spring, Hibernate, MySQL, HBase, Java HTTP Client, Alchemy API (used partially for the detecting category)

Sarajevo Navigator

http://www.navigator.ba/
It's a project related to Sarajevo maps and the related points of interests, searching, and managing point of interests.

Using a jQuery mobile library, I worked on building three mobile applications: Android, iOS, and web mobile.

Pycsell Mobile

An Android application built as part of Pycsell platform intended for storing, sharing, selling, and printing photos.

It's a new way of communication via photos. It's possible to store your favorite photos safely to share them with family and friends, apply artistic effects, and order prints of your or friend's photos.

While working on this project I worked with Objective-C because I contributed to the iOS app build.

Brand@Hand

Features Implemented:
• Advanced integration of a ZXing library for scanning QR codes
• Implementation of an advanced card (image) carousel.
• Integration of native SMS, email, and Facebook/Twitter applications to the internal app

The app is backward-compatible with the Froyo version.

NCR Cinema

This is a web and mobile system for online cinema ticket reservation.

Technologies: JavaScript, Backbone.js, jQuery, jQuery Mobile, SVG.js, HTML 5, CSS, Node.js, PhoneGap, Bootstrap

Immediate Insights

This platform was meant to facilitate the creation, management, and distribution of surveys. It's an enterprise survey tool that allows your media property to leverage its existing user database by creating in-depth research surveys with monetizable lead generation capabilities.

Technologies: C#, ASP.NET MVC 3 & 4, HTML, jQuery, CSS, JavaScript, jQuery Library, SQL Server, TFS

CheckIn Radio

This is a mobile app for iOS and Android platform; it was built using ActionScript and an OpenPlug framework.

The application is part of a platform intended for use by radio stations. I also worked on building an admin console Flash application in ActionScript 3 using the Flex 4 framework.

LCMS (Location Content Management System)

This is a content management system for Navteq locations.

On this project, I developed Java web services using the following tools, servers, technologies, and frameworks: Java, Spring Framework, JMS, Hibernate, PostgreSQL, Ant, and Eclipse.

Navteq Locations

A platform used by people to discover and obtain directions to Navteq locations. The application was built using jQuery on the front-end side and Java Spring Framework on the back end. On this project, I worked on front-end side.

LRO (Location Reference Object)

This platform was responsible for the creation, management, search, publishing, and distribution of location reference objects.

On this project, I worked mostly on the LRO publishing side and its integration into the system.

Tools, Technologies, and Frameworks: Java, ActionScript 3, Eclipse, Adobe Flex, BlazeDS, Spring, JMS, Hibernate, Oracle Database, Ant

LifeLiners

This is a Facebook application built in C# using .NET MVC.
For data storage, an Microsoft SQL database was used.

Embedded Maps

This is a Flash application responsible for showing maps, searching POIs, discovery, routing, and much more.

On this project, I mainly worked on creating custom UI components used for an in-house app. It was built using Adobe Flash and ActionScript 3.
2008 - 2010

Master of Science Degree in Computer Science

University of Sarajevo, Faculty of Electrical Engineering - Sarajevo, Bosnia and Herzegovina

2005 - 2008

Bachelor of Science Degree in Computer Science

University of Sarajevo, Faculty of Electrical Engineering - Sarajevo, Bosnia and Herzegovina

Libraries/APIs

JMS, Quartz, X (formerly Twitter) API, Facebook API, Jackson, Box API, Guava, Node.js, OpenAPI

Tools

Apache Tomcat, Git, Amazon Simple Queue Service (SQS), ActiveMQ, Jira, Apache JMeter, Apache Maven, Gradle, Jenkins, Kong, Zipkin

Languages

Java, Python, SQL, TypeScript 3, Java 11, JavaScript

Frameworks

Spring Boot, Spring, JSON Web Tokens (JWT), OAuth 2, Spring Security, Spring MVC, Django, Spring WebFlux, JPA, Mockito, JUnit, Spring JDBC, Hibernate, Flask, Swagger

Paradigms

Object-oriented Programming (OOP), Model View Controller (MVC), REST, Dependency Injection, Scalable Application, Agile Software Development, Agile, Continuous Integration (CI), Unit Testing, Scrum

Storage

JSON, Memcached, SQLite, Elasticsearch, Redis, MySQL, Spring Data, Cassandra, Amazon S3 (AWS S3), Redshift, NoSQL, MongoDB, HBase, PostgreSQL, Amazon Aurora

Platforms

MacOS, Kubernetes, AWS Lambda, Amazon Web Services (AWS), Linux, JBoss, Oracle, Apache Kafka, Docker

Other

Multithreading, Spring Cloud, SSH, Server Sent Events (SSE), SMTP, WebSockets, WSO2

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