Infinite loop

I am yet again in this situation where I should program tools for others to do a task, but doing the task myself is quicker, and we are in a hurry. But even if it is faster to do it myself, it still takes time and delays the programming of the tools.

And when finally I will have programmed the tools, I will not be needed as much and will tackle a new task for which there is no tool yet …

It is an endless balancing act.

An infinite loop.

CV for Family Tech Support

Experience for more than 12 family members over 20 years:

  • Master in finding the cable that was not plugged.
  • PhD in being the only one able to navigate menus using the arrow buttons of the remote. (That there exists no other solution doesn’t mean they won’t try.)
  • Trustee of the recovery address of a legion of emails.
  • Knows what a file is.
  • Wizard-like competence to circumvent user experience failures. (“Yes, yes, you really need to slide your finger from the top of the screen to see a search bar!”)
  • Ability to suffer through 10+ configuration steps over the phone. Including the endless repetition of “No, no, this won’t delete anything”, “You don’t need that”, and the crowd pleasing “No, you don’t want to read the privacy policy”.
  • Uncanny power to spot what is actually a computer and needs to be rebooted, like TV sets and smart watches.
  • Knows what a backup is.
  • Privacy aware: can remove malware from your computer without snarky comments about the shady sites that you visit and more generally, can see things I shouldn’t while debugging your devices and keep it to myself.
  • Understands that charging your computer with your phone charger doesn’t work.
  • Doesn’t hate you, yet.

Book Review: The Elements of Style By Strunk and White

I just found out that the first edition of the Elements of Style, an excellent 50 pages book about good writing in English, is available for free online. It first covers efficiently the most common mistakes in English and then proceeds to the real nuggets: the elementary principles of composition

The book is available here: www.gutenberg.org/files/371…

I cannot recommend it enough. It improved my writing immensely (although it can still be improved a lot).

If you do not have much time, just read these two principles:

I read the 4th edition, not this first one from 1918 and I have the feeling that it was better formatted, on top of using a more modern language, but on the other hand, you cannot beat free.

Being a positive voice

On social networks, especially Twitter, negativity is the most common mode. Mockery, bashing, critics, indignation. And I get it, the times are inducing this.

But I like to counterbalance negativity by just sending positive comments when I feel them. Just a few words to thank authors for sharing insightful information, or some marks of admiration.

I also do this very actively in various threads (on Twitter, in blog comments, on Reddit, Hacker News, Youtube and such …) where hateful comments are dominating and I do not agree (it happens a lot for example, on articles about immigration or biking in my local newspapers…). I do not want to leave the space to hate only. I want readers passing by and being discouraged to be able to find some comfort in knowing that not everybody is actually hating on this video, article or tweet.

This does not always come very naturally to me, we are usually more inclined to react when invaded by negativity, but I have often found that expressing a positive view of something reveals, through additional comments, that there exists a bunch of readers that were just waiting on a positive opinion so that they can just approve. It can completely change the vibe of a conversation, and that is a good reason to do it.

But I also do it because I do like to receive positive feedback and so, I can only imagine that sending some heartfelt one can only brighten someone else’s day.

P.S. : Maybe file this article under #platitudes?

Just a proof that I managed to stand on a surf board :-)

Yearly reminder that python -m SimpleHTTPServer will launch an HTTP server in your current directory and there is probably no faster way to do your little html/js/css tests (if they don’t fit directly into the console).

Book Review: High Output Management by Andy Grove

I have seen this book recommended for years by Silicon Valley moguls. Andy Grove wrote this book as he was the CEO of Intel at the most successful time of the company.

The book is holding a lot of substance, even if I disliked some of the lack of humanism.

Especially two points:

  • that you should motivate your workforce by making them compete amongst each other (there is such an example where they give a score to cleaning teams, so that they start trying to beat each others’ score). This feels manipulative.
  • some point about the fact that being nice is not the goal, that efficiency is the only goal. I am inclined not to believe that and feel that a company having such values is doomed to be a sad place (and ultimately, not very efficient). I hope that I am not wearing too rosy glasses.

Other than that, I found many other points interesting:

  • that there is this idea that you promote incompetent people up to the first level where they are incompetent, and that it is a bad practice. Andy Grove makes the point that there is no way out of this. If you are promoting incompetent people instead, you are just sending a bad message to the organisation.
  • There is an interesting section about interviewing. It says that it should be relatively free form, but also that there is no magic trick. It is a hard process and mistakes happen there. The conversation should not be adversarial, but open. This part is hard to summarise because there are too much good ideas, actually. Read it.
  • Manager should be the teachers of their organisation: they have two levers for managing, motivating people and teaching them. The second lever is insufficiently used.
  • Meetings are not evil, they are one of the tools to transfer information. Obviously, that does not mean that too much meetings are not bad or that meetings should not be well organised.
  • That dual reporting is the normal way in larger organisations: there should be at least a layer of the organisation that reports both to mission oriented people (the salesforce, for example) and to tech oriented people (to share information and resources amongst pairs). Anything that does only one of these reporting will be either inefficient (think a sales team hiring its tech team alone) or too detached from reality (think a tech team barely speaking to a sales team. This is often called working in silos).

