Software Engineer2016 - PRESENTFreelance
Technologies: Java, Spring, Spring Boot, REST API, AWS, Spring Thymeleaf, Stripe API
- Implemented payment processing functionality for customer software using Stripe API.
- Integrated a customer's web application with Mailgun and mail sending functionality.
- Implemented a REST API on existing back-end functionality for a customer application.
- Integrated an existing back end in Spring with Amazon S3 Web Services.
- Changed an existing StringTemplate engine to Spring's Thymeleaf, utilizing new templates in mail sending.
- Implemented stateless JWT authentication for a client's back end.
- Focused on application security on a client's application by encrypting sensitive application and configuration data.
- Worked on upgrading, supporting, and maintaining a medical billing and administration software.
Senior Software Engineer2015 - 2016Croz d.o.o.
- Set up architecture in the software development process.
- Collaborated with the support and development team for core-service software in one of the biggest banks in Croatia. Additionally, supported and developed new functionality for an internet banking product.
- Adapted quickly; successfully implemented fixes for crucial bugs found during the testing phases in preproduction less than a month after being introduced to the company and software processes, without deeper previous knowledge of the code.
- Designed, developed, and deployed a solution which enabled communication of bank products with Oracle Real-time Decisions. Functionality was developed on the existing logging system, which was additionally enhanced for the purpose of tracking customer experience and retrieving real-time data from Oracle RTD.
- Upgraded technical elements of the SW process by proposing new solutions and tools.
Systems Engineering Manager2013 - 2015Equidem d.o.o.
Technologies: Java, Spring, Spring Boot, AngularJS, Linux, ESXi VMWare, Nginx, SOAP, REST
- Maintained company systems and infrastructure, proactively using the role to better the overall software, system, and company procedures. Continuously promoted excellence.
- Raised awareness for the clean code paradigm, introduced pair programming in education, promoted and handled code reviews, introduced the idea of Agile methodology, and introduced the idea of creating a user experience section.
- Improved communication between employees and all levels of management, initiating and setting a standard of one-on-ones.
- Promoted switching to newer technologies (Spring framework and AngularJS) from a business and technical point of view, introducing new technologies to high-level management.
- Organized webcasts for company employees with topics specific to software development. Organized and reviewed presentations for software design patterns and high availability, and maintained the knowledge management process specifically in the system sector.
- Conducted software security research, resulting in company-wide setup of web application security testing processes. The main focus was on penetration testing, with emphasis on black-box testing with elements of grey-box testing.
- Started and conducted education processes for AngularJS and Spring on a sector level. Assembled best practices for AngularJS projects.
- Conducted objective research of pros and cons of using enterprise Java in a non-enterprise-like web shop project.
Sofware Developer/Team Lead2011 - 2013Equidem d.o.o.
Technologies: Java EE, EJB3, JSF 1.2, Oracle DB, JBoss AS
- Led the integration team for a Russian and Bulgarian CRM project, and later took over technical responsibility for the Ukrainian version of the product.
- Continued the work I began as developer in terms of overviewing the system architecture and delegating responsibilities in a matrix-managed company of 40+ developers.
- Defined the main points of integration with core banking systems, including Microsoft Active Directory, Oracle FlexCube, Oracle Database 11GR2, and SAP business objects. Connected the system with banking in-house solutions and worked on the functionalities in terms of overviewing the codebase and configuration.
- Managed "hot deploys" with immediate changes to the code after going live with a system specifically for Bulgaria.
- Solved critical issues of users not being able to log into the live system.
- Took the role of education team lead - set up extensive education processes for the purpose of educating new employees (and existing ones) in technologies the company used for products, including Java EE (EJB3, JSF 1.2), JBoss AS 5.1. Created specific tasks for employees to go through. Education was done on individually prepared isolated "testing-polygons" where employees would then code a range of functionalities, isolated from the "live" environment.
- Set up a company knowledge library, carefully filtering and setting up the most valuable literature both developers and leads/managers needed to better themselves.
- Presented the software architecture to external auditors for an online front-end application that the company developed.
- Supported and deployed the products on go-lives directly on customer sites.
Software Developer2011 - 2011Equidem d.o.o.
Technologies: Java EE, EJB3, JSF 1.2, Oracle DB, JBoss AS
- Developed functionalities for a customer relationship management system to be used in financial institutions in central and eastern Europe. The product had a unified codebase with specifics for each country to where the product would be later deployed.
- Implemented, among other things, core campaign functionalities, an online service serving customer information data available to cash teller applications, and a Java client solution connecting to a .NET web service.
- Proactively involved in the integration phase of the software development process for the CRM product, involved in defining main functionalities and architecture.
- Sent on numerous international workshops acting as a company consultant, defining and explaining the product solution from both business and technical points of view.
- Mapped processes extensively for the CRM product with the goal to map data from external systems in different countries to the unified CRM product. Defined architectural functionalities and managed the process less than six months into my employment here.