This is the second post in our new content series, Humans of Lokalise. We’re building a culture at Lokalise where amazing people (like you) can do their best work. Stay tuned to get to know our team, one person at a time.
At Lokalise, you don’t need to persuade management that the right thing needs to be done — you just prioritize and work on it. And then it gets recognized.
Ivan Pesin, Platform Team Lead
What do you do at Lokalise?
I lead Lokalise’s Platform Team. We’re responsible for all things related to our infrastructure including designing, automating, and operating production systems that run Lokalise. This is as well as testing and staging environments, the CI/CD pipeline, code deployment, monitoring and alerting, high availability, and disaster recovery.
Such a broad spectrum of tasks makes our work exciting and stimulating. After all, one of the reasons why many engineers enjoy working in startups is that they aren’t confined to one technology or area; instead, they have the freedom to do the right things and to do the things right.
I like to think of my role as having three distinct facets—the internal, external, and general.
The internal facet is what I do as a member of the platform team. There I work hard to make sure everyone understands our shared goals and how the work we do brings us closer to these goals. I try my best to maintain the team’s focus on important objectives and remove any obstacles that might hold engineers back. I also contribute to and peer review our code and participate in operational activities like incident response and planned maintenance.
The external facet is how I represent the Platform Team to other units inside the company. This includes working with leadership on objectives and reporting, aligning with other engineering teams on changes that require collaboration, and coordinating the changes necessary for Lokalise’s reliability and scalability.
Finally, the general facet is my contribution to various areas not directly related to the Platform Team. For example, improving company-wide processes, introducing certain organizational best practices, evaluating or helping with global design decisions, and so on.
The amount of work can seem daunting at first, but it provides ample opportunities to do what you really like and want. For me, it’s building a scalable structure that can withstand growing demands by engineering elegant and reliable solutions.
Can you tell us a bit about the technology stack you deal with?
The application is written mostly in PHP with some components in Node.js. The frontend is built with the React framework. All components are dockerized and run under docker/compose. On the storage side, we use MySQL as the primary database, ElasticSearch as a search engine, Redis for sessions and all sorts of caching, and MongoDB for certain types of data. We also use S3 for web assets and auto-generated documents.
The main application CI/CD pipeline is built on Jenkins, but for many auxiliary projects, for example, our Terraform code, we use GitHub Actions. And of course, we use Terraform and Terragrant to manage our AWS-based infrastructure.
On the monitoring side, we use the standard Prometheus/Grafana/Alertmanager stack which runs in EKS, integrated with Atlassian Opsgenie for alert escalation. We run a few other services in EKS, such as Graylog, HashiCorp Vault, and GitHub workers.
Tell us about your journey at Lokalise.
It’s still early days for me with Lokalise as I joined just over half a year ago. I spent the past decade working as a contractor for large firms. Although this kind of work has many benefits, I got tired of the limited and temporary nature of my involvement with each employer.
I was looking for a remote full-time job, and a friend of mine told me that he’d been contacted by a recruiter working for Lokalise. I looked up the company and got interested; I used to translate technical articles, how-tos, and documentation into Russian—and was a contributor to the Russian localization of Foswiki, a powerful open-source wiki engine. Naturally, Lokalise being a cutting-edge TMS (translation management system), impressed me. Its robust translation management features would have made my previous translation work much more efficient. I couldn’t help but think how much easier it would’ve been for me to work on translations and localization back then if I had Lokalise at my disposal with all its modern features. So, I decided to try to get on board—and here I am!
How would you describe working here?
I find it interesting and rewarding. There’s a lot to do and a great deal of freedom in choosing your projects. You don’t need to persuade management that the right thing needs to be done; you just prioritize and work on it. And then it gets recognized.
What is your favorite thing about Lokalise?
A friendly and relaxed company environment.
What advice would you give to someone starting in a remote-first company?
This is a hot topic these days, isn’t it? I’ve worked remotely for about 10 years now—here’s the top three things I’ve learned about being productive and still having a life while working remotely.
First, focus. For this, you must do two things. Weed out all non-critical notifications on your phone and computer—they are class-A productivity killers. Work with your manager to create a work plan for yourself. It should detail 2-3 weeks and set the direction for the next 2-3 months. You’ll be amazed how much you can get done.
Second, disengage. It’s too easy to work around the clock in a global company when you work remotely; this is a sure path to burning out and trust me you want to avoid it. My approach is, again, two-fold. I work mostly regular hours as if I were in the office. This means a clear beginning and end to the working day—I usually start at 9 am and finish around 6:30 pm. I also keep separate work and personal devices. This keeps my personal life out of my work while work stays out of my personal life.
Third, communicate. We all tend to underestimate how hard remote communication is. Over 70% of all communication is non-verbal, and the remaining 30% includes tone and emphasis, all of which is lost in text-based communications. Thus, actively share status updates with the team, comment on each other’s questions to communicate your opinions or reservations, share your screen on calls and show what you’re working on, including the tools you’re using. Favor voice and video calls over text messages for involved topics. These efforts will dramatically cut work wasted due to miscommunication.
What is the most recent cool thing you’ve learned?
I’m a big fan of the command line. I recently had to collect some usage statistics that involved calculating average, median, and quartiles. Previously, I’d do this with some awk code, but this time instead of typing in something like this:
$ sort -nk3 stats.txt | \ awk '{a[++i]=$3}END{if(NR%2==0)m=(a[NR/2]+a[NR/2+1])/2; else m=a[(int(NR)+1)/2]; print m;}'
I thought, hey, let me check if there’s something better for this job. And suddenly, I found datamash — a command-line program that performs simple calculations (e.g., count, sum, min, max, mean, stdev, string coalescing) on input files. With it, the above command can be written as simply as:
$ <stats.txt datamash median 3
Turns out this tool can do much more—grouping, transposing, and even producing pivot tables! I don’t need Excel anymore! And datamash is available in default package repositories, so basically everywhere. How cool is this?
–
Wish you were here? Join Ivan to electrify your career in engineering or take a look at all our open roles. We think you’ll love it here!