Dima Litvinov
Résumé
— Hello! I’m a skilled frontend developer * with 3 years of experience in UI/UX design, application development. I strive to craft precise, responsive, fast, easy-to-use environments with both strong purpose and great looks.
* I feel like it's 80-20 by The Great Divide into JavaScript engineer and UX engineer
Experience
Now
-
15th May 2021 – present
Senior JavaScript Software Engineer at Ciklum
- set up onboarding process, code review on the project (15 FE developers)
- became a mentor for newbies
- create custom library, set up design system (make the app themable using Material UI)
- integrate with third parties (e.g. Twilio for sms-service, Iyziko for payment service, etc.)
- optimize the code for performance and efficiency (throttle and debounce to solve caching, overfetching/underfetching, exceeding rate limits, unnecessary rerendering, and browser freezing issues, etc.)
- try and maintain a proper attitude, being soft yet reasonable and persuasive, set realistic deadlines and goals and help the team to meet those, lead by example
- work on 5 various applications at the same time
-
1th November 2022 – present
I decided to resume my work as a mentor at The Rolling Scopes School
- took part in 12 interviews 🎉
-
- I organized and conducted weekly meetings with my students on topics: HTML, CSS, JavaScript (TypeScript), Agile etc.
- Code review
- Help and answer to the students question in Discord's channels
-
15 st February 2021 – present
Student at The Rolling Scopes School
-
-
Complete several simple tasks to learn Node.js basics Nodejs Basics
- built, tested, and deployed applications written with NodeJS
- used features: file system, CLI, modules, hash, streams, z-lib, worker threads, child process
-
Implement custom File Manager using Node.js APIs File Manager
- built, tested, and deployed applications written with NodeJS
- file manager has the same features as every file manager in every OS
-
Implement simple CRUD API using in-memory database underneath CRUD API
- created simple CRUD APIs (written with NodeJS + ExpressJS)
-
Implement custom Job Board using GraphQL Job Board
- built, tested, and deployed applications written with React + GraphQL + NodeJS + ExpressJS
- implemented custom Job Board and real-time chat with GraphQL + WebSockets
-
-
-
A 2048 game build with React + Typescript. Hooks, Audio API: The Game 2048
- built, tested, and deployed applications written with React + TypeScript (Styled Components + Hooks), Jest, React Transition Group + Howler + Matrix Rotate
- implemented features: game statistics, 3 different game options, autoplay
-
App for travelers Travel App
- built, tested, and deployed applications written with React + TypeScript (Styled Components + Hooks), Redux, Material UI + LeafletJS
- implemented features: search by country, photo and video gallery, weather, time and exchange rate widget, map (the application has its own API)
-
App for learning foreign words RS Lang API
- created API to get data about the words, users, statistics (written with ExpressJS + JWT + MongoDB)
- created mini-games "Savannah", "Audio call", "Sprint", "Own game"
-
React + TypeScript
Styled Components + Hooks
Redux
Connected React Router + History
Ant Design
React Transition Group
ESLint (code linted with eslint-config-airbnb)
-
-
- Covid-19 situation monitoring application Covid-Dashboard (written with JS, SASS, Chart.js, Yandex-Maps)
- Clone of the International Medical Platform Rs-clone 103.ua (used React + TS, React Hooks -> express.js -> firebase)
- Only pure JS, CSS/SASS, ESLint (worked with keyboard and mouse events) Virtual-keyboard
- Gem puzzle game on pure JS RSS Gem Puzzle
- App for learning CSS selectors Rs-css
- Design the site to a pixel layout (where a rather complex algorithm for sorting elements was used) Shelter
-
Back then
-
15th January 2020 – 30 st September 2020
The Self-Taught Developer at Learning How to Code
-
Self-education
-
Courses
- Learn to code at freeCodeCamp
- 06 2019 - Ed-Era: Web Development
- 02 2020 - Udemy: Full course JavaScript + React
-
08 2020 - Andersen: FrontEnd (here's my certificate )
-
02 2021 - RS School: JS/FrontEnd (here's my certificate )
- 04 2021 - Ciklum: JavaScript Internship
-
05 2021 - RS School: React/FrontEnd (here's my certificate )
- 01 2022 - Udemy: Angular - The complete guide (here's my certificate )
- 12 2022 - Angular University - Angular Testing Masterclass (here's my certificate )
- 02 2023 - Udemy: GraphQL (here's my certificate )
-
Code Examples
-
- display recipe list, shopping list
- implemented authentication with Firebase
- implemented CRUD operations
- used NgRx and Standalone components
-
Angular + RxJS
NgRx
Standalone components
Firebase
-
- display post list + CRUD operations
- used Vuex, custom directive's, mixin's and routing
-
Vue 3
Vuex 4
axios
-
- display meetings planned
- implemented filter meetings for a particular team member
- implemented CRUD operations with Events or Participants
- implemented Drag n' drop events
- written with Singleton, Decorator and EventEmitter
-
HTML + SCSS
Pure JS
Jest (unit-tests)
ESLint (code linted with eslint-config-airbnb)
-
- Book store have four screens: "Login", "Catalog", "Book details", and "Cart"
- "Login": on this screen user can log in with username, than system redirects user to the Book catalog.
- "Catalog": on this screen user can see the list of books, search book by name and filter them by the price.
- "Book details": on this screen user can choose the needed count of books, sees the total price, and adds the book to the "Cart"
- "Cart": on this screen user can see order list and press 'Purchase' button to buying ordered books. System place order.
-
React + Typescript
Redux
Jest (unit-tests)
ESLint (code linted with eslint-config-airbnb)
-
- created API to get data about the country (written with MongoDB)
- created authorization functionality
- add functionality for loading and saving user photos
-
deploy server on Heroku
-
/countries
/countries/{id}
/auth/users
-
-
-
4th May 2018 – 6th February 2019
Head manager of a large restaurant chain at 'Mama Manana' Kharkiv
-
- occasionally I traveled
- once upon a time I was being a student🤷🏼♂️
- I was good at kitchen talks about pretty much anything
- I played video games with my friends
Way back then
-
Some time in 2015
Quit going to the gym 🥗
- still love to eat junk food sometimes and have a drink occasionally
-
1th April 2014 – forever
Became in a mature relationship It's tough being single. Oksana Momot 👩🏻
- doing what I'm told
-
January 2014 – October 2015
-
- built website using HTML, CSS, PHP
- worked with a factory that produced air sofa in China
- started going to the gym 🏋🏽
-
-
August 2012 – July 2014
Small cafe owner
-
February 2012 – June 2012
Was hired by HTML coder Website development studio: "KAKAO ART" Ukraine
-
28th August 2009 – 31st May 2018
-
- management and accounting analysis
- development and implementation of promotional activities, promotions
- control of cash discipline
- organization and management of personnel (more than 50 people)
-
-
September 2007 – May 2009
-
- training new employees
- certification of employees
- fried burgers 🍔
-
-
September 2005 – December 2006
-
- managed a network of dozen Windows workstations (DHCP, DNS)
- kept PCs health (install OS, backup/restore, antivirus, software updates, hardware upgrades etc.)
-
-
26th August 2003
Relocated to Kharkiv
-
16th May 2003
Got my internal passport (with a traditionally awkward photo, of course)
- couldn't do much really for the first few years...
-
16th July 1986
Born in Barvinkove, Ukraine — Thanks, mom and dad!
Languages
Skills
Character
Likes😃
Dislikes😞
Wants🥺
Education
-
October 2014SEO Course at SEO Academy
-
1st September 2011 – 30th June 2012Bachelor's degree in economics at Kharkiv State University
-
1st September 2003 – 30th June 2008Master's degree in mathematics at Kharkiv National Karazin University
-
1st September 1993 – 21st June 2003Certificate of graduation at №2 Middle School of General Education
Articles
-
February 2021How I was a team lead 103.ua