Matko Šuflaj, Developer in Zagreb, Croatia
Matko is available for hire
Hire Matko

Matko Šuflaj

Verified Expert  in Engineering

Web App Development Developer

Location
Zagreb, Croatia
Toptal Member Since
May 9, 2016

Matko is a software engineer and team lead, proficient in Java-based technologies. He has extensive experience and knowledge in system administration, cloud administration, and back and front end development on the Java ecosystem. Matko worked on complex domestic and international projects with a diverse range of roles, including software developer, business analyst, system administrator, and team lead.

Portfolio

Freelance
Amazon Web Services (AWS), Thymeleaf, Stripe API, REST APIs, Spring Boot...
Croz d.o.o.
WebSphere Application Server, CSS, HTML, PL/SQL, Splunk, Apache CXF...
Equidem d.o.o.
VMware ESXi, REST, SOAP, NGINX, Linux, AngularJS, Spring Boot, Spring, Java

Experience

Availability

Part-time

Preferred Environment

Git, Eclipse, Java EE, Spring

The most amazing...

...thing I've coded is a genetic algorithm that solved the timetable problem of scheduling students' exams in an educational institution.

Work Experience

Software Engineer

2016 - PRESENT
Freelance
  • Implemented payment processing functionality for customer software using Stripe API.
  • Integrated a customer's web application with Mailgun and mail sending functionality.
  • Implemented a REST API on existing back-end functionality for a customer application.
  • Integrated an existing back end in Spring with Amazon S3 Web Services.
  • Changed an existing StringTemplate engine to Spring's Thymeleaf, utilizing new templates in mail sending.
  • Implemented stateless JWT authentication for a client's back end.
  • Focused on application security on a client's application by encrypting sensitive application and configuration data.
  • Worked on upgrading, supporting, and maintaining a medical billing and administration software.
Technologies: Amazon Web Services (AWS), Thymeleaf, Stripe API, REST APIs, Spring Boot, Spring, Java

Senior Software Engineer

2015 - 2016
Croz d.o.o.
  • Set up architecture in the software development process.
  • Collaborated with the support and development team for core-service software in one of the biggest banks in Croatia. Additionally, supported and developed new functionality for an internet banking product.
  • Adapted quickly; successfully implemented fixes for crucial bugs found during the testing phases in preproduction less than a month after being introduced to the company and software processes, without deeper previous knowledge of the code.
  • Designed, developed, and deployed a solution which enabled communication of bank products with Oracle Real-time Decisions. Functionality was developed on the existing logging system, which was additionally enhanced for the purpose of tracking customer experience and retrieving real-time data from Oracle RTD.
  • Upgraded technical elements of the SW process by proposing new solutions and tools.
Technologies: WebSphere Application Server, CSS, HTML, PL/SQL, Splunk, Apache CXF, Knockout (Knockout.js), JavaScript, Spring, Java

Systems Engineering Manager

2013 - 2015
Equidem d.o.o.
  • Maintained company systems and infrastructure, proactively using the role to better the overall software, system, and company procedures. Continuously promoted excellence.
  • Raised awareness for the clean code paradigm, introduced pair programming in education, promoted and handled code reviews, introduced the idea of Agile methodology, and introduced the idea of creating a user experience section.
  • Improved communication between employees and all levels of management, initiating and setting a standard of one-on-ones.
  • Promoted switching to newer technologies (Spring framework and AngularJS) from a business and technical point of view, introducing new technologies to high-level management.
  • Organized webcasts for company employees with topics specific to software development. Organized and reviewed presentations for software design patterns and high availability, and maintained the knowledge management process specifically in the system sector.
  • Conducted software security research, resulting in company-wide setup of web application security testing processes. The main focus was on penetration testing, with emphasis on black-box testing with elements of grey-box testing.
  • Started and conducted education processes for AngularJS and Spring on a sector level. Assembled best practices for AngularJS projects.
  • Conducted objective research of pros and cons of using enterprise Java in a non-enterprise-like web shop project.
Technologies: VMware ESXi, REST, SOAP, NGINX, Linux, AngularJS, Spring Boot, Spring, Java

Sofware Developer/Team Lead

