This is a repost of an old article on Medium.
Today marks the end of my first year as a freelance programmer. Before that, I have worked on several projects, but I only started freelancing professionally last year when I got my first client on Upwork. I wanted to share a little overview of what I’ve done. Let me give you a little context first.
I’m a self-taught software developer and currently an Electronic Engineering student at the Science Faculty of the State University of Haiti. What attracted me to computers was the Internet. I was learning how to draw at the time and it was the only source of information I could find. I spent a lot of times in various cyber cafés of my home-town and my innate curiosity led me to learn more about what computers can do. Over the years, I became interested in various fields like computer graphics, network, system administration, security but what really attracted me was programming as it was the science behind all the software I was using. So quickly and with my friends’ encouragements, I got serious about learning programming. Later on, I became involved in several projects that have helped me apply and grow my skills.
I learned about freelancing while surfing the internet and I was excited about the prospects. There are many foreigners working in Haiti or just visiting, but developers are not really in contact with them. I realized freelancing was a great way to fill that gap and the idea of earning money (US dollars!) while staying at home was very appealing while allowing me to fill out my resume with real projects (mine was really empty). So I decided to dig more into it. I learned about Upwork and signed on the platform. Bad news: my profile was rejected. I researched a bit more and learned a lot from Quora, Medium and various blogs on how to complete your profile. My second application was then accepted.
After many unsuccessful proposals on the platform, I finally got an offer. It was for about 3$/hour as a React Native developer. At that time, I had so little experience that nailing my client was the best thing that could have happened to me. The money was small but I was really grateful for the opportunity. I did not know what freelancing entailed. I’m still thankful to them because I learned a lot about working in a team where others rely on your work. I spent three active months with them implementing the logic for their application and three more helping with solving issues from time to time. I did become discouraged fast as the money was too low for the amount of work I had to do.
My second offer came because I knew about CG, specifically 3D graphics. I had to write an FBX exporter for the PlayCanvas engine. My inexperience (only 2 months) led me to greatly underestimate the amount of work that was needed, and I nearly burned myself out on this one. What saved me was my knowledge of C as C++, which was required by the project, is similar enough. I was lucky to have found an understanding with my client. They really helped me out with the testing and they were very communicative. I’m still proud of the work I did on that project.
I’ve also had my share of difficult clients on the Upwork platform too. One client asked me to basically recreate the Medium editor in 2 days and another kept changing the requirements of the job. I’ve had one go silent on me upon completion of the project which forces me to wait the full Upwork pending period to get paid. At that time, Upwork was my only source of money and it was not worth it to make a fuss over so little money (I was still underestimating).
Upon landing my first long-term client, I set myself to obtain the Top-Rated badge. I had to keep my success rate equal to or greater than 90% for 13 weeks. It was very stressful. But I finally made it due to some jobs I had landed during that time. I also got a membership at a co-working space which provides me a proper environment to code (Internet and electricity is still a luxury in Port-au-Prince).
This first year working as a freelance programmer taught me a lot and helped me grow my technical skills. It has also helped me become more professional. I am better at estimating tasks and deadline. Now all the work experience is looking great on my resume. I created many things I’m proud of. I did all of this without leaving my country. I look forward to exploring many more from here.