Profileimage by Andrei Codreanu Software Contractor from Bucharest

Andrei Codreanu

available

Last update: 06.09.2022

Software Contractor

Graduation: Bachelor of Computer Science
Hourly-/Daily rates: show
Languages: English (Full Professional) | Romanian (Native or Bilingual)

Attachments

Codreanu_Andrei-Marian_RESUME.pdf

Skills

I've been in the software industry for 3+ years and in this time I have gained significant experience in algorithm design and implementation, automation, performance optimization, and general problem-solving.

I can implement projects from scratch or maintain/extend existing projects, small or big. I have experience with working in a team but also working alone.

I am a detail-oriented person. I pay exquisite attention to efficiency, performance, and scalability. My main focus is backend development but I can also tackle other areas with ease.

I have a burning passion for automation and making things as simple and intuitive as possible for the end-user.

Project history

09/2017 - 07/2019
Software Consultant
RIghtClick Solution (Other, 10-50 employees)

Responsibilities:
• Implement new features from scratch (described below) or perform maintenance on our internal automation software (Test Management System).
• Assist clients with work on-site, usually with the Finastra product, Summit, implementing new client extensions or offering support in maintaining existing ones.
• Working as a consultant was in a fully remote manner where it was possible, I gained considerable experience in how to manage remote work directly with the client.
• Travel at a new client from Asia to present and hold trainings of our internal test automation software.

Technologies used:
C# (.NET, WPF, MVVM, Entity Framework), Java, C++, JavaScript, Selenium, HTML/CSS, SVN for source control, Windows/Linux/Solaris, Microsoft SharePoint
Oracle SQL, MySQL, Sybase

Html5 Automation - 5 month project

The requirement was to create a new platform for an automation tool that would automate actions in a web browser. That is, to record actions done by a user in a browser and be able to replay those actions, and also generate a wide range of variations based on that first recording without requiring the user to record again. The purpose of this project was to automate the repetitive work for the client’s testing team. The approached solution was to write a Chrome extension that recorded user actions and send them back to the main program to be saved in the database. I also implemented various ways of customizing recorded actions to generate slightly different test cases that would be later played for testing purposes. I implemented the playing part using Selenium. At the end of the project, I had a fully working automation tool for the web. By generating variations of the first recorded scenario the users were doing 90% less repetitive work and could focus on important use-cases.

XmlDiff - 6 month project

When I started working on XmlDiff project, the clients were complaining about the long amount of time it takes for two large XML files to be compared or even crashes of the application due to the high usage of RAM. Also, they wanted the comparison to take place in a smart way, that is, without taking into account the order of the XML nodes or the attributes. So I started implementing a new comparison logic that used the disk for swap in/swap out operations to keep the RAM usage under 1GB. The algorithm had various sorting and storing mechanisms that made sure the order of the nodes/attributes didn't matter. At the end of the project, the performance was increased by 30% while keeping the process RAM usage at a minimum.

Continuous Integration - 4 month project

The scope of this project was to implement a workflow that would automate the process of downloading, installing and configuring a new version of a certain software whenever it would be delivered. This particular software was very big and hard to configure, that it would take clients entire weeks or even months to set up. I was part of a team assigned with this project, my part was to configure the program. The program had around 800 .xml config files. My job was to merge the new changes from the new config files automatically, and also prompt the user to review changes that needed a closer look. I implemented a three-way comparison that would first compare config files from the old version with the one from the new version, take the differences from those and try to merge them into the respective client config file. At the end of the project, around 90% of config files would get merged automatically without user interaction. This means that if in the beginning clients were spending weeks or even months setting up the project, now it’s a matter of days. Needless to say, everybody was thrilled with the results.

06/2016 - 09/2017
Junior Software Engineer
Finastra (Banks and financial services, 5000-10.000 employees)

Responsibilities:
• Work with the development & product management teams to improve the Summit product
• Perform Care and Maintenance
• Implement new features as specified
• Respect high-level coding and design standards
• Investigate technical and functional defects and propose adequate solutions
• Providing training to the junior software engineers whenever a new/junior member joins the team.

Technologies used:
Mainly C++, a bit of C#, GitHub and AccuRev for source control, Windows/Linux/Solaris, Jira
Oracle SQL, MySQL, Sybase

Local Availability

Only available in these countries: Romania
Profileimage by Andrei Codreanu Software Contractor from Bucharest Software Contractor
Register