My Journey to Freelancing as a Full Stack Developer
November 15, 2024

My Journey to Freelancing as a Full Stack Developer

My name is Yevhenii, and I am a 30-year-old full stack developer with three years of experience in the tech industry. While I have primarily focused on front-end development, I’ve also spent about a year exploring back-end technologies. My journey into freelancing began with a desire to pursue something more interesting and fulfilling than my previous job.

In my last position, I acted as a middleman between customers and drivers while also managing communications with the management team. This role often felt overwhelming, as if everyone was out to get me. Despite enjoying the time I spent working with my colleagues—who were mostly young and vibrant—I found that the environment, although fun and chill, was stifling my confidence. It was my first experience earning a decent salary for my area, which added to the complexity of my feelings about the job. I realised I would not be able to do the same job all my life, I am kinda introverted and burn out when I talk to too many people at a time.

At that time, I had much of what one might consider essential for happiness: a beautiful and intelligent girlfriend, her adorable dog whom I loved like a kid, and a stable job that provided financial security. And I would be able to achieve all my dreams but turned out I did not have much. For me growing up kinda poor I did not have much on my mind, have an apartament, some car, I did not even care which one, just the one looks cool and I could driver with no extra hustle. However, I felt trapped in a role that resembled a prison, burdened by endless rules and expectations. The desire for freedom grew stronger within me, and I couldn’t shake the feeling that there was something more out there for me.

Recognizing this longing for change, I began saving money about a year before leaving my job. I knew that transitioning to freelancing would likely mean an initial drop in income, so I set a goal to save $10,000 to support myself during this shift. The turning point came when I broke up with my girlfriend; after she moved out with her dog, I realized it was time to pursue a new life direction. With newfound determination, I quit my job in August 2021 and committed myself to learning.

Before leaving my full-time position, I had already completed a UX/UI course with a mentor. This experience gave me foundational knowledge about markup languages and design principles. After quitting, I dove into online courses focused on web development. I spent countless hours learning basic JavaScript through endless tutorials and video courses that I had purchased, believing they would provide me with the knowledge I needed. However, I soon discovered that these resources alone were not enough to prepare me for the real world.

The true learning experience began when I secured my first freelance job. To kickstart my freelancing career, I created accounts on various freelancing platforms. Initially, I focused on developing projects for my portfolio—completing 3-4 websites that showcased my skills. These projects took longer than expected due to my limited experience; every new task felt like climbing an uphill battle. After three to four months of hard work, I had finished several markup projects using HTML, CSS, and basic JavaScript.

Feeling somewhat prepared and eager to dive into freelancing full-time, I started applying for jobs on different platforms. However, it quickly became apparent that many of these sites required payment just to bid on jobs—a frustrating realization when funds were tight. At that point in my journey, after four months of pursuing this career shift, I had only $5-6 thousand left in my account. The reality hit me hard; the journey was far more challenging than I’d anticipated.

It took me around 1 year to get a job in a small company from Israel where I started working on somewhat complex projects. I hit my limits every day, and even though those problems seem funny now, back then they were overwhelming. I ended up getting an offer from a client after completing just two tasks for them. They offered salary that was half of what I made in logistics before – a job where I didn’t need to think nearly as much. It was devastating to work twice as hard for half the pay. I had mental breakdowns almost every day. These thoughts were eating me from inside. I couldn’t imagine it was possible that you needed to work this hard to earn money in a field that supposedly offered such high salaries.

When on my previous position I just had a few month in American Logistics company and it was more than enough to get a well paid job and when within a few month I got promoted, my salary was more than enough for me without extra hustle, learning new things, struggling and feeling stupid again, that’s the thing about my bad mindset, I did not see how much I did to change and to improve my skills under pressure without any second plan.

After working with the company for a year, I’ve got enough experience to be able to develop front end interfaces of different complexity and rannge. My first project was a chrome extantion for a CMS platform, I was able to get quite a unique experience somehow so besides learning React.js that was needed for the project I also learned how does the chrome extension work, debugging tequniques and work flow, communicating with a page, sending api requests. And when I started working on the project I had only one page developed using React.js for a sort of quiz website that allowed customers to get a quote for development any project based on their answers in the quiz.

It took me 6 months of constant learning, to finish this project, but at the end i did not work on it alone, even the front end part was done by me and other people, especially markap part was done by another guy whom I knew from the same freelance platform and even used his services, for $10 the guy’ve done some JavaScript job for me, some custom slider on a page that I could not complete on my own back then and paid out of my pocket to get the job done on time. The guy did a great job working on a markup of the extension and all I had to do was to develop the functionality. I got stuck a lot, my problem was I had so much insecurity that I did not even dare to ask a question, because even when I asked I did not get a thing and could not undrstand what the supervisor wants from me. I did not even know how to use api, and first time I did it I told my supervisor it was not working but it was actually 200, just the data was empty string which confused me back then.

After completing my first big project that turned out to be a success, and the company invested in the project will earn back all the investments were put into it. That was the thing I was so happy about, that was the first time I worked on something relatively big and it was a success, a real tool that people use to simplify their customers outreach through whatsapp extension in the browser.

After that a few other projects were to follow with this same company, I worked on dashboards, gift buing platform, ecommerce websites. I even ended up doing some back end job like fixing php bugs, communicating with db using .NET, worked on loto project written in Angular.js.

