Benjamin Fajić, Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Benjamin is available for hire
Hire Benjamin

Benjamin Fajić

Verified Expert  in Engineering

Software Developer

Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina

Toptal member since September 16, 2022

Bio

Benjamin is a software engineer with relevant industry experience, skilled in various languages and technologies, striving to deliver and maintain top-level software. He's curious and generally interested in best practices, algorithms, and data structures, and always trying to learn something new.

Portfolio

Symphony
Java, Spring Boot, Angular, Apache Kafka, Redis, Amazon Web Services (AWS)...
Misija
Laravel, Vue, MySQL, Redis, JavaScript, PHP

Experience

  • Java - 7 years
  • Spring Boot - 6 years
  • JavaScript - 6 years
  • Laravel - 6 years
  • MySQL - 6 years
  • Vue - 6 years
  • PHP - 6 years
  • Angular - 4 years

Availability

Part-time

Preferred Environment

MacOS, JetBrains

The most amazing...

...project I've worked on is an enterprise platform that provides services for more than one million customers, eventually transforming over 100 million lives.

Work Experience

Software Engineer

2020 - PRESENT
Symphony
  • Contributed to an in-production pay-as-you-go platform with 2+ million customers and 30,000+ users.
  • Used Java and Spring Boot cloud-based microservices on an Angular front-end application.
  • Acted as a back-end developer, developing and maintaining core microservices while integrating with third-party services, including various SMS and mobile money payment integrations.
  • Created a custom Java annotation as a neat solution to specific reporting business logic.
  • Wrote some scaffold bash scripts for easier bootstrapping of some similar microservices.
Technologies: Java, Spring Boot, Angular, Apache Kafka, Redis, Amazon Web Services (AWS), JavaScript, MySQL

Software Developer

2018 - 2020
Misija
  • Engaged in many projects with various clients, mainly using PHP (Laravel) and Vue.js.
  • Contributed to card payment gateway integrations, mobile money integrations, and sending SMSs and emails.
  • Proposed handling simple repetitive CRUD operations using a generic approach, which considerably reduced time for adding new models to logic. This resulted in a closed-source Laravel package, and it was used as an internal admin panel builder.
Technologies: Laravel, Vue, MySQL, Redis, JavaScript, PHP

Experience

PAYG Platform

An in-production pay-as-you-go platform with 1+ million customers and 30,000+ users. I had a back-end-heavy full-stack role, working with Java and Spring Boot cloud-based microservices for an Angular front-end application. I used Docker and Kubernetes with a CI/CD pipeline on Jenkins and multiple Amazon services such as EC2, RDS, SES, SQS, and S3.

I handled many microservices, such as accounting, reporting, and CRM. I created integrations with payment and SMS providers and other third-party services. I also worked remotely in a distributed team using the Agile methodology, communicated with product owners, project managers, and other team members, and operated under on-call rotation off-hours to support critical issues.

SMS Payment System

A software solution for charging certain services using SMS. The application also has a CMS for managing companies and services, keywords, phone numbers, and users, and a dashboard with filterable and sortable data.

I developed and maintained the whole system. I implemented a database to fit requirements, wrote back-end logic to handle SMS processing, and communicated with mobile providers, external APIs, and software using this system for charging.

Online Payment Service

An online payment application that I developed to integrate with a bank gateway. This included a web API and a form-based front-end application that collects data from the end user, makes a request to the back end, processes that data, and returns a response. The front-end application either displays an error message or redirects the user to the bank's page for entering sensitive data. In the end, it displays the final result and emails an invoice to the user.

I worked on IEEE conference ticket purchases and handled the back end. I designed and implemented database solutions and web APIs for retrieving data from the front-end application. I also wrote logic for processing those requests, communicating with the transaction ID service, and returning a response to the front-end application.

Event Reservation System

A system that consists of a CMS with a back-end, database, and mobile application. Hosts or receptionists use the mobile app at the event to manage attendees by searching for guest names or scanning QR codes. After successful registration, the mobile app sends a request to the printer connected over the network to print appropriate accreditation.

I worked on the back end, implementing the database, specifying relationships and business logic, handling user authentication, and providing APIs for the mobile application. I also implemented different features on the CMS, including importing guest lists from Excel files or raw lists, sending invitations to guests by email, generating QR codes for guests, and sending event reminders. Additionally, I worked on features that presented all relevant data to event admins in the CMS and an external API that handled communication with the printer connected to wifi for requests to print.

Education

2015 - 2019

Bachelor's Degree in Computer Science

International University of Sarajevo - Sarajevo, Bosnia and Herzegovina

Skills

Libraries/APIs

Vue, REST APIs

Tools

Git

Languages

Java, PHP, JavaScript, HTML, CSS, SQL

Frameworks

Spring Boot, Laravel, Hibernate, Spring MVC, Angular

Paradigms

Microservices

Platforms

Amazon Web Services (AWS), Apache Kafka, Kubernetes, Docker

Storage

MySQL, PostgreSQL, Amazon S3 (AWS S3), Databases, Redis

Other

Full-stack, APIs, Spring Cloud

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