Senior Software Architect2014 - 2017Scout Finance
Technologies: Amazon AWS, Node.js, Hapi.js, Redis, RabbitMQ, React.js, MobX, Git, CircleCI, Webpack
- Selected technology, designed the system, and architected the back-end API, scalability, and performance.
- Designed the AWS-based infrastructure, including servers, storage, cache, and monitoring.
- Implemented CI and automated deployments.
- Automated data import processing and backup procedures.
- Developed in Node.js for the Scout Finance application back-end API and services.
- Architected the web application and developed using React.js and MobX.
Technologies: Famous, AngularJS, Mobile Angular UI
- Laid out the app architecture and built initial functionalities.
- Wrote Grunt build scripts for web and mobile app deployments.
Technologies: Node.js, Express.js, AngularJS, MongoDB, Heroku
- Set up the architecture for the project and built the system.
- Implemented the API and AngularJS application, with optimizations for primarily targeting mobile platforms. Handled home screen installation on iOS devices with full-screen mode.
- Set up the build and deployment procedures, deploying to Heroku cloud hosting service.
Technologies: Node.js, Express.js, Backbone.js, Marionette.js, AngularJS
- Supported the client in moving towards their MVP release.
- Implemented required functionalities in Node.js/Express.js and Backbone.js/Marionette.js.
- Planted a seed for Backbone.js/Marionette.js to AngularJS migration, which the company took later on.
Technologies: AngularJS, Node.js, Express.js, Web Sockets, Trello, Amazon AWS
- Took on a consulting and R&D role, responsible for improving some of their development processes.
- Explored a stress-testing approach in a real-time WebSockets application.
- Introduced BDD-style testing concepts into their application development process and throughout the build automation tool, improving the entire build automation flow.
Technologies: AngularJS, C#, TFS, Trello
- Helped this client as a consultant to choose structured client-side Ajax functionalities for the server-side rendered site to replace the usual jQuery approach.
- Proposed AngularJS instead of Backbone.js, which they were evaluating, for its ability to plug into the page at any level in the DOM structure.
- Built the initial AngularJS concepts and components for their app.
- Improved their dev team communication and collaboration toolset by introducing more Agile tools to improve the existing clunky TFS experience, up to the level that they were ready to change.
- Joined the team for last-minute help with the official public launch of this NY-based startup.
- Built the necessary features for the public launch in their back-end Node.js/Express.js application.
- Improved the existing codebase, squashing bugs and polishing the UI for launch.
- Worked on a client-side Marionette.js application with WebSockets communication to RabbitMQ via Stomp.
- Developed a server-side Node.js RESTful API application.
- Implemented Grunt build automation.
- Handled basic SmartOS server administration.
- Worked on front-end implementation using HTML5 and Less, while incorporating responsive web design techniques.
Technical Director, Partner2002 - 2013Muzika.hr
Technologies: C#, MS SQL Server, Windows Server, Spark View Engine, NHibernate, Sharp Architecture
- Developed the main media portal CMS and supported it throughout the product lifecycle.
- Implemented and integrated third-party solutions into the line-of-business stack, including an ads serving platform, bulletin board, blogging platform, photo gallery, and more.
- Handled system administration and IT support.
- Implemented back-up automation to Amazon S3 cloud.
- Supported business generally and handled tasks related to co-running the company.
Technologies: Backbone.js, Node.js, Socket.IO, MongoDB, Git
- Developed client-side Backbone.js applications.
- Restyled front-end implementations to comply with higher and more modern standards.
- Handled Node.js and Socket.IO communication.
Software Developer2006 - 2008TEB Informatika
Technologies: C#, Java, Tapestry, Hibernate, Oracle, MS SQL Server
- Developed a C# web applications on an official Microsoft web stack using the underlying Oracle databases.
- Worked on Java web applications using Tapestry and Hibernate.
- Developed using Oracle PL/SQL.
- Contributed to GIS systems development on Intergraph's platform.
- Introduced the company to the documentation via wiki platforms.
- Introduced the company to source control systems.
- AWS Certified Solutions Architect - Associate (2017) (Other amazing things)https://goo.gl/4AoUQp
The AWS Certified Solutions Architect – Associate exam is intended for individuals with experience designing distributed applications and systems on the AWS platform.
- AWS Certified Developer - Associate (2017) (Other amazing things)https://goo.gl/CvVtv7
The AWS Certified Developer – Associate exam validates technical expertise in developing and maintaining applications on the AWS platform.
- MCTS .NET Framework 2.0: Web Applications (2009) (Other amazing things)
Microsoft® Certified Technology Specialist: .NET Framework 2.0, Web Applications
- WebCamp Zagreb Conference - Co-organizer (2013-Present) (Other amazing things)http://webcampzg.org
Co-organizer and volunteer coordinator of a web development conference held in Zagreb, Croatia.
- Muzika.hr (Development)http://www.muzika.hr/
The largest Croatian music portal.
- Rockmark (Development)http://rockmark.hr/
Bookstore web shop developed for a client.
- CarFinanceChecker.com (Development)http://carfinancechecker.com/
- CANDDi (Development)http://canddi.com/
Application built for CANDDi (available as an on-demand demo via the URL provided; public preview not available).
- ETH Zürich - ETHorama (Development)
- Citizen Activation App (Concept) (Development)
A concept for Citizen Activation App. At the moment, it's rather limited with data provided, but in the future, it aims to provide a central place for direct democracy opportunities for citizens around the world.
- Why The Hell Would I Use Node.js? A Case-by-Case Tutorial (Publication)Node.js shines in real-time web applications employing push technology over websockets. What is so revolutionary about that? Well, after over 20 years of stateless-web based on the stateless request-response paradigm, we finally have web applications with real-time, two-way connections, where both the client and server can initiate communication, allowing them to exchange data freely. This is in stark contrast to the typical web response paradigm, where the client always initiates communication. Additionally, it’s all based on the open web stack (HTML, CSS and JS) running over the standard port 80.
Libraries/APIsNode.js, React, MobX, Underscore.js, Lodash, Handlebars, Backbone.js, Mustache, jQuery, RequireJS, Marionette.js
ParadigmsContinuous Integration (CI), Continuous Delivery (CD), Kanban, Agile Software Development, Model View Controller (MVC)
FrameworksExpress.js, AngularJS, Hapi.js, NHibernate, Jasmine, ASP.NET MVC, Nancy, Sinatra, Ruby on Rails (RoR)
ToolsTerraform, CircleCI, Webpack, AWS Deployment, AWS IAM, Amazon Virtual Private Cloud (VPC), Nginx, Git, Trello, RabbitMQ, Campfire, Grunt, Mocha, Amazon SQS
PlatformsAWS EC2, Amazon Web Services (AWS), AWS Lambda, Oracle
StorageAWS RDS, AWS S3, MongoDB, Microsoft SQL Server, Oracle DBMS, MySQL, PostgreSQL
- Master's degree in Computing2000 - 2006University of Zagreb - Zagreb, Croatia