Marko Kocić CV
Name: Marko Kocić
Languages: Serbian (native), English (IELTS 8 / C2), German (basic)
Location: Stuttgart, Germany
MScEE, Faculty of Electrical Engineering Belgrade, Department of Computer Engineering and Informatics.
October 2012 -
Trelleborg Sealing Solutions, Web Architect, IT Technical Competence Centre
I am currently holding position of the Web Architect at the Technical Competence Centre of the Global IT at Trelleborg Sealing Solutions Germany GmbH.
September 2010 - September 2012
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
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 wholse 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 fail-over 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
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).
Independent Software Services Provider
I was working as a freelancer 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 projects that that are not time critical.
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. (Android, Java, ffmpeg, RTMP).
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).
Invoice Management System - I was a sole developer developing 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)
2001 – 2003
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
Used non-professionally: Common Lisp, Clojure, Go, Groovy, Mirah, Scala …
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 - Gentoo, ArchLinux, Red Hat AS, 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.
Driving license B category.