Marcelo Tokarnia

I like to bring people together by creating a safe space where people can share, teach and learn. A team is much more than a bunch of people. Understanding and caring is the key to cooperation. And talking about sharing, I would like to shamelessly plug the content of my latest typescript workshop.

It's no secret that I do prefer to work on the backend, but I understand very well the complexities of the Javascript code on the frontend as well. I previously worked with all the main frontend technologies available today.

Well, I have to admit my weakness is styling and design. Please don't ask me to create a responsive website from scratch with no Figma / Invision designs to base myself on. My experience tells that the result will not be pretty.

Oh, but this page looks nice, doesn't it ? Yeah, I based myself on this template. I'm not gonna lie.


Experience

Senior Software Engineer

Working on a small team of highly capable people with very well defined tasks. Which is a must for a company as big as Klarna.

I work on a post purchase experience team, responsible for providing users the right payment methods for settling their debts, but also alternatives to extend their due dates or pay in installments.

I work on a big monorepo, which deploys more than 200 services in the AWS environment communicating with the Klarna App and other Klarna products (and external consumers).

My team is responsible for around 10 of those services. I have, among other responsibilities, the task to take care of our architecture:

  • Creating new services when fit instead of squeezing functionalities in existing ones.
  • Maintaining how each service communicate with others in a safe and efficient way.
  • Managing credentials from different stakeholders to access different number of our services with different access rights.
  • Concerning about code quality across services
  • publishing node packages to avoid duplications
  • consuming information from other services to propagate configurable behaviour in a centralised place.

We mainly work with Node and React, both Powered by Typescript and other cool tools such as Graphql and a lot of ramda.

December 2018 - Present

Senior Web Developer

In charge of the extensions MarketPlace, a place to buy or sell extensions to VTEX clients to boost their e-commerce.

In constant contact with merchants developers to provide them useful tools to be productive while building "plugins" for their e-commerce using Node / Graphql and React seamlessly integrated with VTEX ecommerce APIs in an optimized / scalable and secure way.

Promoting Hackathons and holding presentations to merchants developers in order to get them motivated to build components using our system, making their ecommerce highly customisable, and by doing so, if possible extrapolate their components to being generic to the point where they could sell it in the extension Store to other Merchants and boosting the ecosystem potential as a whole.

It was a really nice opportunity to sharpen my functional programming skills, heavily using ramda FOR EVERYTHING. It was also my first experience with graphql on large production services. I learned a lot about graphql servers such as apollo, using it's packages both on the frontend and backend.

September 2017 - October 2018

Freelancing Senior Software Engineer

I was the sole responsible of providing a web interface for data scientists and clients communicate.

This communication used to be done via email and other informal / non-traceable means of communication.

With the web interface as soon as the client posted new inputs, new S2 machines would be initialised on our AWS environment to process those inputs, save the results on S3 (huge files of some GBs) and post messages on SQS to warn our interface those results were ready to be downloaded via streaming on the web platform.

I had a lot of fun developing an open connection on the backend towards S3 to stream those files to our server while simultaneously generating a zip file stream to the end user, aggregating multiple huge files on a single download (or pieces) with "no" latency, using boto / django.

January 2017 - August 2017

Education

Bachelor in Computer Engineering

ITA - Instituto Tecnológico de Aeronáutica
São Paulo - Brazil
January 2009 - December 2013

Skills

Programming Languages & Tools
I'm strong at
  • Refactoring, optimizing for maintainability and performance, daring to take that extra step in changing the whole architecture if needed and making good code great.
  • Typescript optimizations, preventing future bugs with strong typing
  • Documentation, it's good if your team can understand your code, but it's awesome if anyone else also can.
  • Knowledge sharing, preventing knowledge silos by holding and motivating presentations, write ups, documentation or pair programming.

Interests

When wearing my web developer hat I am very much interested in architectural problems. How to structure the moving parts in the best way possible to deliver results, be maintainable, be efficient and robust.

I enjoy diving deep in the technology I'm involved in to understand on detail how everything works. Sometimes that's not at all feasible due to pressing deadlines, but I never forget to go back to the matter and study a bit more.


Outside the work environment I wear many other hats that usually involve physical activities. I enjoy climbing, running, hiking and I used to be internationally sponsored for Tricklining. But I did survive, so I can still code a bit more before finding my next life threatening hobbie 😂.