All in all, a good, interesting read. I felt sometimes that it could have been shorter, but the information ratio is still quite good in my opinion.

There is such thing as too much knowledge.

When you already know four js frontend frameworks (and two are still somewhat up to date).
When you know Django but not Ruby on Rails.
When you know Java but not .net.
Basically, when you know one way that works well but not yet the other one.

There is not much point in learning the other way.

You should rather try to learn something else, that will help you achieve more, not achieve the same things in a different fashion.

IT Life

School Mistrust

School parent online groups that I have seen can be filled with a lot of aggressivity towards teachers. I find it sad, and makes a point of asking questions like: “Did you talk with the teacher?” It is often not the case.

What I find sad is the tone of defiance often seen there. Lots of parents are distrustful of the school they put their kids in, while I doubt that you can choose education as a career out of anything but good intentions. It can not be for the money, that is for sure in Belgium.

Sure there exists bad teachers, but my opinion is that there also exist a lot of badly managed relationships from parents to teachers. That pushes me to try to be as encourageing as possible to teachers, so that they do not hear only about the complaints.

Finally, as a more general point, I also noted that if you voice a positive opinion in an online group, you usually open the door to other people who were not daring to go against the bad mood. There is often a silent satisfied group, and showing that it exists is important.

Google Speed Test

Ookla’s speedtest.net has been the go-to tool to test your network speed for years. They make money by showing you ads next to your speed test.

Google just completely copied their (admittedly simple) product, and put their tool on top of the the search results when you search for speedtest , which makes it appear just above Ookla.

I can not get over the feeling that this is wrong. Google being both a search engine and a tool/content provider leads to this kind of situation where they can cripple existing businesses, and prevent newcomers to compete.

Video game music = work music

Video game music is the best music to work for me. It’s usually just made to accompany the action, which is exactly what I need. Indie games also have the best electro tunes.

So, favorite soundtracks:

  • Celeste
  • Katana Zero
  • Dead Cells
  • Hotline Miami
  • Sword and Sorcery
  • Nuclear Throne
  • Furi
  • Journey
  • Risk of Rain
  • Duet (That one)

All these games are pretty cool to play too :-) Here is a sample playlist: open.spotify.com/playlist/…

My New Ride: an Ahooga Modular Electric Bike

Took some time to arrive, but I definitely love it, especially because I can carry any of my kids (including my 12 years old daughters) on the back rack. This avoids a lot of use of our car, for example for trips to the various activities: swimming pool, circus lesson, Taekwondo, …

see it here

Swedish fjord

Maluku - DRC

I as there for a mission for Bluesquare in the context of the project about Sleeping Sickness that we are doing. More information in this Guardian article

The Frozen Crow’s Lake

Near La Bresse, Les Voges, France. Love that place.

Climate Strike 2018

No, but seriously. #claimtheclimate #climatechange #bruxelles #brussels #brussel

Lexicolor Memorabilia

I made an iPad game. I then made it work on iPhone too. It took me 5 years to finish. I liked it. People who played said they liked it, but it only reached a tiny audience even if I did some paid advertising and used all the traffic of populationpyramid.net to promote it.

Now, it’s not on the App Store anymore, because it did not make sense to pay an Apple account for less than 10 downloads/year and the notch of the new iPhones felt like too much pain to handle for a symmetrical gameplay like this. 🤷🏻‍♂️

The Stress of Remote Working

In software engineering, remote working makes a lot of sense since, most of the time, you only need a computer and an internet connection to perform your duties. So there are less reasons to force people to sit in a predefined office everyday. Consequently, it has become an important feature of a lot of IT jobs, even in Belgium, while it is definitely not the most forward looking job market. That said, most of the time, the remote working offer only apply to a part of the week (1 or 2 days a week seems to be the most frequent proposition here). Nevertheless, it definitely is getting a hold in most companies.

There is a lot of good to say about remote working, and I see a lot of rabid defence of the practice. I agree with most of it. That said, I have been working remotely for a little more than 5 years now, and I now must acknowledge that it does not come without stress. This might come as a surprise for some, but in the end, I think that remote working has taken some toll on me over the last two years, especially when I went almost fully remote for a year, from June 2016 to June 2017.

