About me

I am a software developer with 9 years of commercial experience including 6 years of full-time freelancing.

I live in Poland but almost all of my clients are from United States.

At the moment I work full time remotely for Ruvato LLC – a US based company.

My minimum rate is 50USD/hour. I love programming and I can be a great asset in your project but I also value my time. Please contact me only if you can offer at least 50USD/hour.

My main skills include:

  • Android apps
  • iOS apps
  • Deep learning and Google TensorFlow
  • Crypto platforms: BitCoin, Ethereum, EOS, NEM
  • PHP/Python backends
  • Amazon Web Services and complex server infrastructure administration
  • Team leading

I can work on every layer of almost any project. I am always interested in how everything works. I prefer to work on projects where I can learn a lot of new things as opposed to ones where I already know in detail what all components are doing and how they function together.

Some of the recent reviews I received from my clients on freelancer.com (my username there is re4ct0r):

You can hire me here:
https://www.freelancer.com/u/re4ct0r

My email address:
contact@rafalroszak.net

Skype:
rafal_roszak

I live in Skierniewice, Poland:

My background

I was born in 1985. When I was 14 I took a Logo language programming class. I then discovered I was very good at it and I was able to learn it really fast even though I have never tried any programming before. I was also very interested in creating more and more complex programs in that language at home even though I was not required to do so. I then realized I want to become a programmer.

I studied Mathematics and Computer Science at University of Lodz where I earned my Master’s degree. Both Mathematics and Computer Science classes were fascinating to me and I finished my journey there as one of the top students. Every year I was awarded highest possible scholarship for outstanding academic performance. One thing that is not related to my current career but might be worth mentioning is that while being a student I participated in Work and Travel program. During that program I spent almost 4 months in USA working in Noah’s Ark Water Park in Wisconsin Dells. At the end of the program I was selected as one of the hardest working employees of the park and was awarded with a laptop computer.

