See all developers
Dragos-Mihai M. Senior Java Full-Stack Developer

Dragos-Mihai M.

  • Romania
  • Full-time (40 hrs/week)
Dragos-Mihai is now available for hire Hire Dragos-Mihai

Skills and experiences

Skills and experiences

Senior Java Full-Stack Developer

Amazon 02/2020 - present

โœ” The client, world’s largest online retailer, was missing out on potential revenue from advertising due to the analysis tool for customer behaviour lacking important metrics as the data needed was vast, continually changing and stored into an inaccessible database. • ๐—ข๐—ฝ๐—ฒ๐—ป๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐˜๐—ผ๐—ผ๐—น ๐˜๐—ผ ๐Ÿญ๐Ÿฌ๐Ÿฌ’๐˜€ ๐—ผ๐—ณ ๐—ฐ๐˜‚๐˜€๐˜๐—ผ๐—บ๐—ฒ๐—ฟ๐˜€ by designing an on-demand system capable of onboarding datasets from the legacy application by setting out an implementation plan and communicating closely with the team members. • ๐——๐—ฒ๐˜€๐—ถ๐—ด๐—ป๐—ฒ๐—ฑ ๐—ฎ ๐Ÿฎ๐˜… ๐—บ๐—ผ๐—ฟ๐—ฒ ๐—ฐ๐—ผ๐˜€๐˜ ๐—ฒ๐—ณ๐—ณ๐—ฒ๐—ฐ๐˜๐—ถ๐˜ƒ๐—ฒ ๐˜€๐—ผ๐—น๐˜‚๐˜๐—ถ๐—ผ๐—ป by building a rock-solid infrastructure that was fully hosted in AWS by using the CDK library to deploy the Step Function workflow that was in charge of moving the data to the team’s database, encrypting it using KMS and notifying the customer via email when the process was over. โš™๏ธ Skills: Java, NodeJS, AWS Step Functions, AWS ECS, AWS Lambda, API Gateway, DynamoDB, S3, CDK, CloudFormation, IAM, KMS, Angular, Typescript

Location: IaลŸi, Romania

Senior AWS Developer

Amazon 07/2019 - 02/2020

โœ” The client, world’s largest online retailer, had difficulties launching the beta version of a customer behaviour analytics tool that had the potential to boost the generated revenue through advertising due to the fact that the core data needed to fuel the tool was stored in an external database in a format not suitable for custom queries. • ๐—œ๐—บ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ฒ๐—ฑ ๐—ฑ๐—ฎ๐˜๐—ฎ ๐˜€๐—ฐ๐—ฎ๐—น๐—ถ๐—ป๐—ด ๐—ฐ๐—ฎ๐—ฝ๐—ฎ๐—ฐ๐—ถ๐˜๐˜† ๐—ณ๐—ฟ๐—ผ๐—บ ๐—บ๐—ฒ๐—ฟ๐—ฒ ๐—š๐—•๐˜€ ๐˜๐—ผ ๐—ผ๐˜ƒ๐—ฒ๐—ฟ ๐Ÿฎ ๐—ง๐—•๐˜€ ๐—ผ๐—ณ ๐—ฑ๐—ฎ๐˜๐—ฎ by deploying AWS cross-account resources meant to support the spawning and management of EMR jobs in charge with the datasets transfer which were triggered automatically at the beginning of each month by a cron job. • ๐—จ๐—ป๐—น๐—ผ๐—ฐ๐—ธ๐—ฒ๐—ฑ ๐Ÿฎ๐˜… ๐—บ๐—ผ๐—ฟ๐—ฒ ๐—ฝ๐—ผ๐˜๐—ฒ๐—ป๐˜๐—ถ๐—ฎ๐—น ๐—ฟ๐—ฒ๐˜ƒ๐—ฒ๐—ป๐˜‚๐—ฒ ๐—ด๐—ฒ๐—ป๐—ฒ๐—ฟ๐—ฎ๐˜๐—ฒ๐—ฑ ๐˜๐—ต๐—ฟ๐—ผ๐˜‚๐—ด๐—ต ๐—ฎ๐—ป๐—ฎ๐—น๐˜†๐˜€๐—ถ๐˜€ by making the data available in the team’s system, representing a major stone in launching the beta version of the tool, resulting in funding for growing the team. โš™๏ธ Skills: AWS EMR, EC2, S3, AWS VPC, KMS, IAM

Location: IaลŸi, Romania

Senior Java Developer

Amazon 04/2019 - 07/2019