So, what can make remote working stressful?

Dehumanisation

If you are working remotely, communication tends to stick to structured channels: the chats, the daily standup, maybe a few global meeting (retrospective, company status) every other week, Jira for the tasks and bug reports and lots and lots of emails. This works well to accomplish structured tasks, but you might definitely feel disconnected from the company sometimes. The fact that most of this communication happens in written form, or in front of groups makes them unsuitable for small talk or more informal information. This can hamper your work, as just chatting about the atmosphere at work can deliver very important information about the smooth progress of projects, but most importantly, it can prevent you to feel as part of a community.

Also, written exchanges are more prone to misinterpretation, even with people you know very well. Not to mention that, if you already spend your day typing on a keyboard to accomplish your technical programming tasks, it might become annoying to have your communication done in written form too: you might end up feeling like a text processing machine.

So, after some time working remotely, it happened multiple times to me to miss the coffee chats, previously felt as unproductive wastes of time. I felt detached from the team, especially when the teams I worked with were made of multiple people working in the same office/place, and seeming to have fun.

Interruptions and multitasking

When working remotely as a developer, the chat (usually Slack or Hipchat) quickly becomes your lifeline to the company: that is the way most people will try to contact you. And to me, being responsive on the chat accomplishes the same as being on time at work in an office: it gives an image of reliability. It also implies that if you do not really want to give the impression that you are taking a lot of breaks, you might find yourself checking your notifications a lot while taking lunch for example, while if people had seen you working the whole morning, or if you were just talking with colleagues at that point, you would not feel the need to be so responsive. I actually often realized that other colleagues working remotely were criticized because they were not answering very quickly on the chat.

A part of the problem is that on a chat, people do not see you physically, so they cannot really estimate if you are at a good moment to be interrupted. So, you are interrupted a lot, and if you are a bit like me, you feel forced to answer quickly. So, you interrupt your work a lot. And in case you do not know it: interruptions are loathed by programmers, since it is really bad for their productivity as it breaks their focus.

Interruption Comic

The other problem with this remote chat setup is that people do not know if you are already speaking with somebody else. I cannot count the number of times where I have been juggling three different conversations at the same time, which, to me, can become stressful, especially when I do have tasks to finish by the end of the day.

Also, I must mention that there are also often “leisure” chats, created to host non-work stuff (usually, a lot of memes) that can become very, very chatty. At least, I feel that it is really sane to mute these chats most of the time, but when you come back, catching on everything that was said can be a daunting task, while it might be your only opportunity to have some “office spirit” that you are missing by being a remote worker.

Overworking

There are two types of obligations you get when you are taking a job:

Obligations of results, where you commit to give a certain result by a given date. Typically, for a developer, accomplishing a sprint with a given set of bugs/features to develop.

Obligations of means, where you mainly commit to spend some of your time everyday on your work, and you just give the results you managed to produce over that time.

I am not naive, and I know that in the end, in software engineering, most jobs are really about results (you will get fired in the end if you produce nothing), and not means, but in remote working, since people are not seeing you work, you might feel more obliged to show results everyday, even if it forces you to work way past 8 hours a day. As an example, I cannot count the number of times where a configuration problem or a customer call took me a few hours of my day, but I still felt forced to finish the task I committed to do on that day, so that nobody could assume that I was slacking off instead of working. I feel that if people had seen me in front of my computer all day, I would have felt more relaxed about deciding to finish the task the next days.

This leads to two things for me: being really appreciated for the reliability of my output, and … being seriously overworked. According to Jason Fried from Basecamp, this is the true challenge of managing remote workers: people who work too hard.

In the end, this all amounts for me to the question of trust: your employer trusted you a lot, allowing you to work on your own terms , and in exchange, I have always felt compelled to actually work a lot more than if I was in an office.

Being a stay at home dad

When you spend a good part of your time at home, your family sees you as more available than they should. Even if you have places dedicated to work that should be forbidden to your kids, it is still tempting to come ask you “just a little something”. Especially for kids, it is hard to compartimentalize their home. Actually, it is hard for me too …

This can make video calls a bit stressing, when you are talking with a customer for example, and your kids end up just appearing behind you on video. Here is the most well known example of this:

I also know some people have problems resisting the need to perform home duties, like cleaning the kitchen, for example. This has never been too much an issue for me, but on the other hand, this created tension with my wife from time to time, since it was difficult for her to understand how I could have left a dirty dish the whole day on the dining room table while I was actually at home. Answer: I was working and avoiding interruptions…

Loneliness.

Working at home can mean a lot of loneliness. I do enjoy being alone quite a lot, but even for me, after two weeks of only seeing colleagues through my screen, and then my family at night, I end up feeling quite sad. I miss feeling integrated in a community of pairs.

