Tech Life at RELEX: Frontend

Sep 5, 2019 4 min

In this blog series, RELEXians from various tech teams share their daily life. We wanted to know, for example, what their work consists of, what technologies they use, and how they would describe their teams. Next up is Vlad from our Frontend team!

How did you end up working at RELEX?

I knew a friend who got a job at RELEX several years ago, who then invited another friend of mine, and that friend invited me. 😊

How does your typical day at work look like?

The typical workday starts with a checkup (stand-up) where we assign reviewers for finished tickets, tell what each of us has been doing and tell cool stories. After the checkup, I’m free to work on the tickets of my choosing. The end goal of our team’s work is to make the best possible frontend for our product. This includes writing React components, refactoring old code, squashing bugs, and petting dogs, among other things.

What kind of technologies do you work with?

In general, our team uses React and Redux as the core of our UI, D3 for the chart functionality and RxJs as the server communication backbone, to name a few of the most important ones. Cypress is used for end to end tests, and Gitlab is our CI tool of choice. Personally, I also do some internal tools management, so I utilize Docker, Ansible, and Terraform occasionally to deploy a helper bot, for example.

How would you describe your team and colleagues?

I think everyone knows what a frontend team does in general, however here are some thoughts on the process of how we do it.

During this year, we decided to focus a lot on refactoring. This makes new (and existing!) members of our team quite excited, as not that many companies willingly spend time doing it. There is a common saying “Features bring value, refactoring does not” – which may be valid up to some point, especially for companies in the stage of rapid growth. But when big companies still adhere to it, and product managers do not prioritize refactoring as a worthwhile investment – things may become bad quickly. Adding features on top of an old base can cause “spaghetti” code that makes adding new features even more complicated, and it becomes a negative feedback loop.

Thankfully we noticed major things we can improve, brought them up to our product owner, and decided to focus on refactoring. One such major thing is deprecating an old UI framework which dates to 2011, in favor of much more modern React with popular supplicative libraries such as Redux. All in all, we have very open discussions regarding the code quality and possible improvements. If you think that you can improve something, you can bring it up and suggest the change. In case it is not entirely obvious, you might be asked to provide arguments for it, like a proof of concept implementation, but once the team agrees with you, it is off to the races.

On the note of pacing – we don’t really have strict deadlines as such. We do target tickets to specific release windows, however, if something is not ready, it can be pushed back. It is much better to release a well-polished feature later than to patch it multiple times in production.

But all this doesn’t mean that you must spend all your time refactoring. When you are tired of it, you can pick any ticket that you want and work on it at your own pace. It’s important that the work is fun and enjoyable.

What have you learned at RELEX?

I learned (and enjoyed doing it) the tech like Docker, Ansible and Gitlab CI, which I didn’t expect when I joined as a frontend developer. It happened quite spontaneously; I noticed the team’s struggle with the existing solution of temporary environment that was very unreliable, and so I suggested to look into it, and after a week of learning and investigation I had a proof of concept that was already working much better than our previous solution. Nowadays I expanded it to allow more functionality like end-to-end tests and more, which jokingly granted me the rank of “DevOps guy” in our team. 😊

To whom would you recommend working at RELEX?

To anyone who has a good sense of humor to survive the bad food that the cafeteria downstairs serves. 😃

Written by

Vlad Sharapov, Senior Software Developer

Vlad joined RELEX in the beginning of 2018 as a frontend developer. He likes all kinds of IT related stuff, from programming and networking to 3D modelling. In the spare time he likes tinkering with hardware, building mechanical keyboards, writing software and playing games.