โœ” The client, world’s largest online retailer, was struggling to increase automation when generating banners for advertising campaigns due to the current system lacking the option to let graphic teams input their own generation rules. • ๐—œ๐—ป๐—ฐ๐—ฟ๐—ฒ๐—ฎ๐˜€๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐˜€๐˜†๐˜€๐˜๐—ฒ๐—บ’๐˜€ ๐—ฎ๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ฝ๐—ฒ๐—ฟ๐—ฐ๐—ฒ๐—ป๐˜๐—ฎ๐—ด๐—ฒ ๐—ณ๐—ฟ๐—ผ๐—บ ๐Ÿฎ๐Ÿฌ% ๐˜๐—ผ ~๐Ÿฑ๐Ÿฌ% by redesigning the priority based logistic to apply on banners the properties with higher-precedence and improving the DynamoDB database to support a global secondary index. • ๐—˜๐—ป๐˜€๐˜‚๐—ฟ๐—ฒ๐—ฑ ๐Ÿญ๐Ÿฌ๐Ÿฌ% ๐—ฐ๐—ฟ๐—ผ๐˜€๐˜€-๐—ฏ๐—ฟ๐—ผ๐˜„๐˜€๐—ฒ๐—ฟ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ฎ๐˜๐—ถ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜† ๐—ณ๐—ผ๐—ฟ ๐˜๐—ต๐—ฒ ๐—ฐ๐—ฟ๐—ฒ๐—ฎ๐˜๐—ฒ๐—ฑ ๐—ฏ๐—ฎ๐—ป๐—ป๐—ฒ๐—ฟ๐˜€ by in-depth researching css specific properties for the main browsers and updating the unit tests suite to validate the presence of these properties. โš™๏ธ Skills: Java, AWS Lambda, DynamoDB, S3, CloudFormation, React, Typescript

Location: IaลŸi, Romania

Senior Java Developer

Amazon 01/2019 - 04/2019

โœ” The client, world’s largest online retailer, was unable to set a proper roadmap or evaluate the progress, needs & strength areas of their automatic banner generation system due to neglecting to collect any kind of data in the 1 year since launching the system. • ๐—ฅ๐—ฒ๐—ฑ๐˜‚๐—ฐ๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐˜๐—ฒ๐—ฐ๐—ต๐—ป๐—ถ๐—ฐ๐—ฎ๐—น ๐—ฑ๐—ฒ๐—ฏ๐˜ ๐—ฏ๐˜† ๐Ÿด๐Ÿฌ% by establishing a dashboard with numerous operational and business metrics by tracking all the actions available to the customers in the system and publishing custom data to CloudWatch. • ๐—ฅ๐—ฒ๐—ฑ๐˜‚๐—ฐ๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐˜๐—ถ๐—บ๐—ฒ ๐˜๐—ผ ๐˜๐—ฎ๐—ธ๐—ฒ ๐—ฎ๐—ฐ๐˜๐—ถ๐—ผ๐—ป ๐—ณ๐—ฟ๐—ผ๐—บ ๐Ÿฒ ๐—ต๐—ผ๐˜‚๐—ฟ๐˜€ ๐˜๐—ผ ๐Ÿญ๐Ÿฑ ๐—บ๐—ถ๐—ป๐˜‚๐˜๐—ฒ๐˜€ by in-depth researching CloudWatch monitoring features to set precise alarms which were used for the on-call shifts to notify the team whenever there was a critical or potential outage. โš™๏ธ Skills: Java, CloudWatch, AWS Lambda, DynamoDB, API Gateway

Location: IaลŸi, Romania

Senior Java Developer

Amazon 07/2018 - 01/2019

