I'm Masud Rana

Full Stack Software Developer

at GlobalReader OÜ

I build beautiful, functional, and scalable web applications.
Masud Rana

About

Hi, I am a Full-Stack Software Developer with a strong focus on backend development, particularly in the Elixir ecosystem for IoT-based applications. My primary expertise lies in designing, developing, and maintaining web applications using Phoenix, Elixir, Phoenix LiveView, and OTP.

My journey in programming started back in 2009 with C/C++ before pursuing my bachelor's degree in Mechanical Engineering in 2010. Throughout my studies, I worked on diverse projects, including line-following robots and solving algorithms for numerical methods and machine design problems using C++ and Matlab.

After graduation, I joined two different companies in their R&D departments, where I tackled challenges using C++, C#, and Visual Basic. However, my passion for programming grew, prompting me to switch to a career in Software Development. I began as an Application Support Engineer at a software development company, gaining experience in C#, VB, AutoLisp, ASP.NET, SQL, JavaScript, and other application-specific languages. Eventually, I was promoted to a Software Developer role, primarily working with C# and ASP.NET.

To solidify my career change, I pursued a Post Graduate Diploma in IT from Jahangirnagar University, Bangladesh, graduating in 2019. Following that, I enrolled in a Masters in Software Engineering program at the University of Tartu, Estonia. During this program, I immersed myself in various areas of Software Engineering, such as Enterprise Software Integration, Big Data analysis, Machine learning, Game Development, Virtual Reality, Software Testing, Software Project Management, and Business Process Management.

Throughout my academic journey, I worked on diverse projects involving technologies like Elixir, C#, F#, Go, Java, React, Vue.js, Blueprint Script for Unreal, and more. This experience significantly enhanced my adaptability to different technologies.

Besides my academic pursuits, I also worked as a freelance developer, taking on interesting web and desktop-based projects. This exposure to different domains and technologies fueled my passion for continuously learning new technologies and solving complex problems with them.

Overall, I bring a wealth of experience and a strong dedication to staying up-to-date with the latest trends and advancements in the software development world. I am always eager to embrace new challenges and contribute my expertise to innovative projects.

Experience

2021 - Present

Full Stack Software Developer

GlobalReader OÜ

At GlobalReader OU, I am working to create and maintain IoT-based real-time applications with Elixir based Phoenix MVC Framework, LiveView, and Ecto. My contributions include developing efficient real-time dashboards for multiple IoT devices, automating invoicing services, and implementing live help support. I actively monitor system performance and collaborate in code reviews, bug fixing, and providing custom features for clients.

Elixir
Phoenix
Ecto
Phoenix LiveView
Erlang OTP
TDD
Feb 2020 - Aug 2021

Software Engineer

BJIT Ltd Software Tools Development

I have played a crucial role in enhancing productivity and data processing for mechanical designers. Notably, I had worked to optimize the Flow Sheet Builder tool (utilized for creating mechanical process flow drawings in AutoCAD) by 60% reducing its running time through redesign, strategic code restructuring using C# and VBA. I excelled in software testing, debugging, and seamless integration with application-provided APIs, working proficiently with MSSQL and PostgreSQL databases. Additionally, I took pride in guiding and mentoring fellow teammates on technical aspects to ensure project success. My time at BJIT Ltd. was marked by valuable contributions and a dedication to innovative software solutions.

C#
VB
ASP.NET
.NET Core
.NET Framework
WPF
WFA
MVVM
OOP
JavaScript
XML
TDD
Feb 2018 - Jan 2020

Application Support Engineer

BJIT Ltd Application Support

As an Application Support Engineer, my primary responsibility is to provide comprehensive support and enhance productivity for modern CAD software. I achieve this by developing valuable tools and add-ins that bring about significant improvements in productivity for our clients. These enhancements aim to streamline workflows and optimize the overall user experience with the CAD software. Through my technical expertise and dedication to delivering efficient solutions, I ensure that our clients can make the most of their CAD software, ultimately leading to enhanced productivity and a seamless user experience.

C#
VB
.NET Framework
WPF
WFA
MVVM
OOP
XML
ServiceNow
AutoCAD API
Solidworks API
Show Full Resume-->

Projects

Project

Quality Check Manager

