About me
I work full-time as a Technical Consultant at GX Software—where I develop, build and implement GX Software products and support customers in improving and further developing them.
Previously, I've worked two years full-time as a Junior Software Engineer at Service2Fruit—where I was responsible for back-end development, testing, deployment and maintenance of the primary software projects.
As a software engineer, I prefer nothing more than translating functional requirements into secure, stable and infinitely scalable solutions. I'm convinced that good software makes the difference for every business—and I enjoy to combine my technical knowledge with my keen eye for detail to help build it.
When I'm not in front of my computer, I'm probably in the gym, squashing/playing tennis or in the city with friends.

Featured projects

FreshMonitor
FreshMonitor translates the data from Service2Fruit to real-time market information.

Service2Fruit's Trading Platform
Online trading platform (B2B) for agricultural products.

VanillaHN
An open source simple Hacker News client, built using only plain (vanilla) JavaScript.

tonnygaric.com v2
Second major version of my personal website.
Hard skills
To be able to take on some of technology's greatest challenges and make an impact on a large group of users, I think it's necessary to have a broad set of technical skills.
Here is a non-exhaustive list of techniques I enjoy to work with.
Programming languages
- Java
- JavaScript
- Scala
- PHP
- Go
- SQL
- Bash
Frameworks
- Play Framework
- Beego Framework
- Bootstrap
APIs
- Mollie Payments
- Pusher
- Google Maps
- Google Analytics
- MailChimp
- Mailgun
Other
- Git
- Ebean (ORM)
- GORM (ORM)
- GitHub
- JSON
- GitLab
- Sketch
- Jekyll
- NGINX
Markup languages
- HTML
- XML
Style sheet languages
- CSS
- Sass
Libraries
- Play-Bootstrap
- jQuery
- Highcharts
Tools
- Akka
- Gulp
- Codeception
- sbt
IDEs
- IntelliJ
- Visual Studio Code
CMSs
- Kirby
- WordPress
Soft skills
Here are some things I'm good at.
Inquisitive
I'm a curious person and I enjoy to learn things—not only new technologies and programming languages, but also on the interpersonal level. I constantly strive to improve myself, and my team.
Versatile
I understand that goals of a company, competition and technical developments do not stand still. I think it's important to be able to quickly adapt to different teams, goal(s) or activities.
Enthusiastic
I believe you should make your passion your job. I'm really passionate about software development and I enjoy to take on new problems.
Communicative
I don't like it when SQL tells me that something is ambiguous. I realise the importance of good communication.
Team Player
I play well with others—whether it are stakeholders or developers. I believe that 1 plus 1 equals 3.
Creative
I love to draw connections between seemingly unrelated things. My creativity helps me to be able to quickly tackle problems and come up with adequate solutions.
Organised
In order to work efficiently, I believe it's important to be organised—from writing clean code, to documenting it.
Critical thinker
I think that it's necessary to be a critical thinker in order to make good software. I reason efficiently to useful truths and effective actions. From identifying your actors and their goals, to making architectural choices.
Latest articles

Locale variable type inference in Java
Java 10, which was released March 2018, introduced the var
keyword.

jshell in a nutshell
jshell is an interactive tool where you can execute and try Java code. It's a REPL.
READ ARTICLE
Quick Java Module Overview
A quick overview of the Java Module System.
READ ARTICLE
New in Java 9: Collection Factory Methods
One of the nice new things in Java 9 are Collection Factory Methods.
READ ARTICLE