The path from Poland to Porto.

The story of Marta Gajowczyk, front-end engineer at Vizzuality.

Camellia Williams
Vizzuality Blog
11 min readJan 16, 2019

--

The following article is a translation of an interview that originally appeared in Polish on justgeek.it. Some edits have been made for clarity and to account for colloquial expressions that don’t translate from Polish into English! Thank you to justgeek.it for letting us re-publish it.

Marta has spent the last six months working on the Climate Watch platforms, which provide information on how countries are implementing the provisions of the Paris Agreement on climate change. In December 2018, one of these platforms, The South Africa Biennial Update Report Explorer, was presented at the UN climate summit in Katowice, Poland. From the following conversation you will learn what Marta’s path to becoming a front-end developer and finding a job in Portugal looked like.

Marta joined Vizzuality in 2018.

Before we get to how you went from Wroclaw to Porto, let’s talk about how you became interested in the front-end.

During my university studies, front-end didn’t exist for me — we had no classes on it whatsoever. We had classes in Java, C ++, and Ocaml, but the frontend was practically absent. Any presentation of data or interaction with the user was done using the System.out.println method (I cannot believe I still remember it!). The first GUI we did in college was Java + AWT API, which seemed completely unattractive to me. For the first 18 months of my IT studies, I couldn’t find a place for myself, but in the fourth semester I became interested in the Ruby on Rails framework, which my friend told me about. He said, “in Ruby, everything is an object, even a number.” And I was thinking, “wow, even numbers are objects!” I started to learn more from the Head First series of books and from railscasts.com. It was an eureka moment for me — I fell in love with Ruby and the MVC pattern.

However, it soon turned out that to do something more complicated on the front-end, rails views are not enough. At that time I didn’t yet know the concept of the front-end framework, that came during my first internship when I encountered Angular 1.

Why front-end and not backend?

Now that’s an interesting story. I always liked front-end, but I felt more like a backend developer. Now I don’t know myself what I am! In any case, when I applied for my first serious job, (at the Monterail company), I applied for a front-end position because there were no open positions in the backend. At that point it didn’t really matter to me what my position was, I just wanted to work there.

I knew about Monterail from the Wrocław University of Technology, where they ran an information circle about web applications. Of course, I was attracted to them because of the Rails environment (at that time it was probably one of the few, or perhaps the only, company in Wrocław that was programming in Rails), and also the company’s culture. They accepted me and my official job title was “Frontend Developer” but after a few months, I also programmed the backend. Eventually I became a full-stack developer.

It makes me laugh that every time I apply for a front-end position, I end up on the backend; it also happened to me at my current company. For a few weeks I had to switch to backend because the front-end could not move without a backend and we lacked capacity at that time. The only experience I lack now is design, but funnily enough I’m thinking about studying design part time with Web Design this year!

You mentioned studying. Many complain about outdated programs at universities. How was it in the case of Wrocław University of Technology?

In my opinion, this is unfortunately true. There are exceptions of course; professors who try and modify the curriculum every year, edit slides and give more than others, but they are in the minority. Speaking bluntly, I did not get enough from my studies. There was a lack of practical knowledge and group projects. Laboratory hours were amazingly few at Wrocław’s Polytechnic. For comparison we had 1.5 hours every two weeks for one subject, while in France, where I spent a year on Erasmus, we had three to four hours a week.

It was also absurd to me that the lab sessions could not be collaborative. Independent work was promoted and you were slapped on the wrist if you discussed problems with your neighbour. And we all know that as soon as you enter the job market, group work is the foundation of a successful development team. You can have experience and knowledge, but if you cannot work as part of a team, then very few companies will want to hire you. The result is that companies have to teach us how to work in teams and remind us that it’s ok to ask questions.

I remember that at the very beginning of my first job, I had to learn how to admit my false judgements and mistakes, and learn that it’s ok to ask other people for help. I felt terribly stupid when I didn’t know something. And in a sense I blame the education system for that.

During your studies, you joined the ERASMUS program, during which you went to Paris for one year. Did the curriculum for programming differ there from that in Poland?

Yes! As I mentioned earlier, we had twice as many laboratories in Paris than we did at the Wrocław University of Technology. There was also a longer stay at the university. In Poland during my fourth semester I was able to reconcile studies, a part-time internship, and intensive study of French. But in Paris, classes usually lasted from 9–5, so there was no question of any employment. Group work was promoted during the class, and the teacher would walk around and help or explain the material when the need arose. Almost every subject had a semester project, which we also implemented in groups. It was a stressful year for me, mainly because of the overload of work and the foreign language with which I was just familiarising myself with, but I learned a lot at the time.

You did a five-month internship in Marseilles. How did you find out about it, and what was the recruitment process?

The internship was part of my study program, I had to do it to get five ECTS (transferable study credits) and pass the subject. Fortunately, I had a free choice on where to go. Once classes ended and I’d passed the exams in May, I had the choice of returning to Poland or completing an internship in France. (In France, the academic year begins earlier, at the end of August). Due to the fact that most of the friends I met during Erasmus returned to their home countries, I did not want to be alone in Paris, because it seemed depressing. So I started sending out CVs and cover letters all over France, with most of them going to Bordeaux and Marseille.

I got a call from Watchever in Marseille, and since a friend of mine had just moved there, it seemed like a good place to go. My first conversation with them was on skype, between me and the CTO. Mainly they talked about what they do and what my role in the internship would be. I learned that I would write a Slackbot, which would collect information from their bug tracker and send details to Slack. It would have to be a friendly, understandable interface on Slack. The technologies used would include NodeJS, PHP, Socket.io. It sounded interesting, so I agreed to a second conversation, which took place in Marseilles and it was in this second conversation that I signed the contract. The recruitment process was therefore relatively easy, and I don’t remember that I had to answer any technical questions. To be honest, I was surprised that they were accepting a student from Poland just like that, barely knowing anything about me!