That time I realised I am no longer a newby to the field and I am capable to do more than just a simple markup. Now I was able to develop a fully functional SPA with React.js. Had experience deploying react apps with wordpress as a headless cms. But then I collapsed, I could not work anymore, was it a hard work flow without any assistance or visible upgrade, all I saw was that I am doing some job, it does not meet the best practices and even the technologies are used are somehow outdated. And we did not even use git, that was ridiculous for me, I could do some functionality for a few days and then I had a task to move changes in the html manually, that was the stupidest job I could imagine. So I realised that I am done, I had no money left, and I did not get my last payment because I did not finish the tasks and honestly did not even want to talk to anybody, explain anything, I just wanted to live, stop doing what I do and decided to return to a logistics company.

That was a time when after two years into my career shift I had no desire to learn anymore, I was tired of constant trying to go through the wall of fails every day. So I ended up working in a new logistics company where I could spend most of my time watching videous on youtube, developing side projects and testing new libraries. That’s when I dove deeper into using WordPress as a Headless CMS, which might be of some use sometimes. And that’s when I got interested in backend development. After working there for 4 month or so, I’ve developed a chrome extenstion for a logistics company I worked in, I’ve created a custom calculatro to check my salary using Vue.js and started watching a course on how to develop backend using Node.js. After 5-6 month I started working on some new projects time to time. That’s when I started using Typescipt on all my prject and felt like I was learning faster than before, working in logistics I had enough time to rest, the work process was automized by a manager who turned out to be a self taught python developer who managed to use his skills to make a profitable business model that generated him money every day, even though he still needs to do some management job, the process is automized and that amazed me. Even when I worked in much profitable company, with their development team that was working on application that reminds a truckboard or rather a load board, I did not see that the process can be automized even further.

That’s when I understood that development is not only about painting buttons, making some fancy animations, optimization, testing and so on. The main purpose of development is simplifying people’s life, allowing them to skip the process that can be handled by a programm. And I realised I needed to dive into backend further to be able to deliver my clients full stack applications that will solve their problems and will help them make more money.

After I managed to get my first project as a full stack developer using MERN stack I was so exited but I do not think I fully understood what I signed for. So for $500 I signed up to develop an ecommerce website that lists producst from other websites that’s why I needed to normilize data that we got from different data sources, developed my first APIs, connected to DB, and that’s where the magic starts, even though this project was not completely finished because of the luck of funding, I still managed to acoomplish the first version for deployment. But there was a minor issue, React does not allow you to render HTML server side so all bots that surf the internet, like google, instagram, pinterest, facebook, twitter and so on, they are not able to fetch data from your page to be able to share the product and for the client it was a deal breaker. So we ended up freezing this project and I realised I need to learn something better than React.js for the case like that.

It was not the best experience, I did not work on perforamnce optimization, did not fix many issues that would appear after we deployed the app but I was able to develop a full stack project, using Typescript, first time I used Redux toolkit to manage app’s state, MongoDB and so much more. It was inspiring but also tiring at the same time. Tight deadlines, low budget but I got so much experience I needed, working with a client on developing his vision, discussing all the details, tech stack, deploying to a VPS.

After that I returned working to a previous IT company from Tel Aviv. They started working on a project that turned out to be a startap and ended up as most of them do I guess. And this is about time when I got a prescription for antidepressants from my Phsycotherapist. I spent 2-3 month working on a project half time, spending most of my time at the beach, as a free man chilling without a fear of being caught and sent to war because I started studying to get a Master degree in computer science. Everything went well and first month I got paid but the last time after I finihsed some of the tasks I got some disturbing calls from the manager and messages saying this project is a billion dollar project and I will get some shares or something when project is up and running as well as other team members, I was flattered but also realised that something fancy is comming as I did not expect it to be like that at the beggining and just at the time when I moved in with my new girlfriend they let me know that they have no money for completing the last payment. That’s when I realised that instead of having a few month for myself to fully recover from long lasting depression, I eded up digging an even bigger hole of problems. I had -95 000 on my bank account, had no idea what to do next and that’s the moment when I started thinking where can I find a client that can pay me directly without any freelance platform that takes a good portion of money spent for development. And I got a full stack project for developing a logistics website with some forms, APIs built with node.js and SQLite for DB.

I learned that succeeding in freelancing requires not only technical skills but also the right mindset and persistance. During this period of crisis and burnout, I struggled emotionally and physically; there were days when motivation felt elusive. Yet despite these challenges, I kept pushing forward because I have no idea why to be honest, maybe I just was afraid to lose this time. But maybe If I was just a bit more conformist I would just do some easy job 8-5, one hour break, chatting to your collegues all the time and drinking coffe just not to sit at the table all the time watching in the monitor and trying to solve another issue. But I guess that’s not what I want and despite me hating doing all this staff sometimes, I like the feeling of me improving, getting better at something and becoming a proffesional.

As I continue on this path as a freelancer, I’m not excited about what lies ahead. The freedom to choose projects that inspire me and the opportunity to work with clients from around the world are just some of the rewards that I did not meet yet on this journey. But I hope I will, soon.

Nah, I think I really like what I am doing now, especially when I am directly involved in communicaion with the clients, now I work on much more interesting things, that are usefull and will profit my clients. And the current project I am working on is blowing my mind because I need to develop everything from scratch, back end, front end, db, vps deployment even design. I am happy I can work on something that allows me to see a bigger picture of the thing I am working on and this experience will only further wider my horizont and make me a better specialist in the field.