HTML
This is where every website starts. With over 9 years of experience in writing HTML code I can
confidently call myself an expert in this area. Valid tags and attributes, Schema markup, correct meta tags
and most up-to-date features - all of this provides the best SEO, performance and functionality across all
browsers and all devices.
CSS
Whether it's a static website or a complex web application, everyone wants their product to look
absolutely amazing. It is especially important to stay up-to-date with the most recent CSS features and trends
as it might come handy not just when you create something beautiful but also when you are striving for the best
performance. Animations, transitions, 3D effects can all give the website a modern look but it's also important
to remember the performance implications. Be sure to expect absolutely the highest quality styles, whether it is
Sass, Scss, Styled-components, PostCSS or even plain CSS3
JS
Constantly evolving language means that you have to keep up with the latest features and trends,
otherwise you are not being efficient. It is especially important to understand the core JavaScript if you want
to call yourself a true Frontend developer. I know all the ins and outs of the language, have a fluent command
of both Vanilla and ES6+ JavaScript, and have an expert knowledge of React, Vue, Backbone, Knockout, jQuery,
Underscore and many other frameworks and libraries. To top it all off, I love solving coding challenges from
various competitions using plain JavaScript and have written multiple tutorials on my personal blog.
Performance Optimization
In the past few years there has been a rising trend for websites and apps that can load almost
immediately and perform perfectly at 60 FPS. To achieve that a developer must know how to efficiently load
resources, when to display assets, how to inline critical CSS and defer loading of non-critical assets.
Furthermore it is essential to write efficient JavaScript which will not cause stuttering of the page. I have
achieved 99-100 Google PageSpeed score in the past and I know exactly how to make anything run fast.
Backend languages
For the past 6 years all of my work was to some degree connected to PHP which resulted in me
transitioning into a Full-stack developer. In the past two years I have finished over 10 individual projects
which required extensive backend work. Apart from PHP, I have shown a lot of interest in Python and have been
using it in my personal projects and some coding challenges. Looking into other languages and other programming
paradigms helps to broaden my coding mentality.
WordPress
Wordpress has played a special part in almost every developer's career. For me it has been both, a
tool to quickly bootstrap a project and a powerful framework for creating truly complex web applications and
e-commerce solutions. Over 40 projects with custom themes launched, more than 20 of them are heavily customized
from backend with custom written frameworks/plugins for a highly customizable solution which can be easily
edited by any user with very little WordPress experience. Whether it's a small plugin or a large-scale trading
platform - name the task and it will be done.
Build tools / task runners
It is important to do everything efficiently. Task runners allow for a much faster development and
can be an irreplaceable tool when it comes to compiling, minifying and optimizing your code. Modern
Frontend development without build tools is like a restaurant without a stove. Every Frontend developer
should be able to effortlessly write a configuration for at least one of the common build tools. It can be a
simple Parcel/Rollup setup or a comples Webpack/Grunt/Gulp configuration - a modern developer must know it all.
Version Control
Version control is another thing that absolutely every single developer MUST know how to use. Not only
does it allow multiple people to work on the same project simultaneously, it also makes the development process
easier and more structured via commit messages and also safeguards against accidental code losses. Applications
like SourceTree or GitKraken can simplify developer's live but there is no excuse to not know all the important
git commands and be able to efficiently use git within the terminal.
Mobile development
In the past 3 years my interest in Java and Swift has grown significantly as I have been implementing
few of my ideas into mobile apps for both Android and iOS. Being open to new challenges and being ready to
switch area of focus is vital for being a great developer with wide range of skills, which results in a much
better problem solving and creative thinking.
SCRUM / AGILE
Being efficient is important in any field. When it comes to programming, many solutions have been
developed to easily create tasks, track the progress, easily deploy code and keep all team members up-to-date
with the overall progress. Employing Scrum is especially important in more complex team project as it can give
a much clearer project overview for the manager/lead and make the deployment process much faster and simpler.
Daily meetings, Kanban flow, Jira tracking, CI/CD - all of these contribute to an agile and efficient team.
Foreign Languages
Although I am a Russian speaker, English is my second native language. I have been using it on a daily
basis for over 12 years now, 8 of which were in the UK during my school/University years. Lately I have been
improving my German and planning to add Spanish to the list of my languages in the future.