2011 - 2013
Equidem d.o.o.
  • Led the integration team for a Russian and Bulgarian CRM project, and later took over technical responsibility for the Ukrainian version of the product.
  • Continued the work I began as developer in terms of overviewing the system architecture and delegating responsibilities in a matrix-managed company of 40+ developers.
  • Defined the main points of integration with core banking systems, including Microsoft Active Directory, Oracle FlexCube, Oracle Database 11GR2, and SAP business objects. Connected the system with banking in-house solutions and worked on the functionalities in terms of overviewing the codebase and configuration.
  • Managed "hot deploys" with immediate changes to the code after going live with a system specifically for Bulgaria.
  • Solved critical issues of users not being able to log into the live system.
  • Took the role of education team lead - set up extensive education processes for the purpose of educating new employees (and existing ones) in technologies the company used for products, including Java EE (EJB3, JSF 1.2), JBoss AS 5.1. Created specific tasks for employees to go through. Education was done on individually prepared isolated "testing-polygons" where employees would then code a range of functionalities, isolated from the "live" environment.
  • Set up a company knowledge library, carefully filtering and setting up the most valuable literature both developers and leads/managers needed to better themselves.
  • Presented the software architecture to external auditors for an online front-end application that the company developed.
  • Supported and deployed the products on go-lives directly on customer sites.
Technologies: JSF, JBoss AS, DB, Oracle, EJB3, Java EE

Software Developer

2011 - 2011
Equidem d.o.o.
  • Developed functionalities for a customer relationship management system to be used in financial institutions in central and eastern Europe. The product had a unified codebase with specifics for each country to where the product would be later deployed.
  • Implemented, among other things, core campaign functionalities, an online service serving customer information data available to cash teller applications, and a Java client solution connecting to a .NET web service.
  • Proactively involved in the integration phase of the software development process for the CRM product, involved in defining main functionalities and architecture.
  • Sent on numerous international workshops acting as a company consultant, defining and explaining the product solution from both business and technical points of view.
  • Mapped processes extensively for the CRM product with the goal to map data from external systems in different countries to the unified CRM product. Defined architectural functionalities and managed the process less than six months into my employment here.
Technologies: JSF, JBoss AS, DB, Oracle, EJB3, Java EE

Genetic Algorithm Timetabler

A Java application I built that utilizes the power of genetic algorithms to produce the best timetable for student exam sets. Constraints used during the genetic algorithm processing were students (classes), exams, and space availability. The application was a standalone desktop, and Swing GUI was used to develop the user interface.

Bookshelf

A "GoodReads" like platform where users can review and track their favorite books. I developed both the back-end and the front-end. Technology highlights: Spring Boot, AngularJS 1.4, AOP, Liquibase.

Hibernate Mapping Generator

A tool developed for the purpose of mapping Java Bean objects to hibernate definitions that could then be used for object persistence. The user can load Java files from any particular package from a disk, and the program loads the class attributes into memory, which the user can model as per his needs to produce an XML hibernate mapping file. Functionalities include general hibernate ORM options, relationship mappings, ID generations, attribute constraints, and more.

Martial Arts Admin

A Java Desktop application developed for the purpose of tracking the business of an owner of a martial arts club. The owner had the option to track memberships, equipment, employees, their wages, and club sponsorships.

Audio Video Library

A Java desktop application built for the purpose of tracking audio and video titles in a library. Functionality includes tracking users, title reservations, and rent. The application was specific since it did not have, for that time, a standard relational database beneath, but was developed for different types of databases: object, object-relational, and XML.

Business intelligence

A Java-based desktop application developed for the purpose of digging out and analyzing business data. The user could use the program for analyzing a specific set of business-important data, for example sales revenue by product and/or department.

Usable Security

https://www.coursera.org/account/accomplishments/verify/X9RCWRUZA9
Coursera's Usable Security accomplishment.

Software Security

https://www.coursera.org/account/accomplishments/verify/VXTJGECRU3
Coursera's Software security accomplishment.

Languages

Java, HTML5, SQL, HTML, CSS, JavaScript

Frameworks

Spring, Spring Boot, JPA, Hibernate, JSF, Knockout (Knockout.js), Thymeleaf, Apache CXF, AngularJS

Tools

Eclipse IDE, Jenkins, Splunk, Gradle, Gulp, NPM, NGINX, Apache Maven, Git, Bower, Jetty, Apache Tomcat, Subversion (SVN)

Paradigms

Object-oriented Design (OOD), DevOps, Test-driven Development (TDD), Object-oriented Programming (OOP), Object-relational Mapping (ORM), REST, Clean Code, Dependency Injection, Unit Testing

Other

Web App Development, SOAP, SOLID Principles, EJB3, WebSphere Application Server, Integration, Enterprise Integration, VMware ESXi

Platforms

Docker, Amazon Web Services (AWS), JBoss, Eclipse, Java EE, Oracle, Linux

Storage

Relational Databases, MySQL, DB, JBoss AS, PL/SQL, JSON, Database Modeling

Libraries/APIs

REST APIs, JAX-WS, Stripe API

2006 - 2011

Master of Science in Computing Degree in Software Engineering and Information Systems

Faculty of Electrical Engineering and Computing - Zagreb

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