โœ” The client, world’s largest online retailer, was dealing with a high load of requests and repetitive work for the manual graphic team due to missing in the automation tool a transition shape feature that would separate text area from imagery. • ๐—จ๐—ป๐—ฏ๐—น๐—ผ๐—ฐ๐—ธ๐—ฒ๐—ฑ ๐—ฎ๐—ป ๐—ถ๐—บ๐—ฝ๐—ผ๐—ฟ๐˜๐—ฎ๐—ป๐˜ ๐—ฐ๐—น๐—ถ๐—ฒ๐—ป๐˜ ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐˜€๐˜†๐˜€๐˜๐—ฒ๐—บ ๐˜„๐—ต๐—ถ๐—ฐ๐—ต ๐—น๐—ฒ๐—ฑ ๐˜๐—ผ ๐—ฎ๐—ป ๐—ถ๐—ป๐—ฐ๐—ฟ๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—ผ๐—ณ ๐Ÿฎ๐Ÿฐ% ๐—ถ๐—ป ๐˜๐—ต๐—ฒ ๐—ฎ๐—ฝ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ฎ๐—น ๐—ฟ๐—ฎ๐˜๐—ฒ ๐—ถ๐—ป ๐—น๐—ฒ๐˜€๐˜€ ๐˜๐—ต๐—ฎ๐—ป ๐—ฎ ๐—บ๐—ผ๐—ป๐˜๐—ต by designing a custom-tailored algorithm to identify the orientation of the newly built transition shape component into the banners’ layout and defining a React component to render the visual shape representation. • ๐—ฅ๐—ฒ๐—ฑ๐˜‚๐—ฐ๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐—ป๐˜‚๐—บ๐—ฏ๐—ฒ๐—ฟ ๐—ผ๐—ณ ๐—ผ๐—ฝ๐—ฒ๐—ฟ๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐—ฎ๐—น ๐˜๐—ถ๐—ฐ๐—ธ๐—ฒ๐˜๐˜€ ๐—ผ๐—ฝ๐—ฒ๐—ป๐—ฒ๐—ฑ due to bad banners quality ๐—ฏ๐˜† ๐Ÿฏ๐Ÿฌ% by closely working with the UX Designer to set a baseline of good banners and updating the integration tests to validate the system’s health against the baseline. โš™๏ธ Skills: Java, AWS Lambda, S3, DynamoDB, API Gateway, CloudWatch, Angular, React, Typescript

Location: IaลŸi, Romania

Java Developer

Amazon 08/2017 - 07/2018

โœ” The client, world’s largest online retailer, was facing potential revenue losses ahead of the Prime day event due to scalability problems for their automatic banner Generation tool as the graphic team was expecting a load of requests exceeding their bandwidth and the automation tool was missing critical event specific fields in its workflow. • ๐—œ๐—ป๐—ฐ๐—ฟ๐—ฒ๐—ฎ๐˜€๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐—ป๐˜‚๐—บ๐—ฏ๐—ฒ๐—ฟ ๐—ผ๐—ณ ๐—ฎ๐—ฝ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ฒ๐—ฑ ๐—ฏ๐—ฎ๐—ป๐—ป๐—ฒ๐—ฟ๐˜€ during the Prime day event ๐—ฏ๐˜† ๐—บ๐—ผ๐—ฟ๐—ฒ ๐˜๐—ต๐—ฎ๐—ป ๐Ÿฑ๐Ÿฌ% by redesigning the backend APIs to use updated serializers & deserializers, migrating the database schema to match the new models and integrating the new fields into the AWS Step Function workflow used to orchestrate each step of the banner’s creation. โš™๏ธ Skills: Java, AWS Step Functions, AWS Lambda, DynamoDB, AWS RDS, S3, API Gateway, CloudWatch, Angular, React, Typescript, NodeJS, Ruby on Rails

Location: IaลŸi, Romania

Java Developer

Atta Systems (formerly AB4 Systems) 03/2017 - 06/2017

โœ” The client, an outsourcing company helping big organizations like UNICEF and World Bank, was looking to build a reliable notification system for emergency situations since most applications on the market didn’t guarantee safe delivery of the messages due to missing a failover system based on multiple channel communication. • ๐——๐—ฒ๐—น๐—ถ๐˜ƒ๐—ฒ๐—ฟ๐—ฒ๐—ฑ ๐—ฎ๐—ป ๐—ฎ๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐˜๐—ต๐—ฎ๐˜ ๐˜„๐—ฎ๐˜€ ๐Ÿต๐Ÿฌ% ๐—ฟ๐—ฒ๐—น๐—ถ๐—ฎ๐—ฏ๐—น๐—ฒ ๐—ถ๐—ป ๐˜๐—ต๐—ฒ ๐—ณ๐—ถ๐—ฟ๐˜€๐˜ ๐Ÿฏ๐Ÿฌ ๐˜€๐—ฒ๐—ฐ๐—ผ๐—ป๐—ฑ๐˜€ by designing a 3 channel communication solution that would first try to reach out the customer by sending Firebase push notification to the custom-emergency mobile application and if there was no acknowledgment on this channel it would move on to sending text message and lastly voice call using Twilio. • ๐—ฆ๐—ฐ๐—ฎ๐—น๐—ฎ๐—ฏ๐—น๐—ฒ ๐˜๐—ผ ๐Ÿญ๐Ÿฌ๐Ÿฌ’๐˜€ ๐—ผ๐—ณ ๐—ฐ๐˜‚๐˜€๐˜๐—ผ๐—บ๐—ฒ๐—ฟ๐˜€ by building a backend system that was in charge of selecting the impacted users from the database and handling the notification & acknowledgment workflow by using RabbitMQ to process the batches of messages, making the application ideal for local emergency events like flooding. โš™๏ธ Skills: Java, Spring, Hibernate, RabbitMQ, Android, Firebase, Twilio, JQuery, Bootstrap, HTML, CSS

