Artem
Senin

Senior Front-end Developer

Artem Senin, Front-end developer, picture

Info

Telegram

Email

Links

GitHub Medium LinkedIn Download CVclick to download CV

Languages

English – Professional working proficiency (B2)

German – Beginner

Russian – Native

Skills

Experienced

  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • Angular

Skillful

  • SCSS, SASS
  • RxJS
  • NGXS

Basic Knowledge

  • React
  • Redux
  • MobX
  • Webpack
  • Jasmine
  • Jest
  • Node.js
  • PHP
  • MySQL
  • MongoDB
  • Docker
  • Nginx
  • Bash
  • Linux (Ubuntu, Arch, Alpine)

Had experience with

  • Vue.js
  • Cypress
  • JSDoc
  • Puppeteer

Hobbies

  • Learning, Reading
  • Electric Guitar
  • Board Games

Profile

I have strong knowledge of Angular and TypeScript and basic React knowledge. Also I like to deeply understand technologies I work with, that's why I read documentation and specifications, source code of used libraries. I feel confident working with TypeScript, SCSS. And I have solid understanding of basic web technologies like HTML, CSS, JS.

I like to solve complex tasks, for example, component for test cases search based on Jira Query Language.

I am interested in continuous self-development and professional growth, follow industry trends by visiting meetups and conferences, listening to podcasts and reading articles on Medium. I also prepared some talks by myself: about Vim usage, rendering pipeline. From time to time I write articles on medium.

Work Experience

Senior Front-end developer @ DINS (RingCentral)

I currently work on internal tool for rollouts and teams planning.

Stack: Angular, NGXS, Angular Material

I implemented Jira Query Language search with autocomplete which provides possibility to search for projects, test cases and to use other filters in single query string. Now this component is shared across both projects in our department

Did a lot of refactoring of tree sidebar component which allows user to display test cases in different modes (tree, table, group) and is widely used across whole application. I also added statistics of test case execution for each node in this tree

I was also in charge of:

  • Applied new design to some pages of our application
  • Supported configurations for RC programs on project creation wizard
  • Doing code review of front-end requests
  • Regularly participate in interviewing for our open front-end positions
  • Initiated NGXS data mutations analysis and did future refactoring
  • Introduced webhook for new merge requests notifications from GitLab (with Node.js and Express)
  • Refactored CI pipeline step from JS to Linux utils with Bash, which reduced build time by 4-5 minutes
  • Investigated and prepared of rules and code style for writing application styles

For the first year I worked on an internal tool for QA (it allows to store test cases, requirements, execute test plan runs and create reports). On the same stack: Angular, NGXS

Front-end developer @ T-Systems

11 mos

I took part in the development of SPA for sellers in offline stores. Due to bad internet connection in shops this SPA was a fat-client with complex business logic on front-end.

Stack: Angular, NGXS

At this position I was in charge of:

  • Rewriting the entire application styles to new adaptive design with my colleague
  • Leading meetings regarding the progress of our redesign work to german colleagues
  • Implementing features on offer page, adding new summary presentation and appearance of customer's options
  • Covering fixed bugs with unit tests

Junior Front-end developer @ Bandito

, 10 mos

At this design studio my main responsibility was development of landing pages and corporate sites.

I worked with HTML, CSS, SASS, Pure JavaScript and jQuery. Some projects were handed over after freelancers and required a lot of refinement and refactoring work.

Also I introduced git into developing process.

I had experience with installing web-sites on WordPress and supporting them.

Here are some examples of projects I took part in: ADhoc, Zverinus, Bandito.

Projects

ngx-detach-invisible

I developed a directive for Angular that detaches component from change detection if that component is not visible in view port.

This can be used as an optimization for components which have heavy calculations in templates which are not memoized or in projects which use default change detection strategy and do not want to use onPush for some reason on similar hard to render components.

Currently this project is more like a proof of concept and I plan to work on it more in future

Teaching experience

Tutor, Epic Skills

, 1 yr 3 mos

I mentored students of this internet technologies school.

Teacher, ITMO University, Children Computer Club

, 3 yrs

Courses for children about web development basics.

I led the stream of web-development courses and was in charge of educational programs preparation.

I taught two courses: the basics of Frontend (Pure HTML, CSS, JavaScript, jQuery, Bootstrap) and the basics of Backend development (PHP, MySQL, Wordpress).

Courses

Front-end school #1, T-Systems

1,5 mos

Node.js School, Yandex.Money

2 mos

Higher Education

ITMO University

Master, Web Technologies, 4.87

My thesis was about reactive programming paradigms in the web and its implementations.

ITMO University

Bachelor, Computer graphics teaching, 4.73

My thesis was "Development of distant learning modules «CSS and JavaScript» for children computer education"

Public speaking

Jira-like search? Easy

Public talk at DINS Slides

Vim: выход есть, пути назад нет
(eng. Vim: there is exit but no way back)

PiterCSS meetup #31 Slides

Процесс визуализации. Стили и спецификация. Flexbox & Grid. Препроцессоры
(eng. Rendering pipeline. Styles and specification. Flexbox & Grid. Preprocessors)

Front-end school #3, T-Systems Slides

Git basics for QA engineers

Talk at T-Systems Slides