Matko Šuflaj
Verified Expert in Engineering
Web App Development Developer
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
Experience
Availability
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
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.
Senior Software Engineer
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.
Systems Engineering Manager
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.
Sofware Developer/Team Lead
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.
Software Developer
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.
Experience
Genetic Algorithm Timetabler
Bookshelf
Hibernate Mapping Generator
Martial Arts Admin
Audio Video Library
Business intelligence
Usable Security
http://www.coursera.org/account/accomplishments/verify/X9RCWRUZA9Software Security
http://www.coursera.org/account/accomplishments/verify/VXTJGECRU3Skills
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
Education
Master of Science in Computing Degree in Software Engineering and Information Systems
Faculty of Electrical Engineering and Computing - Zagreb
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