Profile picture

Anatoly Sizyakin

Frontend Developer

Contacts

Summary

My interest in the IT industry appeared instantly when I first saw a personal computer during school time in the 90s. There was no doubt that I would connect my life with computers and after graduation I entered the university to become a programmer.

After receiving higher education, my work has always been related to IT, although it did not concern programming. But, throughout the whole time, the thought that I always wanted to write code did not leave me.

Thanks to Internet sources and educational online platforms, I began to study frontend development. Some time after I started studying, I realized that my dream of writing code and working as a programmer is still burning in me.

Languages

Skills

Languages:

  • HTML5
  • CSS3
  • JavaScript (ES6+)

Key skills:

  • Responsive Design, Flexbox, CSS Grid
  • Sass
  • Gulp

Tools:

  • Git, GitHub, SSH
  • Chrome DevTools
  • (Neo)Vim, VSCode
  • Figma, Gimp
  • GNU/Linux

Education

Work

  • 2003 - 2008 | «Rusich» OOO
    • IT Specialist
  • 2009 - 2011 | OOO «Arbalet»
    • IT Specialist
  • 2011 - 2016 | «Polyus-M» OOO
    • Website Administrator
  • 2016 - .... | Self-Employed
    • Maintenance and repair of PCs and laptops
    • Smartphone repair
    • Maintenance of payment terminals
    • Installation, configuration of network equipment

Portfolio

Code

Task:

Implement the function which takes an array containing the names of people that like an item. It must return the display text as shown in the examples:

[]                                -->  "no one likes this"
["Peter"]                         -->  "Peter likes this"
["Jacob", "Alex"]                 -->  "Jacob and Alex like this"
["Max", "John", "Mark"]           -->  "Max, John and Mark like this"
["Alex", "Jacob", "Mark", "Max"]  -->  "Alex, Jacob and 2 others like this"

For 4 or more names, the number in "and 2 others" simply increases.

Solution:

function likes(names) {
    switch(names.length) {
         case 0: return `no one likes this`;
         case 1: return `${names[0]} likes this`;
         case 2: return `${names[0]} and ${names[1]} like this`;
         case 3: return `${names[0]}, ${names[1]} and ${names[2]} like this`;
        default: return `${names[0]}, ${names[1]} and ${names.length - 2} others like this`;
    }
}