Location: Bucharest, Romania

Java Developer

Amazon 07/2016 - 09/2016

โœ” The client, provider of cloud services, was not able to monetize their hosts auto-scaling service due to missing a system that could evaluate the health of the service by assessing the accuracy of machine learning models which were forecasting metrics such as cpu, memory load etc. • ๐—”๐—ฐ๐—ฐ๐˜‚๐—ฟ๐—ฎ๐—ฐ๐˜† ๐—ผ๐—ณ ๐— ๐—Ÿ ๐—บ๐—ผ๐—ฑ๐—ฒ๐—น๐˜€ ๐˜„๐—ฎ๐˜€ ๐—ฐ๐—ผ๐—บ๐—ฝ๐˜‚๐˜๐—ฒ๐—ฑ ๐Ÿฑ๐˜… ๐—ณ๐—ฎ๐˜€๐˜๐—ฒ๐—ฟ ๐—ฏ๐˜† ๐—ฎ๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ถ๐—ฐ๐—ฎ๐—น๐—น๐˜† ๐—ฝ๐—ฟ๐—ผ๐—ฐ๐—ฒ๐˜€๐˜€๐—ถ๐—ป๐—ด ๐—š๐—•๐˜€ ๐—ผ๐—ณ ๐—ฑ๐—ฎ๐˜๐—ฎ ๐—ถ๐—ป ~๐Ÿฏ๐Ÿฌ-๐Ÿฐ๐Ÿฑ ๐—บ๐—ถ๐—ป๐˜‚๐˜๐—ฒ๐˜€ by designing a system of 2 Map-Reduce jobs with custom implementations of input format and secondary sort that was applying Cross Validation procedure to evaluate the machine learning models on a limited data sample. โš™๏ธ Skills: Java, AWS EMR, S3, R

Location: IaลŸi, Romania

Java Developer

Amazon 07/2015 - 09/2015

โœ” The client, world’s largest online retailer, was wasting hours of the team’s bandwidth on manually updating the metadata for one of their analysis sales systems due to usage of a CLI tool that was prone to errors and strenuous when handling complex data structures. • ๐—ฅ๐—ฒ๐—ฑ๐˜‚๐—ฐ๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐˜๐—ถ๐—บ๐—ฒ ๐˜๐—ฎ๐—ธ๐—ฒ๐—ป ๐—ฏ๐˜† ๐˜๐—ต๐—ฒ ๐˜๐—ฒ๐—ฎ๐—บ ๐˜๐—ผ ๐—ฐ๐—ฟ๐—ฒ๐—ฎ๐˜๐—ฒ/๐˜‚๐—ฝ๐—ฑ๐—ฎ๐˜๐—ฒ ๐—บ๐—ฒ๐˜๐—ฎ๐—ฑ๐—ฎ๐˜๐—ฎ ๐—ณ๐—ฟ๐—ผ๐—บ ๐Ÿญ๐Ÿฌ-๐Ÿญ๐Ÿฑ ๐—บ๐—ถ๐—ป๐˜‚๐˜๐—ฒ๐˜€ ๐˜๐—ผ ๐—ฎ ๐—บ๐—ฎ๐˜…๐—ถ๐—บ๐˜‚๐—บ ๐—ผ๐—ณ ๐Ÿญ-๐Ÿฎ ๐—บ๐—ถ๐—ป๐˜‚๐˜๐—ฒ๐˜€ by setting up a web application to input the complex structures on a user-friendly web page and handling the operations on backend by interacting with other services and processing the structures to match the UI needs as the rendering was taking place on the server side. โš™๏ธ Skills: Java, SpringMVC, Apache Tomcat, JQuery, Bootstrap, HTML, CSS

Location: IaลŸi, Romania

Educations and Certifications

Universitatea โ€žPolitehnicaโ€ din Bucureศ™ti

Computer Science 2013 - 2017

Bachelor's degree

Vasile Alecsandri National College

Intensive Mathematics and Computer Science 2009 - 2013

Romanian Baccalaureate Degree

Others

Romanian

Native or bilingual

English

Professional working
Want to hire Dragos-Mihai M. or just want to talk? Schedule chat with Dragos-Mihai

Other developers