Working at Comarch, you can come across many projects. The technical development one of them is currently led by Witold Zabłocki – our former intern, who talked about working on Comarch Custody. Let's read to discover more.
First, there was an internship
It all started years ago with a programming internship
at Comarch. I then joined a project in which, together with other interns, our task was to develop a POC (proof of concept), a system in a client-server architecture
using SOAP services in communication. My tasks in the team focused on refining the websites. These are network services that use established protocols and standards that allow data exchange between systems, regardless of the programming language used in the project.
And then it was just work...
After completing the internship, like most of my colleagues I decided to stay at Comarch, gaining my first experience as a junior programmer. Over the years, I have built my career in the company through development positions, to the team leader responsible for the technical development of one of our products - Comarch Custody. Initially, as a junior developer, I was involved in finding solutions to errors and implementing less complicated functionalities.
As technical competencies and, equally important, business knowledge about the system's operation increased, the issues became more and more complicated, and superiors expected greater independence in their implementation. In the following years, a lot happened as I moved through the design and programming positions. It is worth mentioning active participation in implementing the system in banks, technical care of clients, installation, and acting as a mentor for younger programmers or a supervisor during the internship program organized annually by Comarch.
A few words about the system I'm working on
Comarch Custody is a back-office application offered mainly to large financial institutions. Many banks in Poland use the system created and developed by our company. It is worth mentioning mBank, Bank Millennium and PKO BP just to show some examples. In the coming years, we would also like to enter foreign markets.
Comarch Custody primarily supports large financial institutions in handling securities transactions. We deal with, among other things:
- Storing securities balances
- Settling transactions concluded on these instruments
- Handling dividend and interest payments and redeeming bonds.
The Comarch Custody system is also responsible for the exchange of messages with internal systems of banks and external entities, such as the National Depository for Securities and its foreign equivalents, the Stock Exchange and other financial institutions. Additionally, the Comarch Custody system calculates commissions for operations performed in the system, prepares a series of reports to institutions supervising the capital market and calculates the amount of tax on income from financial instruments.
A project with history background
Comarch Custody was created over 20 years ago, at a time when a desktop computer could be seen more often in a cyber café, and the Internet itself was as popular as today. In 2009, there was a major refresh. Currently, we are working on the third version, which will probably premiere soon.
Successive generations of the system differ from primarily in the technologies in which they are implemented. Originally, Comarch Custody was created in a client-server architecture. It involved separating two application layers – a heavy client (so-called thick client) that partially implements the application logic and a database server. The second version is based on a three-layer architecture, where we provide our clients with a web application created in the Java Server Faces technology and using EJB (Enterprise Java Beans) components from Java EE (Java Platform Enterprise Edition) underneath.
We are working at Comarch on the third version of the system based on the microservices architecture. This approach to creating applications involves separating modules, which are applications responsible for a given part of the system's functionality. These modules communicate with each other using, among others, APIs (application programming interface), each of whitch is a set of guidelines describing the method of communication and the format of the data or queue used in it. Together, they create a coherent whole. We are developing this project using the latest version of commercially available technologies, Java version 17, Spring Boot, and Angular in the latest possible version. A large part of the project will be cloud solutions, enabling applications to run in virtually any cloud on the Kubernetes platform.
The word that best describes our project is change. Even though the Custody system is over 20 years old, we constantly try to adapt it to the latest technological standards. Subsequent versions of the program differ significantly from each other. Our team also focuses on ongoing support for currently commercially available versions. Most of our customers have already migrated to the second version of the software. Some are still using the first one. This forces us to ensure maximum security when using previous versions.
Not just in one city
Our company's headquarters is located in Krakow. It was also there that a team was established to develop the technical layer of Comarch Custody. At some point, as the Poznań team expanded, a manager from the capital of Greater Poland became the project leader. Today, most of the team works in the Poznań branch of Comarch. However, we are still open to other cities. Some of us work from Warsaw and Wrocław. Most of the employees responsible for the sales and consulting part remain at our corporate headquarters in Krakow.
How do we work at Comarch?
The above describes a project on the development I have been working on for several years, which has accompanied me from the beginning of my professional career. However, there are several dozen products, such as Comarch Custody, that are being worked on in our company. They meet the needs of customers from various industries. Each of them brings different challenges and slightly different work tools.
Company standards often guide the choice of technology for a project, but teams also have some independence. Working at Comarch on a project such as Custody involves interesting challenges in identifying subsequent libraries and programming platforms in order to implement new functionalities. Technologies and customer needs have changed over the years, providing opportunities to develop and implement new, interesting solutions.
The most frequently used technologies in the Comarch Custody system are Java, Spring and Angular. These technologies are already used in most programming teams at Comarch. However, the most important thing is the atmosphere within the teams. A company is made up of people, and those in this company are truly amazing.
Something for candidates
Working at Comarch offers many challenges and broad development paths. We work with the latest available technologies. We are constantly reducing the so-called technological debt, trying to stay one step ahead of the competition. We migrate older projects to newer technologies to provide our clients with the best quality of services. We give opportunities to young developers and interns. We believe in their development and great value to the company.
Finally, with us, you can build your IT career your way! Let's check the job offer and apply.