Quality Check is a crucial step in the manufacturing industry that ensures products meet the required standards of quality. To streamline this process, GlobalReader has developed the Quality Check Manager, an add-in feature for their operator or shopfloor feedback application. This tool empowers users to create and manage quality checklists tailored for different workstations.

The Quality Check Manager offers a flexible range of triggers for initiating quality checks. These triggers can be based on various factors such as the number of manual production entries, the count of sensor inputs, specific time intervals, or predetermined times of the day. As the system evolves, additional trigger types can be easily incorporated to cater to specific client needs.

As the primary architect and implementer of this feature, I utilized Elixir, GenServer, Supervisor, Registry, Phoenix, LiveView, and Ecto in the implementation process.

Elixir
GCP
Phoenix Pubsub
Google Pubsub
Phoenix
LiveView
Ecto
PostgreSQL
TDD
Project

Real-time integration with Monitor ERP system

Monitor ERP is a popular ERP system used by many manufacturing companies. GlobalReader has developed an integration with Monitor ERP that allows users to use GlobalReader's ecosystem and view real-time production data in the Monitor ERP system. This integration is achieved by using the Monitor ERP API to send production data to the Monitor ERP system.

As the primary architect and implementer of this feature, I utilized Elixir, GenServer, Phoenix MVC API, LiveView, and Ecto in the implementation process.

Elixir
GCP
Phoenix Pubsub
Google Pubsub
Phoenix
LiveView
Ecto
PostgreSQL
TDD
Project

Live help support

GlobalReader's Operator is a shopfloor feedback application widely adopted by more than 200 companies. This application serves as an interface with the production equipment, enabling operators to input essential production data. However, it also offers a helpful feature for operators in case they require assistance from other departments. For instance, if there is a shortage of materials, operators can seek help through this feature, ensuring a smooth workflow.

When an operator needs assistance, they can send a customized message via the Operator application. The system is configured in advance to direct these messages to the relevant departments. The messages can be dispatched through various communication channels, such as SMS, email, or app push notifications, ensuring that the right people receive the information promptly.

To implement this feature, I utilized Elixir, LiveView, and Ecto in the implementation process.

Elixir
Phoenix Pubsub
Google Pubsub
Phoenix
LiveView
Ecto
PostgreSQL
TDD
Project

Buddi

Buddi is a utility application designed to support day-to-day educational needs. Initially inspired by my research on   Open and accessible education with Virtual Reality (VR) , the tool has been expanded to function effectively as a web application, catering to a broader user base. The primary purpose of Buddi is to facilitate seamless note-taking, editing, and updating, allowing users to organize their educational content efficiently. It will also offer options to export notes, share them on social media, and engage in collaborative learning through private chat channels with peers and institutions. As fureplan, Buddi will further enhance the learning experience by enabling users to include images and voice notes, promoting visual and audio-based learning.

This project is currently under development and not yet ready for public release. I have plan to release it in mid 2024.

I utilized Elixir, Phoenix, LiveView, and Ecto in the implementation process.

Github Project Link: https://github.com/masudme09/Buddi

Elixir
Phoenix
LiveView
Ecto
PostgreSQL
TDD
Project

Exbanking

This is an attempt to implement in-memory banking like solution. Basically, I have played through different OTP behaviours like GenServers, Supervisors etc.

Github Project Link: https://github.com/masudme09/ExBanking

Elixir
Elixir OTP
GenServer
Supervisor
TDD
Project

PowerPointStudio

This project was built to automate the process of creating online presentations. So, the idea was to take powerpoint opjects and convert them into JSON objects. And later on feed that JSON to React application to generate similar looking light-weight web friendly presentation. With this application, it is possible to convert a powerpoint presentation with commonly used shape into JSON or HTML. This was really fun and challenging project due to shortcomings of OpenXML documentation.

Github Project Link: https://github.com/masudme09/PowerPointStudio

C#
.NET
PowerPoint
JSON
HTML
Project

KaiBank

This is a open source API project to implement banking like solution. I have contributed to this project along with other developers. Main goal of this project is to implement barebone features of banking system and make it public for future enhancement by the community. I have contributed to this project from brainstorming, design, implementation and testing.

Gitlab Project Link: https://gitlab.com/pabasarajw/kaibank-backend

Java 11
Spring Boot
Maven
Apache Tomcat
MySQL
TDD