Calin Bule

Online Resume

Download PDF Version

Calin Bule

Software Engineer

image

Software Engineer with more than 15 years of diverse industry experience, and focus on data-driven and cloud technologies, analytics, and infrastructure. I have a BSc. in Economics and one in Computer Science, an MSc degree in Management, and proficiency in both English and Italian.


Work Experience

Senior Software Engineer

Cognizant Softvision | 05.2023 - Present

Active participation in the development of a robust risk rating engine for a prominent European banking institution, focusing on:
- executing precise implementation of calculation nodes to meet project specifications.
- employing Test-Driven Development (TDD) methodology to craft thorough unit and integration tests.
- engaging in collaborative code reviews to ensure code quality and adherence to best practices.
- contributed proactively to project strategy discussions, influencing new directions.
- provided mentorship and support to onboard and guide newer team members, facilitating project integration.

Python Developer

Inetum Romania | 10.2022 - 05.2023

Crafted and delivered tactical applications (web and desktop) for internal clients within a leading European banking group, leveraging the Python ecosystem (FastAPI, Flask, etc.). Responsibilities also included:
- implementing bug fixes and integrating new features into existing applications.
- conducting thorough code reviews to ensure quality and alignment with best practices.

Independent Developer/Consultant

Self-employed | 04.2020 - 05.2023

- developed Django-based web applications.
- designed and constructed websites using WordPress, Jekyll, and Strapi.
- engineered Excel VBA macros for office task automation.
- architected and implemented Linux server-based infrastructure.
- provided consultancy services in software, database, and cloud technologies.

Technical Support Engineer

Axigen Messaging | 09.2020 - 09.2022

- delivered comprehensive product and OS support to global clientele.
- conducted testing of new product features and enhancements.
- assisted in crafting Ruby-based automatic tests for calendar functionalities.
- developed Python applications/tools to extend Axigen product functionality.
- automated deployment and infrastructure tasks using BASH, VirtualBox, and Vagrant.
- provided training and mentorship to incoming team members.
- produced documentation and instructional articles.

Technical Project Manager

Nigithor Consulting | 05.2019 - 09.2020

- led diverse software development projects primarily leveraging Python.
- managed analytics and reporting initiatives for internal and external clients, utilizing VBA, R, and Python.
- spearheaded exploration and adoption of emerging fields within the company, including Big Data, IoT, cloud technologies, eCommerce, Python development, and web frameworks.
- orchestrated training sessions on Big Data technologies (Hadoop, Spark, Kafka), Salesforce, and cloud infrastructure deployment (Terraform, Kubernetes, Docker, Helm).

Branch Coordinator

Nigithor Consulting | 01.2016 - 04.2019

- led a team delivering application maintenance services to an Italian corporate investment bank (utilizing Oracle SQL)
- developed internal tools with PHP for enhanced efficiency.
- overseeing personnel recruitment, training, and coaching.
- managing branch administration duties.

Consultant

Everis Italia | 03.2017 - 04.2020

- designed and engineered software solutions for workflow automation, ETL, RPA, and web applications, and conducted data analysis leveraging the Python ecosystem (Jupyter Lab, Django, Flask, Pandas, Sci-Kit Learn, Selenium).
- administered a shared services platform developed on Google Compute Engine.
- conducted data analysis and generated reports.
- advocated for developer innovation by experimenting with new tools and recommending their adoption to drive progress.
- authored comprehensive documentation to ensure knowledge sharing and maintain best practices.

Branch Manager

Volksbank Romania | 07.2015 - 12.2015

- coordination of subordinate staff to achieve sales targets
- responsible for maintaining legal compliance
- implementation, at a local level, of a massive loan conversion program that helped clients reduce the financial load; reached an adherence rate of more than 90% versus a national average of 60%

Relationship Manager for Private Individual and Small Business Customers

Volksbank Romania | 05.2012 - 06.2015

- administration and growth of the branch portfolio
- reduced the arrears through credit restructuring
- managed the branch and the branch team as a replacement for the branch manager

Relationship Manager

Unicredit Romania | 08.2008 - 05.2012

- administration and growth of the branch portfolio
- reduced the arrears through credit restructuring

Direct Sales Executive

ABN AMRO Bank Romania | 12.2007 - 07.2008

- generated sales leads and increased the bank portfolio through direct marketing

Project Manager

Expo Design System | 10.2006 - 07.2007

- administered accounts and increased client pool
- helped clients to get the best possible product while generating revenue for the company
- supported clients through all the phases of the production of the finished product

Projects

Documentation Chatbot - ongoing

Major European Cooperative Bank
Containerized Llama-based chatbot for documentation summarizing
Backend: API interacting with locally deployed Llama 3.1 8b LLM, through Ollama. It manages, not only interaction with the LLM, but also prompt creation and documentation pre-processing. External documentation is fed to the backend via uploaded files or API integration. Frontend: Simple web interface built with HTML with Tailwind CSS and JavaScript.

Credit Risk Calculators

Major European Cooperative Bank
Various credit risk calculators for financing of renewable energies projects
Built in Python, with Pandas and NumPy, fully dockerized, using a proprietary library for implementation DAG data processing approach.

Multi-user Contract Management App

European Banking Group
Tactical application for banking back-office
Web application developed for the local branch of a major European banking group. It was used to keep track of the renewal timelines for tech supplier contracts. Developed using FastAPI + SQLite on the backend and Vue.js+Bootstrap on the frontend. Since the application was supposed to be multi-user, but, due to some security constraints, a database server was not available, I also had to devise a way to use SQLite over the network, while also allowing multiple users, from various locations, to interact and read/write from/to the database.

Cloud Server

