This post is also available in Spanish
Getting a remote freelance project as a software developer can be slightly different than getting a regular job through on-site interviews. Meeting another person only via internet calls can sometimes fail to show how good a fit you can be for a project/client. Short-term clients can sometimes look for a developer to jump on board as soon as possible to start moving forward, which means that there’s no time to interview ten candidates, send them code challenges to do at home, and then pick one.
This post is a compilation of past experiences I had that point to different determining factors that paved the way for me to get jobs or clients throughout the years.
Keep in mind that all the experiences shared below are coupled with EXTREME LUCK. I believe being at the right place at the right time weighted far more than the points I list below when getting a project.
Being familiar with new technologies
I started my iOS Development journey in March 2014 with Objective-C on a software factory focused on building mobile apps. A few months after, Apple rocked our worlds by announcing Swift in WWDC 2014. Although I wasn’t exactly sure what that meant at the time, I knew that this a fresh start in a way because suddenly everyone had the same level of expertise with this particular new programming language. We still kept all our clients’ projects in Objective-C. Yet, I started playing with Swift independently. Even though I had minimal experience with the platform and didn’t know for sure what I was doing, I just kept writing Swift and learning everything I could.
Fast-forward a couple of months to the beginning of 2015, and I started looking at other job opportunities. Having good English communication skills opened up numerous possibilities, but I wasn’t sure I’d get any jobs due to my lack of experience. That’s when this whole “being familiar with new technologies” kicked in. A friend of mine was applying to Toptal and encouraged me to do it as well. I had nothing to lose, so I went for it. To my surprise, my short experience doing Swift weighted in a lot more than my lack of years and years doing iOS Development. Clients were requesting developers familiar with the “latest and greatest” and that’s when my 6-months experience doing Swift came in clutch. For the first few months on the platform, I got freelance projects simply because I had experience with this new programming language. That experience started to stack with successful projects and apps uploaded to the App Store. All this experience paved the way for future opportunities, gave me confidence, and provided me with a proven track of projects released successfully.
Open source or features/code you can show
I want to start this section by emphasizing that you don’t need to do open source when being a Software Developer. I got started with it when I realized that I didn’t have a single line of code to show after a few years of developing apps when getting to an interview. This is not a requirement by any means, but I was finding myself in interviews that didn’t have code challenges, so this was the only way I could “show” my code.
I released an open source library for iOS animations called ViewAnimator in 2017, and without knowing it, it opened up the gates to one of my favorite projects I worked on so far. A couple of weeks after releasing the library Meng To from Design+Code tweeted that he was looking for developers/designers to join the team. I immediately pinged him sharing my work and latest library release. Meng recognized my project since it was featured on multiple iOS community newsletters and was trending on GitHub’s Explore section.
We had a call on that day, and the very next day, I was writing code for the Design+Code iOS app, which was released a few months later. I’m not sure what would’ve happened if I didn’t have any code to share when I emailed Meng, but in this particular scenario, being able to share code I created was a significant advantage.
Many bloggers can write a better section on their experiences with getting job offers via their websites/blogs. Still, I feel like this point might be useful for other developers like me who have a site/blog and rarely add content.
Blogging, like sharing code, let’s you open up about your techniques/solutions to a problem. It’s sometimes even better than just code since you can show your entire path to the solution and even show why alternatives won’t work.
After sharing my first blog post on Twitter I got a DM from a person working for an NBA team that was building an internal heavily search-based native iOS app for their scouts. The blog post explored a solution to a problem they were facing, so they figured it would be better to have me on board and do what I did of the blog post for them since search was such a critical aspect of the project.
A week or two after this interaction, I was doing consulting work to set up the architecture for all search based functionalities.
All of these points come paired with extreme luck of being around in the right place at the right time and having the opportunity to show what I can do to clients that were looking to hire a profile I could fit.
Mi experiencia consiguiendo clientes como un desarrollador iOS freelance
Conseguir un proyecto remoto freelance como desarrollador de software puede ser un poco distinto a conseguir un trabajo fijo con entrevistas on-site. Conocer a tu cliente solamente por calls puede... Keep reading