X-Team Blog - The Most-Loved Company for Engineers

Rafał Wilinski On Surfing the Tides of Moods

Written by X-Team | Jan 24, 2019 5:00:00 AM

Say hello to Node.js and AWS software engineer Rafał Wilinski. Rafał has been working for X-Team just short of eighteen months. He's a software developer and a musician, and has a refreshing take on productivity that helps him find a balance between hard work, art, and health. Learn more about it in the interview below.

What made you walk the developer path? When did it start, and what was the motivation? Is there a story behind that decision?

So, actually, before I got interested in web development, I had been an indie mobile games development. I released my first Android game when I was 17 years old. Back then, the market wasn't as saturated as it is today, and somehow I managed to make my game quite popular. In 2+ years, it was downloaded over 2 million times.

After that, I released another game. But that one wasn’t so successful, and the process of creating it wasn’t so rewarding. Making games was also perceived as childish by my colleagues. And for me, it was just not as rewarding or serious as REAL programming, so I decided to switch to a REAL programming language like JS 😄.

Two million times! That’s a huge accomplishment. What was the first game about and what was your biggest challenge with it? For example, programming itself or perhaps designing the mechanics behind it?

My first game was called Voxel Rush. It was a very minimal, fast-paced arcade game. The rules were quite simple. You’re rushing through an endless space, and your goal is to reach the furthest distance in as extreme a style as possible, without crashing into obstacles.

The biggest challenge? It was my first serious programming project, so I had a lot of big challenges. My knowledge of programming was very limited, so I ended up reinventing the wheel numerous times. I wrote my own JSON parser, which worked only if the response from the backend was exactly 20 characters long 😅. Later on, the biggest serious challenge was to implement a real-time multiplayer mode. It took me more than two weeks to implement that, but it was a really rewarding experience.

Game development involves a lot more than just programming. The code is executed in a 3D space on many actors/entities at the same time, which can cause a lot of bugs. I remember one uncatchable bug. Basically, very rarely, collision with a particular type of object didn’t work. I spent three days debugging the code, but the bug ended up being in “collision mesh”, not in the code. Moreover, making games involves a lot of math. Web dev, not so much.

Let's change the subject a little. You once told me that you are a piano player. Would you say that learning how to read (or perhaps even write) music, which is some sort of code in itself, has helped you learn how to program? Do you find music, poetry in the code you write nowadays?

I can’t say that it helped me directly, but I’m almost certain that it's helped me on a subconscious level. Reading piano notes and playing them is connected with math and math is connected with programming, so it’s an indirect relationship. I wouldn’t directly tie notes to code.

I understand. And, apart from music, what other passions do you have?

I bought a piano last year. I thought about plugging it into my computer and trying to mix things I play. It didn't go as I expected, but, as a side result, and totally out of the blue, I got interested in making electronic/techno music - the genre I now like the most. But I haven’t produced any serious tracks yet. I have numerous drafts and unfinished compositions, but none of them truly appeal to me. I know that done is better perfect but I simply cannot apply this principle to art. This being said, the ability to create some basic loops gives me a lot of joy.

Apart from this new hobby, I’m a big fan of any kind of physical activity. For me, it’s really important to develop the body and the mind at the same pace. As a programmer, I spend a lot of time just sitting in front of my monitor and thinking, so it’s really important for me to do a proper workout afterward.

Among all the activities, calisthenics - working out only with your body weight - and cycling are the activities I like most. It doesn't only keep me healthy physically, but also helps sort out all my thoughts.

That’s cool! Make sure to share your first techno piece once it’s ready! It seems to me your life is very well balanced, full of discipline and activities that keep your well-being in check. What advice would you give people who are still looking for such a rhythm?

Frankly, I’m still far from achieving such a state. My routine right now is rather imperfect and arrhythmic. I don’t follow a strict schedule. I don’t wake up at 6 AM to do a run or work on my side-project. I’ve tried that, and that didn’t work for me. My life and schedule are rather flow-based.

It's essential to listen to your own body, your mind, and try to adapt and surf on those “tides of moods”.  If you feel like it’s not the best day to work out because you just feel weak, then don’t do it. If you feel like “today is the day, I’m going to deliver 20 sprint points”, then go ahead. It works pretty well for me.

I think such a “lifestyle” requires a lot of confidence in yourself - despite the lack of a strict schedule, you still have to be able to deliver projects on time. So you need to trust yourself, your skills, and your judgment.

You may ask me, how do I get such self-confidence? My solution was to put myself into a sh*tstorm of tasks and responsibilities: Sleeping 5 hours a day, working full-time while studying full-time, all while developing my own projects and trying to keep my social and physical life on a satisfactory level.

If you can keep up living at this pace and experiencing life in such a way, you gradually start to filter out the unnecessary things. You figure out what matters, find proper values.

This being said, sometimes it’s hard to follow this flow-based kind of working in the IT world, where there are lots of deadlines and time limitations. So I’ve tried experimenting with other methodologies.

My most important discovery is that having a to-do-list driven life totally devastates my mental health, as the amount of uncompleted tasks correlates with how dissatisfied I am with myself. Waking up with 4 undone tasks from yesterday, as well as 22 tasks left to do today, that's a terrible feeling. Right now I’m back using the flow technique, with some small adjustments that make my output more predictable.

So, as you can see, my way of achieving balance is a process more than anything else. I’m still at the beginning of my path, so I’m open to other suggestions as well.

That's a great take on productivity that I'm sure will resonate with a lot of people. Let’s add a cherry on top: what dent do you want to make in the universe?

That's a hard question for anyone to answer. Right now, all I can say is: I don’t know. I don’t have a specific idea how I could leave a legacy, a mark that influences people in such a way it makes a difference in their lives.

My notion is that the answer will come at the right time. I'll try to be the best I can be at my chosen profession, by creating new things, by experiencing more things, by meeting more people and by living every day with passion and intensity.

Which is an answer in itself. Thank you so much for your time and I wish you all the best of luck in your future endeavors!