Miodrag M.

Miodrag M.

Senior React developer

Request Rate
Serbia

Miodrag is an open-minded web developer who's ready for new challenges. He has spent most of his career in web development—starting with C#, now he's mastering the front-end field.

He is a highly efficient and reliable professional who possesses a broad skill set for web application development.

He's ready for an opportunity to use his skills to grow your revenue exponentially.

Skills

  • Javascript
  • React
  • CSS
0246810

Experience

Software development company, Serbia

Senior front-end web developer

December 2018 to Present

Stack:

  • Visual Studio Code,
  • React,
  • Redux,
  • ES6,
  • Typescript,
  • Webpack,
  • SCSS,
  • SVG,
  • Canvas drawing,
  • Git, etc.

Responsibilities:

  • Work in progress on creating from scratch a web application for drawing and advanced interactivity with musical compositions and note systems.

Research and development company, Serbia

Middle software engineer in Web Infrastructure team

January 2015 to November 2018

Stack:

  • React,
  • Redux,
  • ASP.NET MVC.

Responsibilities:

  • Work in progress on migrating from server-side tile rendering to client-side rendering using WebGL for rendering complex maps of electricity distribution, as an important functionality of Advanced Distribution Management System (ADMS);
  • Created a modern dashboard web application for data visualization of ADMS features from scratch, using ES6 and React. Setting up a development environment using Webpack, Live reload dev server, Babel and Styled components. Designing architecture of front end code using React, modeling of store implemented via Redux and implementing core functionalities;
  • Done refactoring of old fashioned legacy CSS code on a very big project in order to support responsive design, multiple themes and font size changing;
  • Maintenance and development of ASP.NET MVC web applications used cross-browser and cross-platform on desktop and tablet devices;
  • Refactor and setting infrastructure of python OOP code for automated tests that are simulating user actions;
  • Working with students and junior developers on knowledge sharing;
  • Bug triage, reporting, and solving reported issues;
  • Writing technical stories and grooming backlog items;
  • Onsite support during GoLive of ADMS in Arizona Public Services (Phoenix, Arizona, USA).


Research and development company, Serbia

Scholarship student

October 2017 to December 2017

Stack:

  • ASP.NET MVC.

Responsibilities:

  • Bachelor’s and master’s thesis – research and implementation of WebGL layer for enhancement of interactivity in web applications;
  • Automate development and release process of ASP.NET MVC3 web project and its plug-in projects, using Grunt module and npm package manager;
  • Maintenance and development of ASP.NET web applications.

Education

Master degree in electrical and computer engineering, University of Novi Sad

September 2013 to June 2014

Novi Sad, Serbia

Bachelor degree with honors in electrical and computer engineering, University of Novi Sad

September 2009 to June 2013

Novi Sad, Serbia

Portfolio

Sheet Music
Sheet Music

My first role was communication with client and research. Client had all the mockups and final idea for a pilot project, but because of uniqueness and complexity of the project and the fact that client was searching for developers for that particular project for 3 years, first, we decided to spend two months of part-time researching, to see if client idea can be realized and what are the options. We decided to go with Web Application with the potential to develop a Native application sometime, mostly because we found a javascript library that is drawing most of the sheet elements (notes, staves, etc.) using SVG and Canvas which will save us plenty of time.

My second role was to decide which technologies to use, to set up the environment and deployment.

My other roles were to implement all the functionalities, improve user experience from mockups and provide the Client with all the details via Trello board and to prepare applications for important meetings that the Client had with potential investors.

The current size of the team is 4 people. Client, Client has its personal Designer in his company, me and one Part-Time Developer of mine. My role as Technical Lead for that project, communication with clients and delegation of tasks to another developer.

Some of the technical tasks were:

  • To provide full interactivity with musical elements like notes, clefs, staves, beams, etc.
  • To provide interactivity with the Music Sheet.
  • To provide animations for elements, drag and drop, etc.
  • To generate some sounds and to use microphone

The main achievement is that plenty of investors and few very big companies are excited with the application and interested in its further progress. Mostly because of some unique features that are very attractive and new on the market, and also because of application performances.

Application was new and mostly front end based. All React parts of code were written by myself, without any 3rd party UI libraries. Complexity was very high, because of very complex Source and Graphical models.


Technologies used:
React, CSS
KPIs Dashboard Application/Advanced Distribution Management System
September 2017 - December 2018
KPIs Dashboard Application/Advanced Distribution Management System
September 2017 - December 2018

This application was part of a very big Enterprise Software dealing with Distribution Management Systems all around the world (for example, one of the clients is Arizona Public Service with more than 1.2 million of customers). It is developed here in Novi Sad by DMS company with more than 1000 employees, currently owned by Schneider Electric company. KPIs Dashboard application's main purpose was to show critical points in the distribution system to senior management of the facility.

My first and most difficult role was to convince my Team Lead and Software Architect (who were used to very old technologies), that we need to use some newer technology like React so we can expand knowledge of our current developers, and attract new developers to the company.

My second role was to set up the environment, deployment, and integration with existing services.

My other roles were to set up code architecture, to create technical user stories according to Scrum and to organize designers and developers starting responsibility.

It was one scrum team with 7 people, Scrum Master, Designer, QA Engineer, and 4 Developers. As I was most experienced with frontend technologies in the whole company, my role was Technical Lead for that project.

 Some of the technical tasks were:

  • Design architecture of code using React.
  • Modeling of store implemented via Redux.
  • To implement some of the core functionalities, like to create very complex and responsive layouts and a bunch of different charts (bar, pie, table, etc.)

The main achievement is that our company started to use newer technologies, so we can significantly improve our old code base and so we can attract senior web developers to join our company. Which later led to using Webpack and the start of migration of other projects to ES6 and tests from QUnit to Jest.

Application was new and mostly front end based. It relied on existing ADMS services and on the backend we needed only to implement communication with those services and caching of data. The application was not so complex, just a bunch of charts showing different system information, displayed in a very flexible layout.


Technologies used:
React, CSS