What did you learn during the internship?

This internship was a breakthrough moment for me because I learned Javascript! But actually, that was just the tip of the iceberg. I remember that I used Promises, and for the first time I consciously used a javascript library; lodash. I tried to write in a functional way, using functions such as map, filter, reduce … I was crazy about code refactoring, and it was more or less at this time that I started to read about design and architectural patterns. I liked the fact that I could write with Node.js and come up with a folder structure that would make sense. I also wrote my first front-end tests during this internship. Above all, however, I learned how to plan a programming project, developed my own imagination code-wise; I started to reflect on what is the right place for certain files, how the backend communicates with the front-end (without the magic of Rails), what is suitable for the database and what belongs to simple static files.

How did you improve your skills?

I always thought that doing mindless tutorials on the internet would not teach you much. I preferred to come up with a real problem, something that concerned me and interested me, and I’d work on it. That’s how I studied; I invented small applications and wrote them. Along the way, I encountered a lot of difficulties that I had to solve, which I did by looking for answers on stackoverflow or github issues. I also read articles to understand the problem I had. You get a lot more out of it than completing the next course on Udemy or making another Todo application. Although, I will say that Todo has a lot of use cases, so beginners should write at least one.

Then you came back to Wroclaw. What did you learn during the year at Monterail?

I would like to say everything! But I hope I already knew something before I arrived there. At Monterail, I become a confident, responsible programmer. I worked with great, talented people to whom I owe my programming maturity. In Monterail, for the first time I encountered the code review practice, as well as peer review, i.e. regular feedback collected from all team members. I learned to work in scrum, kanban and kanban-scrum. At Monterail, I mainly worked in Ember and Rails technologies, but also in Vue and Node.js. In less than a year I became a tech lead and that’s when I learned the most. I had to learn the whole application from the inside out, from front-end solutions, through backend to deployment. I talked with the customer on a daily basis and together with the project manager we made a variety of decisions. I introduced new members to the project too. Yes, it certainly was a huge challenge, but thanks to that I left my comfort zone and learned a lot more than just programming.

Since July 2018 you’ve worked with a company based in Porto (Vizzuality). Tell us about the recruitment process.

The process was divided into three stages. The first conversation was a warm-up conversation, we talked about the company, about my background, what I was doing at Monterail, and what I would do in Vizzuality. So we got to know each other. The next stage was a frontend code challenge with a list of requirements. You had to use state management, css-in-js, grid and other solutions that I do not remember anymore. The next and last stage was a conversation about the solutions I’d used in the code challenge, technical questions and questions about my soft skills. For example, I was asked how I solve conflicts in the team, where I see myself in five years time and the like. I remember the whole recruitment process very well, but I have to admit that it took some time, probably a month and a half.

Were you offered a relocation package? What did it consist of?

Yes, I received a relocation package in the form of €500 for a period of six months.

Marta and her Porto teammates.

What do you do at Vizzuality?

Mainly I work on the front-end, but I also jump on the backend. At Vizzuality, we value Fullstacks! I really enjoy the type of work I do at Vizzuality; for the first time I work directly with data visualization, usually in the form of maps and various types of charts. For the last six months I have been working on the Climate Watch platforms, which aim to show how countries implement the provisions of the Paris Agreement on climate change, as well as the expected greenhouse gas emissions in the coming years. In December 2018 one of the platforms The South Africa Biennial Update Report Explorer, was presented at the UN climate summit in Katowice, Poland! It’s really satisfying to know the application you are working on has real impact and is used in real life.

In your current company, were you immediately thrown into the deep end?

Hmm, I think so. I did not start with fixing bugs, but immediately started creating the so-called showcase of reusable components for Climate Watch platforms, When I joined, there was only one global platform (climatewatchdata.org), now there are four, including South Africa, Indonesia and India. In these platforms many components are repeated, so we had to figure out how to use the already written components from the global platform, avoiding the method of copy-paste and allowing their modification / extending from the outside. This was my first task.

What is the general attitude towards life from young Portuguese people? Do you see a rat race, or cooperation, or commitment?

Rat race? I don’t know what it’s like in the capital, but there’s certainly no rat race in Porto. The Portuguese are very hardworking, but at the same time relaxed. They enjoy life and the little things. They are not always busy, and they can stop and think for a moment. You have a problem? Let’s go out for coffee and tell me about it. It seems to me that the place you live in has a huge impact on people; there’s a reason why it is said that people from the south are more open and warmer. And where a person generally feels better, there is more pleasure in working, you feel more productive.

Can you say what remuneration a person with your experience can expect? So that others might know how much they could earn if they decide to leave Poland.

Contrary to what people think, earnings in Portugal are similar to those in Poland, but it must be remembered that the costs of living are slightly higher, by about 10–20%. As far as I know, a person with a similar 2–3 years experience, as I have, can expect on average a gross pay of up to €35,000 per year.

How do you judge your decision to leave Poland in retrospect?

I have always been motivated to go abroad! I like to get to know new places from the kitchen, it’s something other than traveling. I prefer to move somewhere, soak up the culture of the place, get to know the local community and language. In Portugal, I feel at home. Both privately and professionally, it was a great decision to move.

Want to join Vizzuality in Porto or Madrid? We’re looking for a software developer to join our team.

We’re looking for someone to work alongside a world class and super talented team of engineers, designers, and scientists. Someone who is passionate about using their creativity and technical skills to improve people’s lives, protect the environment, and help make the world a better place.

--

--

Camellia Williams
Vizzuality Blog

Former Lead Writer at Vizzuality, for whom I wrote many of my blogs. You can now find me on LinkedIn.