Freelance Full-Stack Developer

Talent Spotlight: Zvonimir Capin

Meet Zvonimir - experienced full-stack developer based in Zagreb, Croatia. He has been a developer since 2013, focused mostly on JavaScript, React/NextJS, React Native and Node.js/Express. He has a lot of experience working in distributed teams, which taught him to value communication and trust in the workplace.

We’re talking to Zvonimir today to find out more about his freelance journey and his tips on making this experience better.

How did you decide to become a freelancer and what motivated you?

Back in 2017, I was working for a company that had only one product. Back then some of my friends worked with agencies and had a chance to work on different projects. I believed that it was a cool opportunity to see different products, communicate with multiple clients and colleagues, and learn how every company is different. So it felt like a good decision to give it a try.

When I started freelancing, I liked being my own boss. I worked on one project, then easily moved on to another one in a couple of months, all within my own company, while also working on a personal project. I was happy to try something new. I also really enjoyed the flexible schedule and opportunity to work from wherever I want. Of course, there were disadvantages to freelancing as well. I did not expect it to be a lot harder. When working full-time in a company, you tend to become comfortable after some time, you know how everything works and you know your way around. It can be different with freelancing. For the last project I worked on, I logged 217 hours for the last month. It was hard, I was working 12-14 hours a day to finish the project. And sometimes the communication with the client was tough.

How do you make the communication better?

When I was working on a project focused on IoT solutions, we had freelancers on our team. It was really hard to communicate because people were based in different places. I didn’t have a good feeling of control over the project and understanding of what was happening. But now, I know that it can work. I’ve worked with people based in China, Malaysia, and Los Angeles. The key was to have a streamlined communication, every day or at least every week, even if you are in different time zones. In the end, our work is very transparent, with source control or by just comparing to other works, you can see how much is done and how much could be done.

When I became a freelancer, I understood why employers want us to be in the office. Managers have better control or at least a feeling of control when they can see you working in the same office space. I didn’t want to travel every day and lose two hours of my time, but that’s the way it was back then. So when I started freelancing, I always kept in mind the importance of communication.

I learned to keep a diary of things I have done at work throughout the day, so if something goes wrong, I can be accountable to the client and keep my work transparent. I always try to communicate clearly, which makes clients feel secure and I feel protected, so everyone is happy.

What’s your CC story?

I used to work for one agency, and they suggested that we screenshot our screens and record our typing when working. At first, I wasn’t against it. But there are times in my work when I don’t sit and write code for 8 hours. I look at the wall and try to come up with ideas or solutions to tackle a problem. The agency wasn’t pleased, they saw that I was active for less than 8 hours a day. I also wasn’t happy, because I worked so transparently and the client was very satisfied, there was really no reason not to trust me.

Then my friend told me about CodeControl, saying that it is a good professional community in Europe. I gave it a shot, and I have been on a project since August 2019. It was the best experience I had in a while. My account manager Joe from CodeControl and the client were cool, the communication was great. It’s nice when you don’t have to constantly worry and can just focus on your work.

That project was a Berlin startup called Forum. They worked on an application that would enable writers and editors to use articles from popular publishers (New York Times, Guardian) and translate them to several European languages. Anyone could go on the website, select their language, and read all the articles. I was first hired as a front-end developer, but when I investigated the state of the app, I started working 100% on the app and became the full stack developer. I expected it to be a 3-4 months project, but then it turned into a year and a half. We had ups and downs, sometimes differences in opinion with investors, but it was very fun and also a lot of work. What I liked the most was the freedom to work the way I wanted, you don’t get it very often. They told me what they needed and they let me do it the way I wanted. I could choose the technology and ask the team for what I needed. Honestly, I would work there until the end of my career. The guys who worked with me were really cool professionals. I was really sad when it was over. But that’s life.

What’s the biggest thing you’ve learned through freelancing up until now?

I learned that nothing is so complicated that I can’t solve it in a finite amount of time. It was about my self-confidence. At first, I was scared when given an assignment. I thought others were smarter than me, they could develop solutions in such a short time, and maybe I was not good at that. It was a big jump for me: from having a stable position at IBM and then coming to a project where I need to prove myself and make up for the larger salary.

Once, I was on a project for a payroll application in Malaysia, where every state has different holidays and different salary regulations. I was just scared that I didn’t know how to solve the problems there. Then six months into the project, I realized what could be done and I solved what I thought was impossible. This gave me confidence to move forward and the biggest jump in my knowledge and confidence as a developer. I liked that the best about my freelance journey. And sometimes I learned about cool new technologies. That was also a great experience.

How do you approach making good use of your time? Tools?

I’m not the guy who is focused all the time, I understand it and don’t try to keep track of how much time a certain problem can take. During the day when I feel tired, I give myself rest. I take half an hour or an hour and continue when I feel more focused. I don’t usually record my working time, besides the work logs I need to do for some projects. I was told by my college professor that when you don’t feel like you are doing your best work, it’s better to stop and take a bit of time off, because in the end, you are actually not working.

I also learned that looking at your own code objectively without making any presumptions will put you in a more realistic position about your work. So some days I’d look at my code and go, “Oh, it really worked!” or “OMG what did you do, you fool?” This way you get into the habit of testing yourself. I also always ask myself, “Could I do it better? Could it be done in a more elegant fashion? Do I overengineer it because the client expects it in two weeks? Can the solution be simpler?”

What’s the future of work?

I want it to become more collaborative. I want everyone working together to be more involved in the project and product. But I fear that with remote setup, people are not the same when communicating. Some people are more vocal than others. You might be the smartest guy in the room but if you can’t express yourself well, there will always be struggles. I don’t know if communication is key to everything, but I think it’s a good start. So people will want to get better at communicating and will have to become more flexible.

I believe we will continue working remotely more and more. I hope employers will realize that we are the driving force and now we have options. We can work with someone who is 2000 miles away, we can collaborate, exchange ideas and create solutions despite the distance.

Want to learn more about Zvonimir?

Check out his CodeControl profile.

CC Logo Transparent2

About the author

CodeControl works with top-notch freelancers, provides them with services to make their professional life easier, and matches them with compelling projects for companies who need their services.