1. Know pair programming tools:In 2021, a lot of us has to work remotely and it wasn't a planned transition. One of the biggest challenges for software developers is to help out other team members. When we do pair programming, It's either they scroll too fast (so can't read), they closed a file (that we were just reading), or we got to dictating on what to type (takes time because we got to repeat it). But thanks to freelancing, you are forced to learn a lot of new tools to avoid the above problems. One of the tools that helped me with getting a job is to know how to use VS Code properly. Thankfully, it has one of the best plugins called "Live Share" that allows you to share your local environment with another developer so you can make changes directly in the source code. So if you get a question on the interview "how would you pair a program with another developer", don't forget about VS Code LiveShare technique.
2. Wearing multiple hats:
As a freelancer, you got to to be a project manager, a system architect (depending on the client work), writing code, testing the system, and a lot more. But how did this helped me? Well, when you are communicating with clients, they are none technical people who would say "I don't know what JWT is and I don't think we need it as long as users can log in". At this moment, you would have to find a way to explain using none technical terms why JWT is important. Something will happen during the interview. You will be talking to multiple non-tech people who will ask you simple technical questions and you will have to explain it using the terms they will understand.
3. Knowing relevant languages:
At first, when I was searching for clients, I would make sure that I was able to use PHP, ReactJs, and MySQL/MongoDB. But with time, I wanted to expand myself to other languages and for more opportunities. So I started to learn & use NodeJs for the backend, VueJs for the frontend, and Postgres for the database. When I started to look around for a full-time position, I had more options to where I could apply as I felt confident in using new skills. Also during the interview, I got a positive note from them saying "you are using/have the experience in stacks that we are using in our applications". So at the end of the day, it's not a bad idea to learn new languages but it has to be with purpose and making sure you will be using them every day (don't waste time on learning things you won't use).
I would say these are my top 3 points that helped me with getting a software engineering job. Would I stop freelancing? Not really, I will defiantly have fewer clients but I will keep on hustling.
Subscribe to my youtube channel DevPool as my goal is to help beginners and juniors to succeed in the tech industry.