retina.Plus
Nextcloud server deployed on own hardware
In-location company server running Nextcloud, on Ubuntu 22.04 LTS. Installed repurposed hard drive, extracted from WD Cloud NAS, deployed OS and Nextcloud service. Secured application with SSL certificate and server with firewall, configured port forwarding in router, and added necessary DNS records for the domain.

calinbule.com

Personal project
developer profile / resume manager
Django application that serves as a presentation website, developer profile, and resume manager, with lead generator capabilities.

EasyLink Studio

EasyLink Studio
Order management system for online services provider
Web application that serves as an e-commerce extension for the main WordPress-based website of the company. Functionalities: user management with role segregation, service listing, purchase & refund (integration with PayPal), order management, ticketing, internal notification system, emailing (integration with SendGrid), bulk data upload from CSV files, analytics & reporting, database template caching. The app is developed with Django, will run on DigitalOcean AppPlatform, and will use a DigitalOcean PostgreSQL managed database. A separate module manages the integration with various APIs in order to update the various metrics of the products/services that the company sells.

Nova Card

Nova Card
Smart business cards
NFC-enabled business cards service, backed by a custom-developed Django-based web service.

Lead Generator

Personal project
Generation of sales leads from Facebook groups
An app that periodically scans Facebook groups for posts and extracts the ones deemed relevant (contain certain keywords), together with the contact information of the post author, and maintains a dataset with those leads and their status. The leads are then presented in human-readable form by a web app running on the local network.

Scalable App Infrastructure

Cubevo Data
Automatic WordPress deployment on Kubernetes cluster
Terraform project that deploys e-commerce applications, such as WordPress + WooCommerce, inside a scalable architecture on Digitalocean, using an auto-scalable Kubernetes cluster with a load balancer and volumes for the persistence of the application and database files, all inside a VPC created purposefully for the deployment.

Event Tool

Boehringer Ingelheim
Assesment of potential commercial interest in event participants
An application that looks at all participants at events organized by the company and creates a list of medics that represent further commercial interest. The list is then enriched with relevant information collected from various systems. It does so by connecting via REST to Salesforce, and other systems for the extraction of information. This software is strongly integrated with the Windows OS, making use of its API to generate PDF files from the output files.

Territory Assignment Tool

Sandoz Italia
Application that helps a pharmaceutical company keep track of sales reps territory assignments
In the world of pharmaceutical sales, the representatives of the company are each assigned to a territory inside which they carry out their activity. Given that the variables in this world are ever-changing (medics move away, reps resign, etc.) the company finds it hard to keep track and always have a clear image of what is going on with their sales force. The application extracts information from the client's information systems (via REST API) and updates the assignment of the reps to their respective territories. It is comprised of a back-end that provides the main functionality and a front-end that serves as a GUI and provides access to settings, logs, and statistics.

Room Prices App

Cubevo Data
App that extracts deals for hotel opeator network
A cloud-native, multi-instance web application that collects hotel room prices that meet certain criteria and displays them, in an aggregated form, on the app website. It uses two AWS EC2 instances for the collector apps, an AWS S3 bucket for storage, and two Google Compute Engine instances for the front-end, database and maintenance/tasks.

Web Scraping

Mighty Travels
Hotel/Flight data collection
Created a series of web scrapers that extract hotel information from various aggregators/hotel operators' websites.

Notary Fee Calculator

Notarial Office
Notary office fees calculator
An application that helps notary offices to quickly compute the fees for their services, in accordance with the guidelines of The National Union of Notaries Public of Romania, and also provides a detailed view of the various cost components.

Enrollment Validator

Boehringer Ingelheim
Validation of enrollment data against preexisting information present in client's Salesforce instance
The application periodically accesses a web-based database to extract reports containing enrollment data for various company-owned websites. Due to the fact that there is no API access, this operation is performed via the front-end, with Selenium. The downloaded data is stored and then checked against the preexisting information, recorded in the company's Veeva instance, which is accessed via REST API. Because the enrollment data is filled in manually, the algorithm uses string matching techniques to overcome potential human error (typos, missing letters, special characters, etc.). The users that are already registered, are validated against a series of business rules provided by the client and divided by the system of provenience. The result is then output to files that are each sent to the person responsible for the respective system.

Spend&Savings ML

Novartis Farma
Machine Learning enabled version of the previously created reporting tool
Refactoring in Python of the Spend&Savings reporting tool, previously realized in VBA. The most laborious part of the process was reimplemented using the KNN machine learning technique for classification, based on categorical variables. Further reduced report realization time from a few hours to about 30 minutes.

Duplicate Remover

Everis Italia
Deduplication of manually-filled data sets
The application takes in structured datasets that have been filled in manually and performs deduplication of records based on one or more fields. Given that the data sets were created manually and thus are prone to contain errors, the deduplication algorithm uses a series of score-based string-matching techniques to aid in the process.

Report Sheets Centralizer

BMW Italia
Tool for centralization and structuring of field reports data
The application centralizes the data collected from the reports submitted by the field reps of the company. It then structures them in tabular form to make them ready for analysis and interpretation.

Office Tools Automations

Novartis Farma, Boehringer Ingelheim
Various tools to help with automation of work inside the Procurement department
Developed tools for automation of reporting for travel expenses, cell phone usage, monthly department activity, automated procurement bid forms, and data collection inside the department, for Procurement. Refactored and optimized for increased performance the Regional Business Plan for Sales, and also created Jira Ticket Report Updater for QA.

Spend&Savings

Novartis Farma
VBA automation of manually-intensive procurement reporting
Excel VBA-based application that takes multiple inputs and generates the monthly spend and savings report for use in the procurement department. By automating tasks it managed to drastically reduce the time for the realization of the report from days to hours.

Chat with us on WhatsApp
Chat with me