In another post HERE I described how to become a programmer from scratch, but I thought it might be worth getting to know what the daily work of a programmer looks like and who can be satisfied with it. Because it’s not that obvious.
And the work is specific, it is not even a type of normal “office” job. This is a very sedentary job and it is worth knowing about that. It is not like working in, for example, an office. Also office, but from time to time you have to go somewhere, do something in another department, etc. Programmers also have to arrange something with others, but usually it also happens while sitting in front of the computer and calling someone else via messenger/skype/zoom/teams.
Often, you do not work with other programmers with whom you sit in the office, but remotely – even while physically in the office. This is because other people in our project may be from other cities or countries and so we work with them fully remotely. That’s why it often doesn’t matter whether you work from the office or from home, because our team is spread all over the world anyway, so you should call by messenger or write emails anyway.
Table of Contents
Different type of work as a programmer
Personally, I would distinguish 2 types of work as a programmer:
- Programmer – “coder” – it boils down to writing code mainly in isolation from the entire decision-making process. Tasks that need to be programmed simply flow to the coder and that’s it. He sits and hit buttons. Sometimes you need to clarify something. This is the role in which introverts will find themselves best.
- Programmer – “developer” – here programming is just one of many duties. In addition, such a programmer will participate in many meetings, determining implementation details or architecture, assigning tasks to junior programmers, checking their work (so-called code review). This is a role where both hard (programming) and soft skills will be required. So it is more difficult here, but also easier to get a promotion and higher earnings.
Usually or almost always roles are not strictly named, and it depends on the context of the project we take part in. Of course, it is in our concern to work as a programmer in the way we feel best and in the role we fit best in. We can influence it, for example, by talking to our own manager and telling him what role we feel best in. You can also mention this during the job interview if it is important to us.
However, often working as programmers, we simply get into a project without really knowing what it will be like. Here I would distinguish a few types of projects that are most common:
- Small projects – will usually be moderately managed, sometimes better, sometimes worse. And here, a lot of proactivity and taking the initiative are usually required. The project is simply so small that it consists of, for example, 2 programmers, and you need to have the initiative to know what to do and how to do it, collect the requirements yourself, agree on implementation details directly with the client, etc. It may seem like a poor case for such a project but in my opinion, it is the best springboard to gain cross-sectional experience and further promotion. And here is the fastest way to become the “developer”. It’s just easy to stand out positively. But it’s just as easy to compromise.
- Medium and large, well-organized projects – usually, although it may seem that there is also a bit of chaos there, there are usually at least a few programmers in the team, there is one or more managers above us, there are testers, architects, etc., and the entire organization work rather well organized. Direct contact with the client will rather be limited and occasional. So usually in such projects, being a programmer, you end up in the role of a “coder”, i.e. you simply receive tasks with its exact specification, code it and commission testers for testing. Here it is harder to stand out and harder to discredit. It’s just that a few people apart from the main programmer or architect see our work, and there are other people watching over the quality.
What does the daily work of a programmer look like
Overall, looking at it from the outside – rather boring. Looking from the inside – it is also often boring, and sometimes very interesting 🙂
Often, in order to perform a specific task, you need to familiarize yourself with the documentation of, for example, a new library, so there is a lot of searching on the Internet and reading. After reading the documentation, almost never anything works right out of the box, so then you have to a little “play” with the sample library mentioned, do various small examples (snippets) somewhere on the side, and only then get down to the actual task. Usually, even this task will not go smoothly, so you have to figure it out again. And so most of the time.
I will mention here what a library is – it is usually a predefined feature that we can provide into our project directly as it is. An example of a library can be, for example, a set of functions for converting a date from a format such as MM/DD/YYYY to another format, such as MM.DD.YY. Then we attach such a library in our project and we can immediately use. Simply – there is no need to reinvent the wheel.
Such work can be boring, but the often tasks are very interesting and the final solution to the problem gives great satisfaction.
As for me I gained experience as a programmer in startups, mainly, in the fintech industry. Later, working for large corporations, I continued to choose projects with similar specificity. So where there was a lot of prototyping, new issues or ambitious, sometimes seemingly impossible to meet requirements. Usually I also worked in small projects. So my job was never a typical programmer job. Or rather a developer on steroids. Because programming was only a half of my work, sometimes even less.
I play a prominent role in projects, working directly with the client, creating architecture, advising junior programmers, attending various technical interviews with clients, etc. And this combination of work suits me very well because it suits my nature as man. I like both having contact with people, talking, and there is time when I prefer to sit quietly and do my thing. And this kind of work gives me the greatest satisfaction, so I definitely wouldn’t call my job as a programmer boring but I admit that there are boring moments. We can never do 100% of what we like
Working from home (home office) as a programmer
If you don’t work in the IT industry yet, you may be surprised that I’ve been working as a programmer for several years and have never had to be in the office every day. And this is one of the basic advantages of working as a programmer – working from home, also known as Home Office, or short, HO.
Working from home in my opinion is not possible when we do not have appropriate conditions in the apartment or house. And the necessary conditions, in my opinion, are a desk (a table top under which we can easily spin on a chair), an office chair (swivel) and at least 2 monitors, an external mouse and keyboard, and a mandatory stand for a laptop (if you use its screen). Proper lighting is also necessary so that, for example, the sun does not shine on the screen or, in general, that the room is not too bright or too cold.
It is absolutely required to have conditions in your home office that are not worse than in a real office. If you do not follow above simple rules, after a few days of such a non-ergonomic work will lead you to headache, back, neck or eye pain. And then to serious health problems, such as deterioration of vision, permanent damage to the spine, dizziness, etc.
Hybrid work as a programmer
In most of IT companies, when working as a programmer, you have to work in the office for a few days and from home for a few days weekly – this is called hybrid work. At the beginning of your professional career, this work pattern will probably be more rigid (more days at office, 1-2 at home), and as you gain experience and trust of your superiors, you will be able to work more from home.
There is also another form of hybrid work. Used mainly when our company’s office is really far from the place of residence (e.g. over 100 km, and sometimes even 1000 km). Such a hybrid job as a programmer requires working in the office, e.g. 2-3 days a month. So, for example, we live in Cardiff in England, but we work for a company from London. We mainly work from home, but for example at the beginning of each month we have to come to Berlin for 3 days. Then with whole team you will do planning, teststing, brainstorming etc.
Typically, when working in hybrid mode, especially for large corporations, we must declare a specific place from which we work, and then it will not be allowed (or will require the consent of the line manager) to work from e.g. coworking space (i.e. renting a desk in the office with other freelancers or people working remotely).
Fully remote work as a programmer
Working as a programmer, you can also work fully remotely, whether for a company from your own country or a company from abroad, e.g. from the USA or Germany. This is a very interesting option, because, to quote the former CEO of wordpress.com – the distribution of talents in the world has a normal distribution, and the distribution of opportunities is not. What does it mean?
Well, you can be a talented programmer and live in Indonesia. But while living in Indonesia, it may be difficult to apply for a visa to the USA or have limited financial resources for relocation there. Then, working from the office in the traditional way, the US company loses the opportunity to recruit a talented employee, and he loses the chance for a good job. And thanks to working as a programmer from home, 100% remote is now possible.
When working for an employer from the USA, you can also work during their working hours, i.e. on European time, from 15:00 to 23:00 (3 pm till 11 pm). This gives great opportunities, e.g. all year round, even in winter, you can enjoy the day and sunlight, settle your own formal matters in offices or other companies during their normal working hours, without crowds and queues. Admission to the gym or to the cinema in the morning is also usually cheaper. In spring and summer, the weather in the morning is usually better than in the afternoon. And if you have small children, you can take care of them in the morning, without need to hire a babysitter.
Remote work as a digital nomad or workation
Working 100% remotely, we are one step away from being the, so-called, digital nomad. Well… then we can simply move to another place in the world. For example, move to warm Mexico and work from there. Sounds great, but it’s not always that easy.
Well, first of all, by the end of the day, cost of living is important. Working fully remotely for, let’s say, a client from the USA or Switzerland, we will probably earn less than living there. So for being a digital nomad, it is better to choose a country with a lower cost of living. Like the aforementioned Mexico, and not, for example, Norway.
Certainly, you should inform the employer from which country you want to work and whether there are any formal restrictions. For example, when working for American or European companies and processing their data, we may be required to work in specific locations. This is about legal systems and the protection of their sensitive data, which may limit us to moving, for example, only within the borders of the European Union.
There is also such a thing as workation. So you just go for, for example, 1 month and work from, for example, Sicily or Tenerife. In winter, a great option and that sounds great too.
However, being both a digital nomad and working is a bit of a problem. Because as a programmer you don’t work like in some Instagram pictures – on the beach with a laptop on your legs. It is absolutely unrealistic and impossible. As I wrote in my other article HERE, the job of a programmer is eminently sedentary. So we must have a comfortable workstation, a good chair, an ergonomic keyboard (read about such keyboards HERE), a large desk and 2-3 monitors
On the beach, you can only check your e-mail on a laptop. When sun will shine, than you we see almost nothing on the screen, and backs will start paining after 30 minutes.
Therefore, in being a programmer as a digital nomad, and especially in the so-called workation and work from Thailand, the biggest obstacle is the need to create a good workplace. It makes sense if you go somewhere for at least half a year or more. With, for example, a 1-month workation, you would need to find a coworking space on site from which you could work and have all this equipment rented, apart from your own laptop.
Another big obstacle to working or being a nomad are kids. If we are parents, the problem is that in a new place someone has to look after our child. The costs of an international English-speaking kindergarten are usually high (because we would rather not send a child to a local Thai kindergarten). You can also take someone with you to look after smaller children, e.g. grandmothers, or hire a babysitter on site. However, this again significantly increases the costs. Another thing is the price for the child for breaking away from his friends in the place where he currently lives.
Threats in remote work
There are two threats that await us in fully remote work as a programmer:
- Personal – related to our well-being and identifying home with a workplace
- Professional – especially if other employees work in the office and we work remotely – many things, including even promotions, can pass us by (but do not have to).
The personal risk when working 100% remotely as a programmer is that after work, instead of sitting comfortably and relaxing in your home, you rather want to go outsite. Maybe not everyone does. Perhaps some great-home-lovers will be satisfied with that. After finishing work at home, I wanted to leave the house for fresh air as soon as possible, run, bike, take a walk with my child, play on the playground or have late lunch in a restaurant, not at home.
This is very important in the long run. Certainly, when we switch from working 100% from the office to 100% at home, we can be happy for the first few months, but it can change and even lead to depression. It is worth paying attention to it and having, for example, a separate room for work and taking care of contacts with other people after work, in real life.
Another threat in remote work from home is when, for example, our partner also works like that. This puts the relationship in a new situation where almost 100% of the time is spent together. Of course, that’s what a relationship is all about, spending time together, but you don’t need to be a relationship psychologist to know that extremes are bad. Over time, in such a situation, it is good to develop some rules of such work.
The typical threat of fully remote work is quite obvious – if the rest of the company works in stationary mode from the office. This is obvious that other employees who see themselves every day or every few days (when working in hybrid mode) know each other better, they know more about themselves and may be favored for promotions or salary increase.
Work as a programmer – summary
As you can see from the descriptions above, working as a programmer gives you great opportunities. The best thing is that more or less the same competences will allow us to easily find a good job all over the world. This gives a sense of security and stability. However, you should keep in mind, that work of a programmer is a very sedentary job. So it’s not for everyone. If someone likes to be on the move, or likes a lot, e.g. talking to people, then the work of a programmer can be something completely opposite, in which you will simply feel bad