May 4, 2020

Why personal projects are the precursor of freelancing

Why personal projects are the precursor of freelancing

Before entering the subject let me tell you about my background. During my first years of learning Computer-Science (a period that started in the 9th grade, so around 2012) my only activity consisted of solving algorithmic challenges (mainly the type of problems that were given during the Computer-Science Olympics). What made me solve around 3 problems per day was the exhilarating feeling of accomplishment that I would receive after successfully solving a problem, the sentiment wouldn’t stick long so right after I was again on the quest to find another one. This cycle continuously happened for two years until I started to get bored by the repetitiveness of it and also got used to the feeling of accomplishment … I needed something more.

Personal projects were the ‘more’ that I needed, they allowed me to bring back to life the ideas that I would believe in, all these keeping me busy way more than a couple of hours. What I discovered at the end of my first such project? … it was the same feeling of achievement, only that it was way stronger and it lasted for a much longer period of time (actually even though I’ve improved drastically since then, I am still appreciative of the younger me that was perseverant enough to build such application). You may think that only this motivation wouldn’t be enough to make one stick to this activity for very long, but it’s been six years in which only the desire to build something and the pursuit of this drug called ‘accomplishment’ made me spend countless hours (and wanting to optimize all aspects of my life to buy more time to do this). The majority of the time I had no idea that there would be other positive consequences linked to it.

To enter in more details, my path for building projects got me through web development, the first major one is (web platform that helps students learn to code) ~ while building this I learned PHP, JavaScript, AJAX, JQuery, also it represented my first interaction with Linux systems (as I needed to compile users code on it and show them the execution and evaluation report), later on I moved the execution of that code to Docker (to patch the security issue that I unknowingly created by letting users run code on my server) and switched the forum to NodeBB (MEAN stack based ~ created a bridge to communicate with the LAMP stack I had used until that point). Even though IronCoders represents one of the projects that I worked the longest (it took me one year to build it, in 11th grade) as you can see I was able to touch the ground with a lot of technologies that are present in today’s world of software freelancing.

Moving on to mobile, I built a few games on Android, an interactive team-based Logo Quiz app (loved playing with those using high-school classes); through that, I got to learn FireBase, Java, Kotlin. Moving during the timeline, in the last year of University, I used the necessity to write a Bachelor’s Thesis and transformed it into another personal project which is called ArRobotCode (link), an IOS app that helps little kids to learn how to code through Augmented Reality and Google Scratch-Blocks.

I do believe that it’s a general rule of the universe when you do something you attract opportunities to do more of that something. By this, I mean that I got a scholarship for two years at Siemens in which my task was to continue building whatever interesting projects I would think of (all this while getting paid!). Even more, they gave me access to a HoloLens, which represented a cool introduction with Augmented Reality, Image Processing, and Deep Learning; one of the projects that I loved doing consisted in helping people learn the piano by rendering holograms on top of the keys that needed to be pressed next (I guess that by this point you can see a pattern between me and educational apps).

Crazy but I could continue with this list on and on … Where I wanted to get is that all those experiences helped me in ways I didn’t imagine. What do I mean by this? Freelancing is just like building a personal project, the only change is that somebody else comes to you with an idea.

It is true that for a long period of time I haven’t got paid to do the work that I did, but it turns out it was for the best, I learned a lot of technologies, I got used to switching contexts between very different technologies. Now I am able to pick up any new technology in a short amount of time and that means that I do not consider myself only a Web or Mobile developer, I am an explorer and the technology stack is not limiting me.

You may think that “I do not have 7 years to just build projects for fun before getting paid for it” but the truth is that you don’t need that huge amount of time, start small, be focused on a few particular technologies, get familiar with them by first building something for you and then you can do the same for somebody else.

So, you don’t know where to start your path towards freelancing?

Just take something you’re passionate about, and BUILD IT; and the rest will come !
-- Medium Article Link --