1 year before receiving my Master’s degree (on July 2009) I started working at Mobica (https://www.mobica.com) where I mostly learned Android programming and all the processes that you have to follow in a company. While working for Mobica I was offered an opportunity to work for ARM (the microprocessor technology company). I have accepted that offer and I worked in ARM office in UK for 1 year where I learned a lot about creating graphics drivers for mobile devices.

At the beginning of 2012 I decided I want to have the freedom of working from home and in May 2012 I quit my job to become a freelancer which is what I am doing up to this day. I was prepared for a slow start and having many months without or with very little income. However it turned out that the switch was much easier than I expected. On the second month of my freelancing career I started earning more than what I was paid at Mobica and it is only getting better every year as I strive to learn new skills all the time and provide as much value to my clients as I possibly can.

During my freelancing carreer I learned many new skills like: interacting directly with the client, iOS development, complex server infrastructure administration on Amazon Web Services, complex SQL database administration, several MVC web frameworks, software architecture planning, how businesses work in more detail, how people make money on their businesses, team leading and the most recent addition to my skills is deep learning and Google TensorFlow. On 2012 in my free time I created an Android brain game called “Pushing Machine” on which I spent about 160 hours in total and which has so far earned about 10000 USD from ads and still making money as thousands of people are playing it every day.

My interests are very much related to my work. I am interested in mathematics and how computers and software work in detail. I have also always been interested in artificial intelligence although this was just based on movies, tv series and books until 1 year ago (it is 2017 when I am writing this) when I noticed that there are opportunities to actually work on AI related projects. I am now working on a big project AI related project for a client. This will take several months of my time. I consider this my biggest achievement so far as AI is a field where I can combine my mathematical, my programming skills and my fascination about artificial intelligence.

Where I see myself in 5 years:
Working on a big AI project which solves an important problem for millions of people. Possibly as a team leader.

How to work from home as a software developer?

What is this article NOT about?

  • This is not an article about how to make a million dollars in 1 month working from home. Unless you are extremely intelligent or exceptionally lucky (which 99.999% of people aren’t) this is not going to happen for you. However with hard work you can make a decent living and earn more than what you are making in your current job. Especially if you are not living in the US.
  • This is also not an article about pros and cons of freelancing.

What is this article about?

This article is about what I did to become a full-time freelancer and about some of the useful tips that might help you do the same thing and give you some confirmation that doing this is indeed possible for everybody. However the content here is merely a short introduction to an extensive topic on which an entire book could be written.

What do you need to become a freelance software developer?

In my opinion you need three things:
  1. Some programming experience (preferably gained by working 9-5 for some company for a year or at least some experience creating some app or website on your own)
  2. English language proficiency (this can be learned by reading books in English, watching English movies and tv series, watching YouTube videos in English, participating in some online chats and obviously travelling if you can afford that)
  3. A lot of motivation and believing that you can do it and being sure that you really want to do it and you will do what it takes make it happen.

Freelancer.com

I am sure there are many ways of achieving working from home full-time but what worked for me is freelancer.com. It is a global outsourcing marketplace which allows employers to post jobs which freelancers can then bid to complete. What I did is a pretty risky move. I just quit my job without having any pre-existing connections with clients believing I can make it on my own with freelancer.com and it worked! But I probably don’t recommend this approach for you. It might be safer to start working on freelancer.com in parallel with your current job and only quit your job when you get some success with freelancing. First you have to create an account on freelancer.com. There is a lot of competition in this marketplace but I would like to share with you the techniques that helped me overcome this problem.

How to start using freelancer.com and stand out from the competition

  1.  The main picture in your profile should show your face and not some logo, favorite movie character or other useless image. If you put your face in your profile image this will be a first sign to the potential employer that you might be a serious person that can be trusted.
  2.  When starting to freelance you already have to have some skills that can add value to the business of your employer. Adding value is the most important thing you have to focus on and it is the only way you will be able to make money long term. In your profile description explain what skills you currently have. If some of your skills are not expert level yet you can put them in the description as well if you are confident that you can improve them quickly when you get a project that requires them. That is fine, nobody can be an expert with everything. However don’t include skills that you completely don’t have.
  3.  If possible provide some proof that you actually have the described skills. To do that you can explain how you earned them (for example you worked at company XYZ for 2 years) or provide some evidence that you created some app or website.
  4.  Set your rate to what you really think you are worth at the moment. Don’t set it too high or too low. It needs to reflect your realistic opinion about how much you think you should be earning having the skills that you have. You are probably not going to earn this rate in your first project anyway but just put it there.
  5.  Pass some of the exams that are available on the website. First exam that you should take is “US English level” exam. If you pass it you will get a badge which will let your employer know that you have some English skills. There are three levels of “US English level” exam. When you pass level 1 you can take level 2 exam and then level 3. Preferably you should complete all three levels. This alone will already boost you above 50% of your competition. Good communication in English is very important for your employers. If you want you can also take other exams. The more the better but they cost money so US English level 3 should be enough to start.
  6. Get your first review. Make sure you get 5 stars. To get your first review you have to be prepared you will be working for free or almost for free. Bid on as many projects as possible but only bid if you feel there is some chance you will be able to complete the project in reasonable time and that the project will not take too long. Make sure you analyze the project description in detail and provide a great explanation to the employer in your bid message. Try rephrasing or summarizing project description so that the client knows that you read the description and that you understand what it says. Explain that you know how to do exactly what the project asks and that you can do it in timely manner and within the budget, you can be truthful and explain to the client that your price is very low not because your skills are low but because you are a new freelancer and you would like to prove yourself and that this is also a great opportunity for them since they will be getting high quality for low cost. Since you don’t have any reputation yet you will have to undercut everybody using very low price to have some chance of being selected. A client who selects you will most likely not be the best quality but you have to start from something. Make sure the work you do for them is perfect and that they are blown away. Ask them for 5.0 rating. Once you get it you are on a good path to becoming a freelancer.
  7. Keep doing what you have done in point 6. but try to become better and better at it and use your experience gained in previous bids, projects and client conversations to adjust your strategy and try to earn more every time until you can actually start getting paid what you think you were worth at the beginning when you started freelancing.
Those are only some of the tips that I have and they are not described in a manner detailed enough but I might make a separate post about each of those points and other tips later.

Fixed price projects vs paid per hour projects

Every freelancer prefers to be paid per hour instead of having to estimate a fixed price and then try to fit in that estimation. Bad news is that at the beginning you will probably be able to only work on fixed price projects and they will take you more than you estimated (as you have to keep your fixed price as low as possible to make sure it is you who is selected and not other people). However as you become more and more valuable to your clients you will be able to switch to working on paid per hour basis. Another result of being more valuable is that you will no longer have to make bids on projects. You will just get contacted directly by employers all the time. This leads us to a very important question: how to become more valuable to the clients?

How to become more valuable to the clients?

You have to do things that might not make sense short term but make sense long term. For example when you have a choice between two projects: one where you already have all necessary skills and other one where you are lacking some of the skills in many cases you should work on the second project even though it will be harder. This is because you will learn many new things which is what you have to make sure you are doing regularly. For example you will be much more valuable if you know both Android and web development as opposed to only knowing Android development. High value projects require many skills. An employer may choose to hire multiple people each of which has only one skill or hire one person who just knows how to do it all. The second option is usually more profitable for the developer and less costly for the employer. This is why you should be regularly investing in learning more and more even if it sometimes means you will spend more time on a project and earn less in short term. If you don’t learn new things and keep doing the same thing over and over then you will get bored and burned out quickly. Also after 10 years of work you can try to say that you have 10 years of experience but it will really be 1 year of experience repeated 10 times which is not the same as 10 years of experience with many different things.

Which clients to choose?

At the beginning you will not have too much of a choice, you just work on whatever you can find. But freelancers are not the only group of people that can be more valuable or less valuable in the marketplace. It is important to understand that the same rules apply to clients. The more valuable you become as a freelancer the more access you get to higher quality clients which means you get to work on better, more interesting projects and get paid more for your hard work. You can find great clients in any country but I personally found most of my best clients in US where software developer salaries are the highest.

This was only a short overview of freelacing as a software developer. I will create add more information if there is any interest in this topic.