# I resigned from my job to become a blockchain developer

# Long story short

I left my Software Engineer job, had no offers from other companies and had zero experience developing applications in the blockchain space.

I always had a mindset of continuous improvement as the only way to become successful. 

Even after studying computer science for six years at the university,  I decided to buy a course to learn specifically about blockchain development from the best mentors in the industry. 

I could understand all the concepts and technologies while searching on the internet. 

Still, I wanted access to experienced people and organised materials to learn from without wasting precious time.

# My motivation to become a Software Engineer

My passion for computers started when I was a kid when my grandfather bought me a personal computer. I was super intrigued about how it is working.

Once, the PC was broken, and when the repair man came to solve the issue, I bothered him with many questions regarding each component. 

After that, I started being active on different forums regarding computer topics and helping people solve their problems.

After a short time, I desired to build a new PC. I ordered all the components separately and built my computer. I could not explain the enthusiasm I had while assembling my PC.

In the first year of high school, I almost failed the programming lecture. 😐

I hated it because none explained it in a way I could understand. But being in a situation where I almost failed, I was forced to learn it. A friend helped me with this, and the programming class I enjoyed the most in the following years at high school.

I was fascinated because I was programming the computer I had just built.

# My journey as a Software Engineer

I started studying Computer Science in 2015 at the University Politehnica of Bucharest. In 2019, after receiving my Engineer title, I decided to continue my studies, and in 2021 I finished the Master's program in Advanced Computer Architectures.

## 🚀 My first real job, Software Engineer @ Microchip

In 2018, while enrolled in the Bachelor's program, I started working at Microchip as an intern, after which I was promoted to a Software Engineer role. 

The position I obtained was super close to what I was searching for. During my University studies, I always showed an increased interest in lectures close to low-level development, computer architecture, and electronics. I was trying to understand how things work under the hood.

At Microchip, I was very close to low-level programming. During three years of employment, I worked on projects from various fields:
 - web development
 - embedded programming
 - technical documentation

### Started to enjoy high-level programming

After a short time, I got involved in a web application that I started from scratch with a colleague. The application was designed to help our company track data about the code we release on Github.

During this project, I started using technologies that I had heard of but never used before: NodeJS, React, MongoDB, and Docker. I could quickly ramp up and start being efficient in implementing features and making good progress.

### 🔥 A dream came true: working from home

I always wanted to work from home because I knew I could handle my responsibilities independently, with only an internet connection. 

I love having time flexibility while working from my home office.

The pandemic started, and almost everyone in the IT industry worked from home. I got the feel of a fully-remote company, mainly because Microchip is a multinational company with teams spread worldwide.

At this point, I knew I had the experience I needed to start freelancing and search for my contracts to work remotely for different clients.

I decided to quit my daily and stable job and put all my efforts into becoming a freelancer as a blockchain developer.

#### 🙏 Microchip appreciation

I am very thankful that the team was a welcoming environment for recent graduates. 

I had the opportunity to work on various projects and was encouraged to work on the things I enjoy. In this way, I discovered what I like to do.

## 🚀 Pursuing my objective w/ the Blockchain Developer Bootcamp

I have chosen Blockchain Developer Bootcamp, an online course by ConsenSys Academy, because they are well-known in the web3 space. The Bootcamp started while I was spending my last days at the job. The timing was perfect for me.

The course had weekly study groups and meetings where mentors presented different subjects.

When I started the blockchain course, I got in touch with a company founder from Romania willing to hire wannabe blockchain engineers like me. As part of the interview, I received a challenge to build a mini DEX using the Uniswap protocol.

To get the certification, I had to submit a final project built during the Bootcamp. I decided to work on the mini DEX application as the final project.

### The mini DEX
Its functionality was simple:
- provide the possibility to add tokens into a liquidity pool and create the liquidity pool if it doesn't exist
- remove tokens from the liquidity pool
- swap tokens

To easily interact with the application, I deployed two ERC20 tokens using OpenZepellin contracts. Each user can mint these tokens and start using them within the application.

While working on this challenge:
 - I understood the Ethereum development frameworks and libraries: hardhat, waffle, TypeChain, ethers.js
 - I developed a smart contract in Solidity using the TDD (test-driven development) approach and deployed it to Rinkeby

The repository with this application and more details can be found [here](https://github.com/filipmanole/blockchain-developer-bootcamp-final-project).

### 🔥 Finished the Bootcamp

I finished the course at the beginning of December after three months of intense studying and developing my first decentralised application.

I received my certification as an Ethereum developer and was ready to start using my new skills in the industry.

I contacted the man who gave me the challenge to show the final result. The feedback was positive, and I received an offer from him.

At the same time, I was involved in many interviews and decided to start a collaboration with Hedgehog. Their vision was to bring fractional investments of real assets for everyone through blockchain technology.

## 🚀 Got my first contract as a Software Engineer @ Hedgehog

After finishing the course, Hedgehog was the first company I worked for as a contractor. I resonated with their vision and was super excited to collaborate with them.

The position wasn't as close to the blockchain as I hoped because another service provided the blockchain part.

Still, even if the job was not exactly what I was searching for, I was super excited about the role because:
1. I got my first contract as a freelancer, proving that my skills are valuable in the industry.
2. I was enjoying the position because I was learning A LOT.

Technically I have grown a lot while working at Hedgehog. At the same time, I had the opportunity to be part of a skilful team where we shared knowledge. 

We were an entire engineering team of five working beside the design team on this investment web application. The progress was massive in a short time. 

In almost three months, we released the MVP to the initial investors.

It was a success!

We continuously improved the application based on feedback and added many features during the next three months.

#### 🙏 I genuinely appreciate the collaboration with Hedgehog

It was a place where I was encouraged to implement and show the ideas I had in such a manner that my input was considered valuable.

It was great to be involved in all the pieces of the applications: backend, frontend, and even on the DevOps part, to set different deployment pipelines.

During this collaboration, I also checked two objectives I was chasing: learning GraphQL and getting more knowledge about AWS. I worked extensively with some AWS services, even configuring them with Terraform. My DevOps skills improved.

# 🔔 What to expect from this blog 

I plan to post at least one article weekly and share my knowledge about the web3 space and other software engineering topics.


