
Mladen Čikara
Verified Expert in Engineering
Software Engineer and Developer
Zagreb, Croatia
Toptal member since July 1, 2019
Mladen is a software engineer with more than a decade of experience developing Java applications. He's worked mainly with financial institutions but also with small businesses on the creation of custom CRM. He specializes in scalable enterprise applications. He is always looking to obtain a deep understanding of the domain he is working in so that the right technology is applied to the right problem.
Portfolio
Experience
- Java - 15 years
- Spring - 14 years
- Hibernate - 12 years
- SQL - 12 years
- JPA 2 - 10 years
- Web Services - 8 years
- Spring Boot - 8 years
- REST APIs - 4 years
Availability
Preferred Environment
Docker, Git, IntelliJ IDEA, Linux
The most amazing...
...thing I've created was a connector between a CRM app and telephone center that routed incoming calls to operators and also opened a window with client details.
Work Experience
Senior Software Developer | Freelancer
VG Soft
- Constructed a load-testing suite for stress-testing web applications using JMeter.
- Developed REST endpoints for entering and validating client data.
- Used Spring aspects for validating input data and logging.
- Created custom SQL queries to optimize data fetching.
- Worked with the front-end team to optimize the REST API and lowered the number of requests from the front by 90%.
Software Engineer
Liferay, Inc.
- Developed features for Liferay Connected Services, a metrics-gathering and processing service.
- Enabled blue-green deployment on AWS stack using Ansible scripts.
- Created ELK (Elasticsearch, Logstash, and Kibana) service for managing application logs.
- Built a module to determine the right number of CPU cores on Liferay Connected Service clients for different platforms (Docker, AWS, VMware).
- Made a client for Liferay Connected Services more resilient to connectivity problems.
Senior Java Programmer
Polyclinic Identalia
- Developed new features for a custom-made CRM application for a medical tourism company.
- Provided the 1st line of support for a CRM application with direct contact with application users.
- Built an integration module that connected a CRM application to a telephone system, routed incoming calls to the appropriate operator, and enabled starting outgoing calls from a CRM application using ZeroMQ.
- Created an integration module between a CRM application and a 3rd-party ERP application.
- Developed a module that validated company invoices.
Software Engineer
IN2 d.o.o.
- Supported and maintained a type of back-office software for brokerage firms using Oracle Forms.
- Developed and integrated connectors for different financial services using Apache Camel and the FIX protocol.
- Built and implemented an information system for the control of workflows (with the BPMN tool) for money distribution and vault management.
- Developed an application for managing the sales of mutual funds.
- Created a module for direct market access to the ZSE (Zagreb Stock Exchange).
- Found and fixed a memory leak that crashed the application every two weeks.
- Worked as a Java expert in a team that analyzed requirements and wrote tender bids. I determined the feasibility of requirements with technologies that we used and gave time estimations.
Experience
Senior Java Back-end Developer
https://dextcloud.com/I was a back-end developer in a small team of five people. I was mainly working on developing back-end features and working very closely with front-end team members to connect the back end and front end and with operations team members to help with the CI/CD pipeline. We used microservice architecture and Kubernetes to allow the application to run on AWS, GCP, and OpenShift. I was involved in deploying the application to a banking client: the app was in production use for more than a year there. As this platform allows developing a wide range of APIs, I was fortunate to work with a large number of interesting services, e.g., AWS, GCP, Kubernetes, the Stripe API, Auth0, Amazon Cognito, Okta, HashiCorp Vault, MongoDB, Kafka, Salesforce to name a few. I also ran daily stand-ups and scrum evens after the scrum master left the team, so I was closely involved in backlog grooming and feature planning.
Datagame
https://datagame.io/My tasks were to improve the existing application by connecting it to Stripe and enabling monetization. I was also working on improving existing games in jQuery and adding new games. The back end was done with Spring and Java, and I had to add features so that further improvements from games would be saved and processed.
Client | Partner Module | Zagrebačka Banka
I worked as a senior software developer for the back-end part of the application. I worked very closely with the front-end team to create a REST API that minimizes the number of requests from front to back. I also worked on processing incoming data and storing them in Elasticsearch for quicker and more flexible queries. I worked on creating optimized SQL queries and PL/SQL procedures with the database team.
We used domain-driven design for modeling applications and scrum for project management.
Liferay Connected Service (LCS)
I worked as a software developer on both parts but mainly on the back end. In addition to Java programming, I was tasked with writing the Ansible script that automated deployment to AWS.
I also managed ELK (Elasticsearch, Logstash, Kibana) for gathering and classifying all logs from all services in one place.
CRM for a Dental Clinic
While working for Polyclinic Identalia, I helped develop a CRM application. I worked as a developer in a small team with two other developers. That is why I was involved in every aspect of making the application.
Despite having a small team, we made an application that connected telephone switches and routed incoming and outgoing calls to relevant call operators in our CRM application. We also connected our application to a third-party ERP system.
We provided support for applications and worked very closely with our users. That enabled us to focus our development on features that brought the most business value.
Mutual Fund Sales Application
Cash Money Tracking System
In this project, I started as a software developer, but I was promoted to lead developer because the previous lead developer had left the company during the project. We used the BPMN tool ActiveVOS to track all operations of FinaGS. The front end was created with Vaadin, and the back end was created with Spring and deployed to Tomcat servers. We also connected to machines for counting money to record counts and to signature pads to record operators for every operation.
BrokerIN2 | ORC Trader Connector
The connector was created in Java and Spring and deployed on the JBoss application server. I used the Financial Information eXchange (FIX) protocol to get data from the market and stored it in our database. In this project, we used enterprise integration patterns (EIP) to connect applications.
BrokerIN2
I worked in a small team of three people as a junior software developer, and we were tasked with creating database models, business logic, user interfaces, and reports. The application was created in PL/SQL using Oracle Designer, Oracle Forms, and Oracle Reports.
ENC Checker
Learning Tests
These tests are great tools even later when I have a good understanding of the technology because when a new version is released, I can update my build script and check for failing tests.
Presentations
A presentation about connecting to ZeroMQ and server-side push to the front end: https://www.slideshare.net/hujak/javacro14-zeromq-and-javascript-mladen-ikara
A presentation about using ELK stack in Liferay Connected Services (LCS): https://2019.javacro.hr/JavaCRO-16/Program/ELK-Stack-Problemi-i-nasa-rjesenja
A presentation about creating simple query language with ANTLR (ANother Tool for Language Recognition): https://2020.javacro.hr/JavaCRO-18/Program/Creating-simple-languages-with-ANTLR
ELM Stopwatch
https://mcnullty.github.io/Repository: https://github.com/McNullty/elm-stopwatch
Education
Diploma in Office Management
University of Zagreb, Faculty of Electrical Engineering and Computing - Zagreb, Croatia
Master of Engineering in Computer Engineering
University of Zagreb, Faculty of Electrical Engineering and Computing - Zagreb, Croatia
Certifications
AWS Certified Solutions Architect - Associate (SAA)
Amazon Web Services Training and Certification
Java Standard Edition 6 Programmer Certified Professional (OCJP)
Oracle
Skills
Libraries/APIs
JPA 2, REST APIs, Smart GWT, Spring REST, QueryDSL, Hystrix, ZeroMQ, Java Message Service (JMS), Liquibase, Stripe, jQuery
Tools
Git, Apache Maven, Gradle, Flyway, Subversion (SVN), Ansible, Apache Tomcat, Apache JMeter, AWS ELB, Eureka, IntelliJ IDEA, Kibana, Logstash, Amazon Simple Queue Service (SQS), ELK (Elastic Stack), ANTLR 4
Languages
Java, SQL, HTML, HTML5, Groovy, CSS, Clojure, Elm, Java 8
Frameworks
Spring, Spring Boot, JUnit, Hibernate, Vaadin, Spring Security, Spring Integration, Ant Design, Bootstrap, GWT, Apache Camel, JPA, Spock Framework, OAuth 2, Android SDK, Thymeleaf
Paradigms
REST, Microservices, Microservices Architecture, Agile Software Development, Scrum, Business Process Modeling Notation (BPMN), Management, Testing
Platforms
Linux, Windows, Amazon Web Services (AWS), Amazon EC2, Docker, Kubernetes, Oracle Database, WebSphere MQ, Oracle, Software Design Patterns, Google Cloud Platform (GCP), Apache Kafka, OpenShift
Storage
Spring Data JPA, Amazon S3 (AWS S3), PL/SQL, PostgreSQL, MySQL, Oracle RDBMS, Databases, H2, Cassandra, Elasticsearch
Industry Expertise
Banking & Finance
Other
Back-end, Web Services, Single-page Applications (SPAs), Domain-driven Design (DDD), Architecture, Project Lombok, HATEOAS, Netflix OSS, Liferay, FIX Protocol, AsciiDoc, Software Development, Finance, Software Design, Software Deployment, HTTP, AWS Certified Solution Architect, AWS Cloud Architecture, Cloud Services, Cloud Infrastructure
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