Ante Mihalj

Software engineer, technology consultant, freelancer

About me

Ante Mihalj

My name is Ante, I am a software engineer with 20+Y working experience in software development.

During that time I have worked through different roles and technologies during which time I have acquired knowledge and skills to successfully deliver them into practice. My experience includes software development with an understanding of complex business domains, team leadership, team education and technology consultancy. I am not afraid to take on new challenges and adapt to situations.

I value hard work, team spirit and constant search for knowledge. Lots of software engineers look for a way out of technology, I choose to stay in. Check my CV

What do I offer

I work as a freelancer, focused on following deliveries:

  • educating a team of developers to perform better collaboration on a project
  • software arhitect/consultant for microserviced systems
  • clean code education, peer reviewing
  • Go programming language education
  • Rust programming language education

My history

or some ancient history

Enterprise era:

I have started software development during my college, started with some standard stuff at the time (JAVA, .NET). It was big at the time, banks and corps were constantly looking for workforce to cover their thirst for development. That was the time everybody were doing stuff like:

  • Java enterprise
  • EJB (java beans)
  • .NET WebForms
  • Oracle DB, MSSQLServer, IBM DB2

Like I said, everybody was doing that, I was doing that too. I learned a lot about that world, enterprise software and banking in general. But after a bit, I was a bit bored with it so I started with other things like CMS, Javascript, MVC and some open-source projects that were evolving around HTML, CSS etc.

Start-up era:

Then it came 2008 with economic crisis and 2009 with recession. Suddenly all these enterprise and bank projects were hit hard, I realized it is time to adapt or to burn. Luckily I was already one foot in the door with open-source projects and I just switched to these new cool technologies where everything seemed tangible. ou could develop faster, you could demo it sooner than ever before. At the time I was joining a few startups, we were delivering products faster than ever before with these cool technologies:

  • .NET MVC
  • NodeJS
  • MongoDB
  • Single page apps
    • jQuery, Angular
    • HTML, CSS, SCSS, bootstrap

Cloud era:

After few startups and few years working there I have learn one thing: To deliver an application it takes 2 basic steps:

  • write application code
  • deploy and run it

Second step is equaly important as the first one. Operations matter! Apps should be deployed to scale up if necessary or should scale down to preserve budget if necessary.

At the time I was working on Salesforce.com platform. It is cloud native CRM number one in the world, and even though it is cloud-native, some things cannot be fixed by adding more money to it. Tried to improve its scalability by integrating part of the system with other cloud providers, doing in-cloud computations etc. Some things just have to have the different architecture to be cloud-ready.

I have started to work with different clouds and services (Heroku, AWS, IBM), learned a lot about services and automation processes, reusable components and vendor services like:

  • AWS lambda
  • AWS Cognito
  • Kubernetes
  • Docker containers
  • monitoring
    • Prometheus
    • Grafana
    • Cloudwatch

At this time I already started with full time freelancing, I learned to adapt to new technologies quickly as the client would require to. I guess you can teach an old dog some new trick.

Educational era:

As I said in the previous section, I learned a lot about operations and clouds. Apps should scale! On the other hand, I have also realized I can’t scale like that, my time is limited. I have to learn new technologies every day, I need to adapt them, but also I need to teach younger devs how to do the same. How to adapt, how to learn from the dev process. I have to learn from younger devs about new cool technologies and at the same time teach them the best I can:

  • teach
  • learn
  • apply

Still doing that. Still trying.

My education

  • Software engineer
    1999- 2004
    Engineer of telecommunications and electronics
  • High-school graduate
    1995- 1999
    High school
  • Hard-work experience
    2004 - now
    Principal consultant

My skills

  • Server side technologies

    • Microsoft - Server, ASP.NET, Webforms, MVC, WebApi, ASP.NET Core
    • Java - Java EE, Java Beans, Spring Framework, …
    • NodeJS - ExpressJS, Restify, AWS SDK, …
    • Linux - AWS EC2, Nginx
    • Other popular languages - Go, Rust, bash
  • Cloud and related technologies

    • AWS - S3, API Gateway, CloudFormation, Lambda functions, Cognito, CloudWatch, SNS, SQS …
    • Heroku - deployed several apps (personal and commercial) on that platform
    • Containers - Docker, Dokku, Kubernetes, …
    • Cloud web services - Redis, Memcache, AQMP, …
  • Front end technologies

    • General - HTML5, CSS3, SCSS, SASS
    • Javascript - VanillaJS, jQuery, Angular, React, Svelte
    • Tools - grunt, gulp, webpack
  • Databases

    • Microsoft - SQL server, SQL Express
    • IBM DB2
    • Amazon DynamoDB
    • Oracle
    • open source - MySQL, PostgreSQL
    • MongoDB
  • Content managment systems

    • Umbraco CMS - created a dozen of umbraco backed-up websites
    • KeystoneJS - NodeJS based CMS
    • Hugo + Netlify CMS - static website generator + CMS = blazing fast websites
  • CRM

    • Salesforce.com - development, integration, testing
    • ZohoCRM - personal use
  • Other

    • Design - UX, paper prototyping, AB testing
    • Versioning systems - git, mercurial, svn
    • Hosting - Heroku, AWS, Azure, .NET

Some of (last) projects I have worked on

  • Stockex is a software service to support company auction/bidding system.

    • Rust
    • Postgres
    • Svelte
    • OpenAPI
    • Docker
  • IBM cloud is an enterprise designed cloud infrastructure, supported by a large number of engineers and companies through collaboration. The goal is to provide top class enterprise solution for cloud based IT applications… more info

    • Go
    • Kubernetes
    • Docker
  • Repsly is the most advanced field team activation and mobile sales force tool designed for mobile teams in merchandise and similar industries. It enables mobile and coordinating teams work together in real time … more info

    • ASP.NET
    • IIS
    • Microsoft SQLServer
    • HTML5
    • CSS3
    • jQuery
  • Monica control center

    Check details in cv

    Satellite ground station graphical interface to keep instrument measurement, alarms and commands aligned. It is very satellite industry specific … more info

    • NodeJS
    • HTML5
    • CSS3
    • Angular
    • Gulp
    • Grunt
  • Basket SaaS

    Check details in cv

    Basket as a service - scalable cloud system that integrates with Salesforce platform and performs as a bridge between massive web traffic and salesforce limited ordering system… more info

    • Salesforce Dev
    • PostgreSQL
    • MongoDB
    • NodeJS
    • Gulp
    • Grunt
    • HTML5
    • CSS3
    • Angular
    • Heroku
    • Docker

My hobbies

Well, I am not a robot, I do other things in life too

  • Ante mihalj guitarist
    Music
    I have been involved in music since my childhood and played a few instruments but the electric guitar is the one that still rocks my world. I also build electric guitars as a pure hobby.
  • me chillin
    Chillin'
    Very rare but precious