Marko Kocic CV
This page is work in progress
[X]Add Todo Warning
[ ]Fix formatting of the page
[ ]Re-evaluate ToC
[ ]Review content
MScEE, Faculty of Electrical Engineering Belgrade, Department of Computer Engineering and Informatics.
April 2017 - Now - (full time) - Trelleborg Sealing Solutions Germany GmbH - Manager Solution Architecture and Integration
Currently I work as a manager of the Solution Architecture and Integration service teams.
March 2016 - March 2017 - (full time) - Trelleborg Sealing Solutions Germany GmbH - Manager Release and Infrastructure Engineering
Worked as a manager of the newly formed Release and Infrastructure Engineering team. Main responsibilities included definition, introduction and implementation of Release Management processes inside IT, which would enable streamlining and automation of application infrastructure setup, build, automation and deployment.
My team was also responsible for the application infrastructure and deployment architecture, application environment setup, including setting up and maintenance of build automation, continuous integration, automatic deployments of web applications, web application maintenance and monitoring.
During the transition process, I was still kept responsible for the current web site backend and related applications and integrations.
I was also responsible for the infrastructure and the support activities for the new eCommerce platform project which went into the production by the end of 2016 (www.seals-shop.com)
Tools used: Java, Jenkins, Tomcat, NodeJS, ReactJS, Ansible, New Relic, Nagios. Linux, Apache
October 2012 - February 2016 - (full time)
Trelleborg Sealing Solutions Germany GmbH - Web Infrastructure Team Leader / Web Architect
I worked as a team leader, leading a distributed team of in-house developers, and contractors, both in Germany and India, and organizing and coordinating project development and support activities with my team members, other teams in IT, or working together with developers from software vendors, based on requirements of internal clients.
On the technical side I am responsible for the general architecture of web applications, as well as support and maintenance of existing applications.
Web infrastructure team is responsible for development and maintenance of company internet web site, various public facing sites, and related internal and external web tools and applications and infrastructure. Currently internal team has ~15 members grouped in CMS development group which is responsible for web sites design and implementation, web architecture group which is responsible for architecture and development of new generation customer web port and infrastructure, .Net development group which is responsible for internal .Net applications and infrastructure group responsible for infrastructure, tools, build management and devops support.
2003 - Now - (part time)
Independent Software Consultant
I was working as a freelance software engineer on various projects, from classic line of business applications like invoice management and storage management applications to android application for live audio and video stream publishing. Open only for interesting part time projects that are not time critical.
January 2015 - Now - (part time)
April 2012 - September 2012 - (part time)
Android Audio and Video publishing and streaming application
I took part in developing part of Android application that handled producing and publishing audio and video stream using Android phone camera and a microphone to Wowza Media Server. I was responsible for the client part of the application that involved video and audio capture on the device, and streaming to the server. Also took part in performance optimization in order to increase video capture frame rate, and reduce CPU usage on various Android versions (Android, Java, ffmpeg, RTMP, JavaCV).
September 2010 - September 2012 - (full time)
youngculture d.o.o - Senior Software Architect / Team Manager
youngculture is a company the provides software development services to their partners. My primary role is to lead a team of developers that is working on implementations of various projects on behalf of one of our company partners.
I worked as a team lead and technical lead. I worked together with the project managers on defining detailed software specification and making sure the requirements are met. Also, I was responsible for defining the architecture of the solution software system. I worked on all aspects of the development process, from defining and assigning tasks, writing detailed technical specification, giving estimates and making sure that customer requirements are met. I was also responsible for complete implementation of the solution and managing team of developers. On the technical side I was responsible for general application architecture, database design, implementation and unit testing. (Java, Spring, Struts, JSP, OJB, Open Text Discovery Server Fulltext search engine (BRS), jQuery, MySQL, MSSQL, Oracle, MS Project, BizAgi BPM, ArgoUML, Tomcat, REST)
2003 - September 2010 - (full time)
Cisco Systems via Power Symbol Technology - Technical Lead, Project Lead, Senior Software Engineer
My main area of work was on a large MeetingPlace conferencing and collaboration system which consists of many modules. I also took part in various separate, but related projects.
Cisco Unified MeetingPlace - Worked on various components and modules.
- Administration web application - Tomcat, JSP, JSF based application for administration of whole system. Was responsible for initial architecture of the application.
- SOAP API - XFire based SOAP API that enables third-party integration (Tomcat, XFire).
- Google search integration - Did prototype implementation of Google OneBox Appliance integration of meeting search implementation. That implementation became part of MeetingPlace.
- Database - Tuning Informix database, creating set of scripts and cron jobs for database backup, restore and maintenance. Also, created designed and implemented first version of automated database upgrade procedure used by application installer. Created a set of scripts to automatically generate DAO code from database schema (Shell scripting, Java, Python, Informix).
- MeetingPlace Outlook Plug-in - Worked in sustaining and maintenance of MeetingPlace Outlook plug-in which is used to schedule MeetingPlace meetings from Microsoft Outlook (C++, COM, Visual Studio).
- DMZ implementation - Architected and worked on solution which allowed one of the servers to be located outside of the corporate firewall, in DMZ (ssh, SOAP)
- Lotus Domino Sametime Web Server integration with Meeting Place as telephony interface (Java).
Cisco Unified MeetingPlace Conference Manager - Client - server application used by administrators and power users to provide ability to find, schedule and monitor and manage audio and web meetings. It included ability to perform all supported meeting operation while meeting is in progress, like initiate recording, call user by phone, mute/unmute, managing Q&A sessions, … It also included full user managements part of the application. It had ability to manage multiple servers and multiple versions in the same time. My role was project lead responsible for complete project, including architecture, implementation, and coordination with documentation and QA team. Technologies used are Swing, SOAP, SwingX, Guice. We also ended up driving and developing a lot of functionality on MeetingPlace server itself. Project duration was 1.5 years and it become part of MeetingPlace application suite. (Java, Swing, Guice, XFire, SwingX)
RosterLite - I was a sole developer that developed lite version of meeting roster application using Adobe Flex/Air and SOAP API. It was a prototype intended to be showcased at the Cisco EXPO.
Cisco Pinnacles Project - Worked on providing component and framework that encapsulates all business logic and database access layer. The component was used by all other system components and implemented using Java JINI technology as web service tier and based on iBatis for database layer. It provided seamless service discovery and service and database failover and recovery.
I also worked on administration web application (Tomcat, Struts, JSP), created DAO layer and worked on database design model and implementation, implemented automatic database backup and restore mechanism (Informix DB, bash) and worked on defining and first version implementation of database replication strategy.
2001 - September 2010 - (full time)
Power Symbol Technology
I held position of Technical Lead in Cisco outsourcing part of the PSTech. Besides work on Cisco related projects, I also took part in several non Cisco projects. Besides projects I was directly involved in implementation, I was often consulted in decisions regarding technology choice, software design, database design, Linux, project estimates, …
- Zarafa porting - Took part in porting open source Zarafa server (free Exchange alternative) from MySQL to Ingress database engine. The task included porting MySQL specific queries to standard SQL and some performance tuning and optimizations. Codebase was largely C++.
- Sugar CRM customizations - I took part in project to customize SugarCRM and basic project management and order management implementation based on projects for one large German ISP (PHP, SugarCRM).
- Java training for new employees - I prepared and conducted multiple times a training to get new employees up to speed in various technologies required. I was specifically teaching version control, build systems, dependency injection, SQL modeling, database persistence libraries and web application security (SVN, ClearCase, SQL, MySQL, Maven, Ant, Spring and Guice framework, JDBC, iBatis, Hibernate, JAAS, AcegiSecurity).
- Publitas eDoc Converter project - Took part in building REST web services. My role was to help defining project architecture (REST/Jersey, XStream, Acegy/Spring security).
January 2005 - January 2010 - (part time)
Invoice Management System
I was a sole developer developing and supporting custom invoice management and reporting system for a small company. It was a desktop application with MS Access front end and SQL Server back end. (MS Access, MS SQL Server, VBA)
January 2004 - May 2004 - (part time)
Storage Management System
I had a role of technical lead and lead developer on a project for creating custom web application for one big computer hardware vendor in Belgrade. I worked on all project phases, from pre-sales and gathering requirements, through implementation and quality control to project delivery (JBoss application server, Tomcat, EJB and JSP, Struts).
2001 – 2003 - (full time)
Wanadu Inc via Power Symbol Technology - Contractor, Senior Software Engineer, Team leader
iCreate Server - eLearning and content management server developed for Wanadu Inc., CA based startup Company. My role in this project is to be team lead and lead engineer of web part of the application. My responsibilities in this project included web application design and implementation (JBoss, Tomcat, EJB, JMS and JSP), XML-RPC API, work distribution and load balancing, database design and implementation (MSSQL Server, MySQL and Sybase).
iCreate Desktop Edition - Powerpoint Addin. I implemented UI of first release of the plug-in using Java Swing.
I also did a NT service implementation (C++), built automated build system and created installer (CVS, InnoSetup, Visual Studio, C++).
I also worked on a pilot project of integration between our conversion engine and Microsoft SharePoint Server (SOAP, C#).
Languages and techologies
Tools and Applications
Eclipse, Emacs, Vim, Embarcadero ER Studio, PostgreSQL, MySQL, Informix DBMS, Ingres DB, MS SQL Server, Celoxis, MS Project, Git, Perforce, SVN, ClearCase, CVS, Bugzilla, JIRA, Trac, MS Visual Studio, BizAgi BPM Modeler, Borland C++ Builder, Logic Works ERwin, Putty, VNC
Linux - Red Hat ES, Gentoo, ArchLinux, Cisco Linux, Ubuntu, Debian, Fedora, Mandriva. Windows - XP, 7, Server 2003, Server 2008
Excellent technical and communication skills. Able to excel in both team and individual project environment. Highly motivated, fast learner and always eager to learn new skills, technologies and work with new people. Vast experience in different technologies gives ability to easily transition into new problem areas and find optimal solution to problem at hand.