Pragmatic remote programmer

Pragmatic remote programmer

Independent workforce is well-known, but still growing trend in labor market. According to McKinsey Global Institute independent workers constitute up to 30% of working age population. Moreover, every 1 in 6 traditional workers would like to become independent. We haven’t found exact data about independent IT professionals, but our guess is that in computer-related jobs these percentages are even higher. In this paper we gathered collective portrait of typical independent IT professionals, and pointed some success recipes for people considering remote work.

Why software engineers choose to work remotely?

Main reason for switching to remote work for majority of employees is high level of autonomy — independent professional has freedom to choose on what project he would like to work next.

Innoteka internal study (more on that later) suggests few other reasons why software developers switch to independent mode. These include:

  • Flexible schedule: no fixed working hours, possibility to work part-time;
  • Possibility to work from different locations;
  • More interesting and technically challenging projects;
  • Higher level of income.

Pros of being independent IT professional

Following are benefits of being independent worker, as described by respondents (answers with occurrence rate less than 20% were dropped for convenience)

Time and schedule

Our study shows that “re-gaining control over one’s time” is most frequently mentioned benefit of remote work (60%). Respondents report feeling higher level of control over one’s time (and life). One programmer mentioned:

Since I started working independently I don’t feel like life is passing by me

Responsibility and involvement

Second most-mentioned benefit is, paradoxically, level of responsibility (40% of respondents). Programmers report having more responsibility over project’s success, compared to traditional organizations, and they see it as benefit. This observation correlates with ideas from “Drive” book by Daniel H. Pink, see short summary here

Working environment

Approximately same number of respondents (40%) mentioned possibility to organize working place according to their preferences as advantage of remote work; air-conditioned crowded open-spaces in traditional organizations was labeled as discomforting factor.


Possibility to travel and work from remote location (27% of respondents) is important, especially for individuals who are single. One of our respondents changed 3 countries on 2 continents in 1 week, maintaining her workload.


Remote work allows you to concentrate — there are no typical office distractions, no small talk, gossip (27% of respondents). As a consequence — more productive hours in a day, and better results.

Disadvantages of independent IT professional career

Following are most mentioned disadvantages of being independent developer, as described by respondents (answers with occurrence rate less than 7% were dropped for convenience)

Lack of socialization

Isolated environment not only benefits productivity, but also undermines social relations. 47% of respondents report lack of communication with peers as disadvantage. They deal with it by participating in tech meetups, or periodically working from co-workings.


Despite the rapid development of collaborative technologies, maintaining effective communication is still challenging. Significant portion of information in human-to-human interaction is conveyed by nonverbal means, thus plain text emails or chats are less informative compared to video-enabled communication. 40% of respondents mentioned communication as challenging in remote environments.

Time management, self-discipline & self-control

While managing own time and re-gaining control over your day is truly beneficial, the drawback is that it takes much more discipline and persistence from remote professional. 33% of respondents reported difficulties with time management at the beginning of their independent career. Also, there are no visible controlling factors (supervisor or manager), thus it takes time to develop self-discipline and learn to keep up with working schedule (13% of respondents).

Character traits of successful remote software engineer

Our experience suggests that successful remote software developer has to have broader skillset compared to developer working in traditional organizations. There are many non-technical books about how professional software engineer should conduct himself at work, we would mention only most prominent one “Clean Coder” by Robert C. Martin.

On top of being professional programmer, one should also practice few additional skills and personal traits required for remote work:

  • Self-motivation and self-discipline
  • Will-power
  • Planning & time-management
  • Communication and negotiation skills

Bad news — they are almost as important as hard, technical skills. Good news — all these skills are learn-able, in same way as your technical, programming skills.

Remote software engineer cheat-sheet

Before diving into independent work mode, assess your skills (technical and non-technical) according to following plan:

Know your strength and weaknesses

Knowing others is intelligence;
knowing yourself is true wisdom.
Mastering others is strength;
mastering yourself is true power.

Lao Tzu

Understand and learn your personal working style, your strong and weak points. Think about following questions:

  • At what part of the day are you most productive?
  • What kind of work does inspire you most — researching something new, tracking hard-to-reproduce bugs, optimizing performance etc.?
  • What kind of learner are you — reader or listener, are you good at writing or at speaking?
  • Do you need feedback and encouragement to maintain motivation?

If you haven’t yet assessed your personality type we strongly suggest doing it. If you happen to be Extrovert — bear in mind that it will be harder for you to work in remote environment.

Share these observations with your client on initial phase of your collaboration and it will allow him/her to better understand and communicate with you.

Personal brand

Every independent professional is mini-enterprise, with all functions of regular enterprise, like marketing, sales, finance, delivery etc. Every independent professional should work on his/her personal brand to stay competitive. Contributions to open-source projects, own public project on GitHub, speaking on conferences, authoring a technical blog, speaking at a conference or running local tech community — all of that adds up to your recognition as professional and technologist.

Habits — the good, the bad, and the ugly

Any living person has habits; moreover, some researchers claim that up to 40% of daily activities are done on “autopilot“, without concentrating attention on it.

Switching from traditional working environment to remote set-up requires forgetting old habits and developing new ones. It will be hard at first, but there are books on how you can “rewire” your brain, and build new, better habits, which will help you in your day-to-day struggle.


Opportunity to work independently is becoming more and more attractive option. Before pursuing this career path one should carefully consider all pros and cons, as well understand what are the challenges and pitfalls along the way. Working as independent professional is definitely not easy endeavor, and apart of outstanding technical abilities one should also have non-technical skill-set, like keeping intrinsic motivation and organization skills.

Appendix: Innoteka survey

Survey of independent software engineers were conducted by Innoteka in May-June 2017. 15 independent software engineers were surveyed. Professional experience ranged from 5 to 13 years in IT industry (60% of respondents had 10+ years). Experience working as independent engineer ranged form 6 month to 5 years. 40% of engineers are working via intermediary software development company, rest are working directly with end clients.

Source: Medium:Remote Working
Pragmatic remote programmer

Leave Your Comment