Nikola Kapetanovic
*******@*****.*** 647-***-****
Professional Summary
With over thirty years of industry experience, I specialize in emerging technologies, distributed computing, and component-based architecture. My expertise includes system architecture and design, implementing REST services, and integrating with third-party components like Reuters. I am proficient with development tools such as Visual Studio, Spring Tool Suite, IntelliJ, GIT, and Maven. Additionally, I have extensive experience in application server configuration, deployment, load balancing, and distributed memory configuration.
Technical Summary
Technology:
Angular 14, REST services, Spring boot, Redux/NgRx (14.3.3), Web Services, JAXB, JAX-RS, JAX-WS, Struts, Tiles, Java EE, JPA, JTA, Hibernate, TopLink 3.6, JSP, JQuery, JSTL, JMS, VXML (Voice over XML), AWS
Cache Management:
Oracle Coherence Cache, Hazelcast
Persistence/ORM (Object/Relational Mapping)
Hibernate, TopLink
Application Server:
WebLogic, Docker
Database:
Oracle 8, 10, 11g, PostgreSQL 14
Build tools:
Maven, ANT 1.5.3, Angular CLI
Repository:
Bitbucket, CVS, VSS, SVN, GIT
IDE:
Spring Tool Suite, Visual Studio, WebLogic Workshop, IntelliJ, Eclipse
Methodology/Project management:
Professional Experience
Agile/Scrum, JIRA
04/2022 – Present
Purolator
Technical lead/full stack
Lead the Full Stack development team (4 developers) of the API Portal project, providing Purolator clients with a centralized registration and shipping experience for courier and freight accounts. Successfully registered clients receive development keys to access and integrate Purolator’s APIs with their products, offering a unified web services solution tailored to customer needs.
Architected and developed the Angular UI framework (angular 14.2.12) using NgRx/Redux (14.3.3) to de-couple front end components from backend communication and state management.
Used Rxjs libraries for async event management by Observables.
Created and maintained shared libraries for use across the project, ensuring consistency and reusability.
Developed backend REST APIs for service and repository communication, utilizing a PostgreSQL database.
Utilized Hibernate (ORM) to map Java objects to database tables, facilitating efficient data management.
01/2021 – 12/2023
CITI bank
Technical lead/full stack
Technical lead for the development of the front-end application allowing the processing of trade tickets depending on the employee’s role. The team was composed of 2 front end developers and 3 backend developers.
The application was developed in angular, connecting to REST APIs.
The UI rendering consisted of role-based fields and validations configured in a JSON files, allowing quick turn around for any changes in the UI.
10/2019 – 02/2021
International Financial Data Service
Architect/Technical lead/full stack
Architect and lead developer on the BlindQC project allowing IFDS staff to place trade tickets in the system. The system is composed of an Angular front end interacting through REST APIs to a Spring Boot backend, attached to a Postgres database.
Developed the Angular front end using Angular 7 in conjunction with an NgRx store allowing management of the state.
Developed the Spring Boot backend application interacting with the front end through REST service APIs. Used JPA for querying and persisting data to a PostgreSQL 10 database through services and repository.
Developed a threaded batch process interacting with the IFAST servers to match and verify trades submitted by the users.
The team was composed of two developers
07/2008 – 04/2020
Invesco/AIM Trimark
Project lead/architect
Project lead/architect on several financial projects, the latest allowing the Advisors to enroll Investors electronically by sending them an invitation through email. After answering several Risk Tolerance Questions, the Investor would be presented with a Docusign form to be signed electronically. Front end was developed in Angular with state management using Redux (Effects, Reducers, Selectors). The front end communicated to the backend through REST web service calls. Backend was developed using Spring Boot framework utilizing Hibernate and Hazelcast for persistent and cache management.
Worked in Agile/Scrum methodology with Business Analyst and Scrum master to prepare and review epics/user stories for the development of different functionality of the application.
Mentored junior members of the team.
Lead architect of the REST web services providing micro services to the front-end layer.
Senior developer in the implementation of Angular components used by the application.
Lead architect/developer for the design and implementation of the data access layer using Hibernate Object relational mapping.
Tuned the persistent layer for speed.
Lead architect/developer for the designed and implementation of the relational database tables supporting the project.
Lead architect/developer of the Coherence cache, allowing in memory and distributed cache.
Lead developer on multiple Invesco projects using Spring, Tiles, REST services, JAVA EE.
01/2008 – 07/2008
Ministry of Transportation (Toronto)
Project Lead (consultant)
Worked with Business Analyst, Application/Solution Architect and Data Modeller to prepare design models using Rational Rose (Use case/Class/Sequence/State diagram).
Translated the use cases into system design documents.
Prepared technical specification for the development team. Facilitated review sessions to ensure the deliverables meet Ministry and industry standards.
Developed/enhanced Ministry systems using JAVA EE (Java, EJB, JSP, Struts), XML (DOM, SAX), Web Services, WebLogic, Toplink (ORM), Oracle, Eclipse.
Developed programs that use existing communication framework to access the Legacy System and retrieve requested data in accordance with functional and technical specifications.
Assisted the project manager in assigning development task to team members, tracked progress/variance to advise him of any schedule delay, risk and issues.
Developed a work plan for the development team.
Provided effective knowledge transfer to Ministry staff.
05/2007 – 12/2007
Invesco (Toronto)
Java/JAVA EE /Portal senior consultant
Responsible for the integration of the IFDS Web Service (International Financial Data Service) into the Invesco software architecture.
Designed and implemented a Session façade layer encapsulating the business functionality associated with the retrieval of data through the IFDS Web Service. The EJB layer facilitated the component life cycle and transaction management.
Implemented a DAO layer that encapsulated the Web Service communication and data translation between the two systems (Invesco and IFDS). Value objects, representing Invesco’s requests were translated into XML beans and sent to the IFDS Web Service.
Re-designed the client account section of the portal, integrating the new data schema provided by IFDS. Simplified the design and implementation of JSP pages by implementing new tag libraries.
Implemented business delegates providing members of the team with common access to business logic.
Provided support and mentoring to junior members of the team.
Interfaced with members of the IFDS team to analyze and design the XML schema required for new APIs.
10/2006 – 05/2007
CGI-Bell Mobility (Toronto)
Java/JAVA EE /Portal senior consultant
Invesco (Toronto)
Java/JAVA EE /Portal senior consultant
ESI Canada (Toronto)
Java/JAVA EE System Architect
Ontario Ministry of business cluster (Toronto)
Java/JAVA EE Consultant
Ontario Ministry of Transportation (Toronto)
Project Lead
Accenture (Toronto)
Java/JAVA EE Consultant
Chubb Security (New Jersey)
Java/JAVA EE Consultant
San Diego Data Processing Center (San Diego)
Technical lead/JAVA EE Software Consultant
Cayenta.com/Titan Software (San Diego)
Java/JAVA EE Consultant
Canadian Imperial Bank of Commerce (Toronto)
Java Consultant
Scotia McLeod Capital Market (Toronto)
Senior Programmer Analyst
Toronto Dominion Bank (Toronto)
System Analyst
Perle Systems (Toronto)
Project Leader
Education
BA.SC Electrical Engineer
University of Ottawa, Ottawa, Ontario, Canada