Mario Smolčić
Verified Expert in Engineering
Software Developer
Since 2014, Mario has been developing web and desktop applications on the .NET platform. He's worked for companies of all sizes, from startups to corporations, leading technical interviews and guiding smaller teams. Mario's passion and ambition keep him highly motivated to deliver the best solution for every task given. In his free time, he enjoys solving logical puzzles and competes in algorithm challenges.
Portfolio
Experience
Availability
Preferred Environment
Git, Visual Studio Code (VS Code), Visual Studio, Windows
The most amazing...
...project I've handled is a multi-user real-time matchmaking platform for online video game tournaments.
Work Experience
Software Development Consultant
Infobip d.o.o.
- Developed multiple microservices for the IoT platform using Java. Each one of them had hexagonal architecture, rich domain model (DDD), separated read and write flow using CQRS and ES and communication between them using the messaging via RabbitMQ.
- Created reusable libraries using Java in order to ease the development of new microservices on the platform. Libraries were including domain seedwork classes, validation flow, and request processing flow.
- Created the architecture for a functional testing project using a BDD approach with the Cucumber testing tool in order to introduce the usage of shared language that enhances the communication between the tech team and the management.
- Implemented integration tests using TestContainers with dockerized SQL server database, Liquibase to apply the migration scripts and Database Rider on top of DBUnit to initialize and verify datasets after the execution of tested repository methods.
- Extensively used Docker and Docker Compose in order to simplify the startup of each microservice of the platform and ease up the deployment process.
- Wrote Jenkins Shared Library using Groovy to reuse the common Jenkinsfile pipes for the microservice build process.
- Integrated multiple provider APIs on the anti-corruption layer of the hexagonal architecture in order to fetch the data from multiple endpoints and map them to a unified domain model.
Full-stack Developer
Rockport VAL, LLC
- Developed new application modules from scratch, including database table structures, stored procedure migrations, API layer interfaces and UI components and services using .NET Core, C#, Angular and TypeScript.
- Used the ag-grid components extensively to display complex report structures.
- Wrote Python tests to ensure the validity of the generated reports from the in-house analytics engine.
- Configured AppVeyor to cache the libraries to improve the speed of branch building process.
- Set up CI/CD pipeline from scratch on AWS EC2 machine using Jenkins.
- Created multiple conversion tools to translate the data from other applications to the in-house application data structures using C# and .NET Core.
- Led the technical interviews for the new potential team members.
Freelance Front-end Developer
EvoBits Information Technology SRL
- Worked on emerging the state management patterns, approaches, state structure, side effects control (using Redux and Ngrx/store with TypeScript).
- Implemented lots of reusable controls, helpers, and abstractions for the Angular app using TypeScript; forms state included.
- Used the combination of Vue CLI, TypeScript, Vuex and BootstrapVue to create two different multi-language administration dashboards from scratch.
- Added multi-language support and Google charts to the legacy AngularJS application.
Senior Software Developer | CTO (Startup Project)
Vicoinz, sp. z o.o.
- Developed client and administration REST web API using ASP.NET Web API 2 and C#.
- Created an application administrator module using AngularJS and Javascript.
- Built an Azure configuration change listener to apply changes to all connected clients in real-time without affecting user experience and connected it to WPF client application using C#.
- Wrote WPF UI automation tests using C# and TestStack.White library.
- Created numerous unit and integration tests using C#, NUnit and Effort library.
- Implemented real-time client-server communication using C# and SignalR library.
Software Engineer
Infobip d.o.o.
- Maintained a legacy ASP.NET Web Forms application written in VB.NET.
- Developed a custom logging system using C# and PostSharp library.
- Wrote and optimized complex SQL server stored procedures using T-SQL syntax.
- Built new web API features using C# and .NET Core while it was still in beta version.
- Wrote Gulp scripts for application assets compilation, minification, and bundling with folder watchers using Javascript and multiple Javascript libraries.
Software Developer
Fokus infoprojekt d.o.o.
- Developed and maintained large enterprise Windows Forms applications using C# and .NET 4.5.
- Wrote complex statistical reports for customers using C#, Crystal Reports and Fast Reports tools.
- Created a code generator tool which enables a developer to generate customized POCO, DAO, and stored procedures for all CRUD operations of the selected database tables.
- Built custom Windows Forms controls for the special needs of a company.
- Deployed multiple applications to the customer servers.
- Communicated with clients to understand their needs in order to choose the right application architecture.
- Extensively used DotNetBar components.
Experience
Vicoinz
SuperUser
Energo
PREN CIL - INA
The entire workflow, organization, management, and measurement is simplified by this application.
CIS (DMS)
Integrated Hospital Information System (IHIS)
Skills
Languages
TypeScript, HTML, CSS, C#, T-SQL (Transact-SQL), JavaScript, SQL, VB.NET, Groovy, Python, Java
Frameworks
Entity 6, ASP.NET MVC, ASP.NET, AngularJS, Bootstrap 3+, Angular, .NET Core, NUnit, Entity Framework Core, TestStack.White, Swagger, Bootstrap, JUnit, .NET, ASP.NET Web Forms, Windows Presentation Foundation (WPF), Redux, ASP.NET Web API, Mockito
Libraries/APIs
jQuery, REST APIs, NgRx/store, NgRx, React, SignalR, Vue, AutoMapper, MediatR, Vuex, Liquibase, AssertJ, Retrofit, JDBI, Windows Forms (WinForms), Web API, AG Grid, DBUnit
Tools
FastReport, Autofac, Microsoft Visual Studio, Ninject, TeamCity, Git, Jenkins, Jira, Confluence, Apache Maven, Cucumber, Docker Compose, Graylog, IntelliJ IDEA, Visual Studio, Visual SourceSafe, Gulp, Stash, Bitbucket, Angular CLI, RabbitMQ, REST Assured, Azure App Service, Azure DevOps Services, Azure Key Vault, Azure Logic Apps, Azure IoT Hub, Azure Machine Learning, Azure Information Protection (AIP), Azure Application Insights, Crystal Reports, Grafana, Vue CLI
Paradigms
CQRS, Unit Testing, Continuous Integration (CI), Agile Software Development, FluentValidation, Behavior-driven Development (BDD)
Platforms
Visual Studio Code (VS Code), Windows, Software Design Patterns, Docker, Amazon Web Services (AWS), Azure IaaS, Azure PaaS, Azure Functions, Azure, Amazon EC2
Other
Integration Testing, Repository Pattern, Batch Scripting, Vue Router, Power Shell Commands, IIS, Domain-driven Design (DDD), MockServer, Fast Reports, AppVeyor, Containers, Azure SaaS, Azure Virtual Machines, Azure Data Lake, log4j, Logback
Storage
Microsoft SQL Server, Azure Tables, PostgreSQL, Redis, Azure SQL Databases, Azure Active Directory, Azure Cosmos DB
Education
Master's Degree in Information Technology
Zagreb University of Applied Sciences - Zagreb, Croatia
Bachelor's Degree in Electrical Engineering
Zagreb University of Applied Sciences - Zagreb, Croatia
Certifications
Azure Fundamentals
Microsoft
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