In Short_
From zero to production. I have
experience in developing web applications such as
XPAY (system for managing tutor's payments),
Mementor (connection between students and
mentors), and some other projects. Right now work on wb tech
as mentor and feature's leader.
Also work with React/React Native
🖨️ cv.pdf_
Experience 3 years, 5 months, 24 days_
Wildberries (remote_)
Back End developer (foreign_integrations_)
2023.10 - now
Problems and Solutions:
Tried myself in a new role as a mentor.
I had the team of trainee developers and was responsible for the quality of their code and knowledge.
It took some time to get the authority and respect from them, but I managed to do it.
The results speak for themselves - many of these interns are now successful professionals in the company.
Also, I tried myself as a feature leader. I was responsible for the development of the new features.
I had to communicate with the product owner, business analyst, and other teams to understand the requirements and constraints.
My role involved create a plan, estimate the time, and distribute the tasks between the team members.
Last but not least, I was the man who solved undefined problems.
When business or project managers encountered issues without clear solutions, they turned to me.
I took responsibility for sorting out these problems, developing effective solutions, and implementing them accurately.
Used languages, technologies, and tools: Golang,
gin, platform, NATS, JSON, traefik, Postgres, Docker, Tarantool etc.
Startup developing (remote_)
Back End Engineer
2022.2 - 2023.10
Problems and Solutions:
During development, I was tasked with creating an authentication
system. Several solutions were considered, but ultimately, I chose
to use JWT tokens. Wanting to have full control
over the situation, I decided to write it myself in order to have
control over things such as prefixes. This took several hours, but
I was able to understand and write my own middleware. In the
future, I plan to add refresh token implementation.
During project planning, we chose Mongo DB since
we knew we would not be working with a large amount of data and
had only one main entity to deal with, "mentors". However, during
development, I encountered a problem with the lack of clear
consistency, which led us to embed a structure where it should not
have been. This was temporarily replaced with several structures
in place of embedding, but later on, I discovered the
`bson:, inline` instruction for the structure and
implemented it cleanly.
At one point, we needed to add images, but our budget didn't allow
for having servers dedicated to hosting them. We began searching
for a third-party service and eventually chose Cloudinary due to
their well-documented API and the fact that they
offered a free plan with up to 20,000 monthly
uploads and editing capabilities, which was ideal for us at the
start. We decided to transmit the images through
base64 since it allowed for easy embedding into
JSON.
Used languages, technologies, and tools: Golang,
gin, echo, Cloudinary, JSON, MongoDB, Postgres, Docker, JWT etc.
PrimeGate (remote_)
Front End Engineer
2021.8 - 2023.5
Problems and Solutions:
When I first joined, I was assigned to a new project to create a
mobile application for a CRM system. The design
was quite complex due to the fact that we were creating the app
for multiple platforms, including iPad. One of
the challenges we faced was the large amount of data that needed
to be passed between screens. After reviewing the available
options, I decided to prioritize Redux over
Mobx, as it allowed data to be manipulated more
strictly, helping to avoid accidental changes in the future.
The layout consisted of 23 screens, among which
it was difficult to reuse components due to the employer's design.
However, I found a solution and used
compound components. I created
skeletons that I later reused and modified using
`children`, although unfortunately many
components had a lot of props.
Another problem was with fields that had a ready-made selection.
Some of them, employer requested to use as dropdowns, while others
preferred a selection system similar to theirs. There were several
issues with the selection system, as they varied, with some based
on dates and others based on values, but all were supposed to look
the same. I had to create two components that looked the same but
functioned differently under the hood. While it was relatively
simple for the value-based selection, I had to put in extra effort
for the date-based selection due to a lack of well-functioning
libraries and documentation. In the end, I managed to solve the
problem by using different libraries for
different platforms, and the task was completed
successfully.
Used languages, technologies, and tools: React,
React Native, Figma, Redux, react-router-dom, etc.