mrcmglrn

Smart Contract Engineer, Full Stack Web3 Developer, Senior Software Engineer

Hi there! I am Marco Migliorini, I have a degree in computer engineering and over a decade of experience in designing and developing J2EE-based software systems.

In recent years, I have been drawn to the world of permissionless blockchains and Austrian economics, transforming my initial curiosity into a passionate interest in these fields. This led me to desire a new direction for my career, and after a year of intense training, I started working as a freelancer in the blockchain/web3 sector.

I currently do consultancy and develop decentralized applications based on Ethereum and Polygon blockchains, as well as training on Bitcoin and the Lightning Network.

My mission is to contribute to the dissemination and adoption of these technologies, as well as the socio-economic issues underlying them. In this regard, I recently published my first book on the topic: Bitcoin un'analisi a 360°, a small personal contribution to this unstoppable revolution!





Experience: 4 years

Yearly salary: $140,000

Hourly rate: $85

Nationality: 🇮🇹 Italy

Residency: 🇮🇹 Italy


Experience

Chief Blockchain Officer
Fly Concorde
2025 - 2026
I work on the blockchain/web3 and backend infrastructure of Fly-Concorde, designing and building technical solutions for our token and for the whole ecosystem. My role mixes planning and hands-on work, with cross-functional responsibilities across blockchain and backend: smart contracts and DeFi on one side, the server platform and support services on the other. On chain, the core is an ERC-20 token, which is upgradeable using the OpenZeppelin proxy pattern. I also manage two other upgradeable smart contracts. They expose safe functions to interact with the Uniswap liquidity pool (through the Universal Router v4) and to run buy/sell swaps of the token against USDT. Our backend uses a Node.js microservice architecture. We use BullMQ for asynchronous jobs and messages, and Docker + GitHub Actions for containerization and CI/CD. The main services are an API gateway (request authentication, input validation, routing), a relayer that follows ERC-2771 for gasless meta-transactions, and a listener that reads blockchain events, both past and live. Data is stored in PostgreSQL, tuned for scale, speed, and monitoring.
Blockchain Consultant & Developer
Freelance
2023 - 2026
The current services offered are: • creating and building decentralized apps (dApps) for EVM-compatible blockchains, using tools like Chainlink and Uniswap. Works across different EVM networks; • designing and developing smart contracts for EVM blockchains, connecting with tools like Chainlink (Automation, Data Feeds, VRF) and Uniswap (liquidity pools, swaps, trading logic). Includes independent checks to ensure safety and proper function of Solidity contracts; • building web apps with the MERN stack (or similar), using a NoSQL database and Mongoose for efficient systems; • building web apps with the PERN stack (or similar), using an SQL database and tools like Prisma or Sequelize for data management; • designing microservices architectures, using BullMQ (Redis) for asynchronous communication and Docker for containerization to automate CI/CD pipelines; • training on Bitcoin and Lightning Network, explaining how they work, their origins, practical use, and safety best practices; • training on Solidity, covering how to develop, test, deploy, and secure smart contracts on EVM blockchains; • guide to designing dApps for EVM blockchains, including tools, best practices, testing, and deployment of decentralized apps; • general consulting on blockchain, web development, and microservices, offering customized solutions for complex projects.
Senior software engineer
M.A.I.O.R. SpA
2019 - 2022
Collaboration in the re-engineering of the corporate management system of public mobility networks (trains, trams, buses), to transform it from a suite of standalone applications to one of web applications. The stack used to achieve this evolution is based on: GWT for the frontend, Spring/Java 8 for the backend, Hibernate/Oracle for the database part, RESTful API towards external GeoServers for the cartographic part. Use of the Agile Scrum methodology, as a system for coordinating and monitoring the progress of software development, and Git/Jenkins/Docker/OracleCloud, as a pipeline for CI/CD. Active participation in corporate internal training events. In particular, I promoted as speaker the static analysis of the software quality through SonarLint and the use of MyBatis to interact with databases that make massive use of stored procedures and structured queries. Direct involvement in the start-up, testing and commissioning phases of the company SonarQube system, to centralize the monitoring of the code quality of the various company development lines and standardize the static error analysis rules.
Senior software engineer
QUID Informatica SpA
2018 - 2019
Collaboration in the various phases of the corporate backend lifecycle divided into a core part, common to all, and various verticalizations, specialized on individual customers. The common part is composed of a microservices architecture developed in java on the OSGi framework (Apache Felix), in which integrations of new functions are mainly performed, in compliance with the principle of single responsibility (SPR), and exposure of new services through RESTful APIs. Verticalizations are instead monolithics developed according to the J2EE standard ( EJB, JMS, MDB, ...) and distributed on JBoss/WebSphere For the latter, reengineering is on the agenda both to exploit the new core features and to increase the decoupling and cohesion of the various sub-parts with a view to future evolution towards microservices (functional decoupling). Communication between backend modules takes place asynchronously when possible, using a message broker to guarantee its functioning, and is based on the exchange of data in JSON through HTTP calls. When exposing services to the frontends, a customized API Gateway is used which performs various tasks: routing execution, decoupling, round trip minimization, uniqueness of the authentication point (SSO/JWT). Since the database is partitioned among several applications, data consistency is guaranteed through the use of the SAGA pattern (Command/Orchestrator), which allows careful management of distributed transactions. Given the nature of the service offered, towards institutes of credit operating 24/7, it is necessary to operate with a view to continuous delivery. To this end, the work process consists of the following phases: analysis of new requirements, sorting between the various modules, identification of individual tasks, development in test-driven development (TDD/JUnit), use of tools such as git, maven, jenkins , nexus and docker, to automate the entire release chain, from merging the software to deploying it in the desired environment.
Software engineer
Thales Italia SpA
2016 - 2018
Collaboration in the development, testing and maintenance of the information system for the supervision and control of the tram products supplied by the company. The project consists of a backend based on a service-oriented multi-tier java architecture (SOA ), created thanks to the use of the OSGi framework (Apache Felix) which guarantees the modularity of the individual components and their interoperability, and a csharp/javascript frontend representing the SCADA of the existing tram line, which acts as an HMI for plant management Re-engineering of the JPA (EclipseLink) model on which the aforementioned system is based: redefinition of the entities and related constraints to normalize the pre-existing database, adaptation of the relationships between the various classes and introduction of the cascade logic. Implementation of the backend of the new company configurator of tram lines built on the Spring stack + Jax RS (Jersey) + JPA (Hibernate) + MySql capable of exposing all its functions to external users as REST services that exchange data in JSON format/ XML, so as to optimize the general performance of the product. The main tools used in the work process are: the agile methodology for planning and managing the workflow, the java first methodologies and test-driven development (through the use of JUnit and JMock frameworks) for software development, pattern design for project quality and maintainability, systems such as git, maven and jenkins to automate versioning, build and continuous integration respectively.
Software engineer
Unipol Sai SpA
2014 - 2016
Reengineering of the company's supplementary pension system to transform the old website into a single page application (SPA). For this purpose, two independent systems were designed and implemented, capable of communicating with each other through light data structures, thus to minimize bandwidth consumption and response times. The first system is a javascript client representing the real SPA created with the Dojo Toolkit framework, to which the Zurb Foundation framework has been associated to obtain a responsive layout, while the other it consists of a java server built on the Spring stack + Jax RS (Apache Wink) + Jax WS + MyBatis + Oracle DB capable of responding in JSON / XML format to REST calls coming from the client and processing them correctly depending on the type of resource requested. During the development process, tools such as Swagger UI and NodeJS were used respectively to standardize the service interface and create a light stub of the server. Collaboration in the development, testing and maintenance of multi-tiered web based applications in J2EE based on: Spring framework as systems backbone, Struts framework + JSP / JSF framework + RichFaces for request routing, business logic and presentation, Hibernate / iBatis framework for data persistence and Oracle / DB2 database for their management.

Skills

blockchain
blockchain-engineer
ci-cd
dapp
defi
docker
ethereum
freelance
full-stack
git
javascript
layer-2
mern
mongo
node
openzeppelin
polygon
postgres
react
remix
smart-contract
solidity
tokenization
english
italian
spanish