How to work remotely and Earn Dollars with Programming – pt 1

Remote work
Friday, December 15, 2023 (5 months ago)
8 minutes
10 Views
Igor BrandãoIgor Brandão#igorabrandao
Table of contents

    “It’s never too late to try the unknown, it’s never too late to go further”

    Gabriele D’ Annunzio

    Initial Motivation

    ‘How far do I want to go?’ This is a question we ask ourselves every day. The starting point and the ending point are not necessarily physical places, after all, for developers, the world is not a static place and regardless of where we are, we can reprogram the code for our success. To achieve this success, a strategy of crossing ‘virtual’ boundaries has been incorporated into the lives of many IT professionals. In 2020,  remote jobs increased exponentially, unlike previous years, in which there was only a small increase in these positions. The trend is increasing even more, despite the fact that many companies still require face-to-face work, according to an analysis developed by Rinzewind [Fig. 1].

    Fig 1. Percentage of remote positions for developers in recent years

    percentage_remote_work_job_posting-768x469.jpg

    Remote jobs resulted in a series of benefits in the developer’s life, who structured better their routine and their finances, organized their time according to the company demands, and planned their professional growth. For example, I organize my day as follows:

    1. Time for work meetings (on average 1h to 1:30h per day)
    2. Time to update yourself with the main market demands (i.e. courses and reading) (on average 1 hour per day)
    3. Time to work in projects: personal projects and/or projects related to a company (on average 5 hours per day)
    4. Time to plan your professional future, according with your ‘dreams’, (i.e. writing a project or planning the creation of a IT company) (at least 1 hour a day)

    Comparison of developers salaries in different countries

    Brazil is not one of the countries that pay less to their programmers, but as you can see in the table below [Table 1], other countries, such as Norway, Denmark, and the United States, pay almost twice as Brazil to their developers.

    Why are so many Indians working remotely? Is it worth working remotely for Portuguese companies? See the table below and comment your opinion below:

    Table 1. Average Annual Salary paid to Senior Developers in Different Countries

    avg_programmer_salary-e1638448028240.jpg

    Of course, these salaries vary depending on: years of experience, company demands, programmer level (i.e senior/junior), the project to be developed, the programming language used, and other factors that I will comment in future posts. The gross values ​​in this table are equivalent to the average salary of a senior-level developer.

    Note that the amounts are converted to dollars for this list.

    Another interesting piece of information is: Recently, Canada is adopting a strategy of hiring Brazilians to work in the country. However, it is necessary to speak French, at least to work in the Quebec region (not just English). (For more information see the Canadian Government’s official website). A positive point for these face-to-face positions is living in a country with an excellent quality of life (despite the cold weather). Moreover, the company pays the work visa for you and your partner and offers you a competitive salary.

    Another point that I found relevant to reflect here:

    Why do programmers at PHP, R, SQL usually receive less (on average) than Javascript programmers? One aspect (but not a rule) is that the most common languages ​​(most used by developers) can be devalued over time. Therefore, it is worth investing in languages ​​with a higher barrier to entry, like C++ (especially if you want to earn in euro in Germany or Austria). Of course, after an interview (usually in English), these companies will send you an algorithm test to be developed, schedule a live-coding session, and/or demand a project to be executed (which can vary from a few hours to a week to be developed). It is noteworthy that foreign companies are extremely detail-oriented, so any incorrect code can lead to disapproval.

    In the next posts in this series, I will talk about the selection process for foreign companies.

    One positive point is that many European companies do not require a local language (such as German), but they do require fluent English. Another positive point (besides the salary) is the fact that these companies promote an interactive work environment, German courses, among other benefits for their developers.

    Fig 2. Average annual salary paid to senior developers according to the programming languages ​​used (values ​​converted to dollars)

    salary_by_programming_languages-1022x1024.png

    I also brought the average annual salaries by chosen specialization, it is worth taking a look [Fig. 3]:

    Fig 3 Average annual salary paid to senior developers according to the chosen specialization (values ​​converted to dollars)

    salary_by_programming_specialties-e1638448123917-768x637.jpg

    Even for developers with many years of national experience, I would suggest setting small and achievable goals in the short term before trying a better job opportunity at the desired company. For example, I first recommend starting as an intern at a specific company (aligned with your purposes). When you feel prepared, I suggest you look for a higher position (at this company or in another company).

    Some companies offer modern equipment for remote jobs and a possibility of higher salaries after a few months (click here for exclusive content). Furthermore, after a short period of experience in these foreign companies, a range of opportunities begin to emerge: jobs more aligned with your purposes and professional growth. For example, instead of targeting a job that pays $10,000 a month (wide possibility of rejection), aim for a job that pays $2,000 a month, gain experience, knowledge, and confidence, and then move on to the next step when you’re ready ( click here for exclusive content). The vast majority of developers who currently work at big software companies have gone through small startups to gain prior experience.

    Prerequisites for becoming a remote developer

    Being a remote professional, working from home, and still earning in dollars is very attractive. However, everything that is good is not easy. Throughout my experience as a remote developer, I raised the following requirements to work remotely:

    • The technical domain of tools and technologies: I am assuming that you are an IT professional with some time of experience;
    • Intermediate English: Communication is an essential part of every job, and for a remote position it is even more important since the teams are spread around the world. Being able to understand ideas and concepts, as well as explain a project’s functionality (even at an intermediate level) is essential to get a remote job and to be successful over time. Click here to see some platforms for conversation;
    • Fast and stable internet connection: Throughout the working day, you will be part of many meetings, sometimes requesting to show the project at these meetings;
    • A computer with a good setup: Each project will be different and will require a specific set of tools and technologies. Therefore, investing in a computer with minimal specifications is essential.  
      Here it’s my suggestion:
      • i5, i7 or higher processor; 
      • 16gb of ram; 
      • 240gb ssd (minimum); 
      • Some projects may require a graphics card depending on the type of application;  
        Dual-boot Windows and Linux or MacOS (more than one operating system allows you to configure your desktop more simply). In many projects, Windows is not the most suitable operating system, so knowledge of Linux and MacOS is essential.

    First practical tip

    The first step to getting a remote job is to be seen internationally

    Therefore, update your LinkedIn! In general, recruiters use LinkedIn as a search platform and you must invest some time in your profile doing the following:

    • English Version: As recruiters are generally working in English and use filter options, they will use English terms to search for people. Instead of desenvolvedor de sistemas, they will search as “software developer” or “software engineer” for example. If your profile is in Portuguese, you will be out of their search options;
    • Specify all the technologies you used in your previous experiences: After finding your profile, the recruiters will try to understand your professional background to match that opportunity. The main section they take into account is ‘Professional Experience’ and that’s where you need to ‘sell your fish’. When talking about a company in your ‘resume’, focus on detailing the projects you developed, specifying the tools and technologies used. If possible, mention your main contribution to the project and the challenges you faced;
    • Recommendations and skills: These sections show the recruiters your relationship with co-workers in previous companies. In addition, when passing the tests to validate the skills you have placed on the profile, Linkedin automatically starts sending you exclusive job opportunities that have that skill as a prerequisite.

    Pay attention to the next posts, I’ll give you some tips regarding the application to the foreign companies.

    If you liked it, have any comments or criticisms, leave your comment and help us by sharing this content!

    That’s it for today guys, see you next time.
    Regards and stay well.

    Igor Augusto Brandão

    Igor Augusto Brandão

    #igorabrandao

    Hello, world! My name is Igor and I am a system analyst professional with degrees in Systems Analysis, Business Administration, Information Technology, a specialization of IT applied to the Legal Area, an MSc in Bioinformatics, and +10 years of experience working with systems development.

    Comments

    TUTeste Usuário4 months ago
    Amazing post