Social networks might help you fight that loneliness a little, but on the other hand, pausing only with social networks is not different enough physically from working on your computer. Moreover, it is also well known that spending more time on social networks rather tends to make you less happy than the opposite.

In the end, I really started to hate being alone most of the time and have felt it to be quite bad for my mental health and my mood. This is a well documented phenomenon.

One of the most recommended way to fight this is to work in coworking spaces. To me, they are a mixed bag: they cost some good money (that your employer might agree to pay, or not), and often ask for commitment (you usually need to register for at least a month). They can create social link (and for me, they created a lot of work opportunity, especially the Betacowork), but at the risk of feeling a bit too much like a vacation camp, with activities everyday (cooking, massages, meet ups, …), to force people to socialise.

Notice that I have been to coworking spaces where there was no socialisation, and gave up rather quickly, since it seemed rather pointless to go somewhere to avoid loneliness, and then not talk to anybody all day. So, I am ambiguous on the subject of forced socialisation.

Another problem with coworking spaces is that you might introduce long commute times in your life again, then work with headphones all day to avoid being distracted, barely taking a break because you lost time commuting, and feeling awkward for not having spoken with anybody while being there for the community. Not to mention that video calls are more difficult to do in these settings, since you usually lack a place to be alone, there is always a bit of noise, and people might be annoyed by your call. Moreover, sometimes, there are things that you do not want to say in front of strangers…

Stress to decide where you work everyday.

This might be just me, but not knowing where I will be working everyday, and having to think about which hardware I need to take with me (example: keyboards, DVI adapters, chargers) has led to a lot of problems, by removing the predictability of being all the time in the same office.

Also, notice that I think that working in coffee shops is a bad idea, at least for full days. There is usually too much noise, and I do not like feeling obligated to take something to eat/drink every hour (your mileage may vary), and the chairs are bad for your back…

You never leave “work”.

When you work remotely, you do not leave your working place at night. On top of that, if you work with people in different timezones, you might end up communicating a lot with people while your day is already over (I did that for months when working with people based in New York or SF). It often makes a lot of sense, since otherwise, you might have too few time to communicate with your team, and this can really hamper the progress of a project, but it means that there is no time in the day free of working concerns, which again, is bad for your mental health over the long run.

Also, working at home does not leave you time to cool off while coming back home from work. For me, the ideal duration of a commute is 15 to 20 minutes. That leaves you some time to walk, and so, do at least a bit of physical exercise, and to change your thoughts a little bit. There were a lot of evenings where I ended up going from a video meeting to a family dinner in 30 seconds, and I must says that it is not always easy to give a good attention to my kids in such occasions.

Career risk

Working remotely makes you less visible in your company. If you intend to have more responsibility in your job over time, this can end up being a problem. I worked for example for a company where I felt that people “in the office” were preferred for promotions. So, you have to consider that too when working remotely.

On a more humorous note, you have to consider than working in your sweat pants for years, unshaved and without too much time constraints might make you unfit to go back to work in an office. You might suffer from some degradation of your social skills:

Oatmeal comics on remote workers

See the whole comic about working at home here: http://theoatmeal.com/comics/working_home

Conclusion

Globally, I have enjoyed working remotely over the last few years, and it has been a boon to my family and my wife while my kids were small. I do think it made possible for my wife and me to pursue our careers without too much hassle, as I was more available to take care of the kids when they were sick, which happens a lot in the infancy years. This flexibility came to me at the price of catching up on work in the evenings and weekends, but it was still very much appreciated.

Remote working also allowed me to join teams of great quality that I would not have found in my local job market and to work on ambitious projects. So, all in all, I am still a great fan.

On the other hand, after more than 5 years of remote working, I have to say that it really took a toll on my mental comfort sometimes, and that had some unwanted impact on my family relationships, mainly irritability on my side. Before you experience it, it might seem as the perfect solution for your life, but as I tried to explain, there are a lots of unforeseen ways in which it can create stress.

To summarize, the main problem for me is to feel like a text processing machine, receiving mails, Jira tickets and chat messages as input and writing code as output, without the human interactions needed to make it more meaningful. I do not like becoming a kind of a remote developer black box.

The Remote Worker as a Machine

Istanbul

#BXLdemandscleanair

Trams

I like taking pictures of tramways 🚋. ¯_(ツ)_/¯ #bruxelles #tramway #visitbrussels #brussels #brussel #ixelles

And now, you stop with the dad jokes!

Absolutely Essential Reading

You will very rarely hear me say that something is a “must-read”, because I hate the phrase, but this is it.

Trams

A test of the waterlogue app. Lovely.

Follow @madewulf.