I'm Maxim Morev, a web developer with 16 years of experience who is still interested and still cares.
My passion is everything about Frontend, especially:
- Client-side development, including UI/UX engineering;
- Solutions that improve DX and management processes;
- Mentorship, educating aspiring specialists.
I try to keep most of my solutions in Open Source and contribute to other projects as well.
In teamwork, it is very important to ensure common standards to achieve a suitable level of code consistency between specialists of different levels with different views, or even across different projects.
Blah, blah, blah, show me how
- Check out ESLint config that contains more than 1200 rules for the tools that I and the team use.
I review, update and extend it regularly (weekly, sometimes more often). - Take a look on StyleLint config that contains more than 200 rules for CSS and 70+ for SCSS, including autoformatting to maintain order within rules and properties and other good practices.
- As a big fan of universal code beauty, I'm a member of stylelint-stylistic organization.
We're working on standardizing and maintaining stylistic rules, that are no longer supported by Stylelint itself. - Commitlint config provides a unified style of commits (using Conventional commits with ability to expand) and changelog generation.
I'm convinced that the smaller the codebase is, the better it is for the project.
Separating recurring elements into libraries, forming their public API in such a way
that they can be used for all purposes is not an easy task, requiring large expertise and wide experience.
As an extremely T-shaped specialist, I'm coping with it so far :)
Blah, blah, show me the code
Of course, most solutions are under NDA, but there are also some in Open Source.
@morev/utils
100+ fully typed JavaScript utilities for everyday use.more-sass
The library of useful SCSS mixins and functions.@morev/vue-transitions
Reusable interface transitions library for Vue2/Vue3 both.@morev/equal-heights
Framework agnostic solution to emulate CSS Subgrid.postcss-specificity-decorator
PostCSS Plugin to increase the specificity of selectors via decorator-like syntax.
There are many others! You can find the rest under the "Repositories" tab in my account.
Modern frontend development does not exist in isolation from design.
Design does not exist in isolation from analytics, or at least the experience of building interfaces and gathering feedback.
So, what are you talking about?
It's all about creating and maintaining a design systems based on user analytics and the web in general.
This is the best way to speed up development and preserve maintainability and consistency. I know how to do this.
In general, I believe that "UX" is pretty good at standardizing and fitting into guidelines if there is enough visual experience and proper component design.
I'm a design-savvy programmer, not a designer who understands something about code.
This means I'm unlikely to create a "wow!" design concept, but I'm definitely the best person to tidy up an existing one and ensure further communication between frontenders and designers in a way that doesn't hurt.
All of the above is fine, but I believe it's also important to do "day-to-day" development to stay good at it.
How do you do it?
Lately I've been doing a lot more consulting than developing on my own, but either way it keeps me connected to real-world problems and lets me call myself a "playing coach".
Some of my publicly available projects that I can tell you about my participation in:
I started out as a "webmaster" 16 years ago when there were almost no additional frontend tools (there's a whole zoo now, eh) that provides knowledge of the platform (and I love it, still).
Frameworks and additional tooling come and go, while the platform is always relevant.
My main expertise is Vue, I love and believe in this framework. I have been working with it for the last 5 years.
What about the others?
Familiar with React, but without a deep dive into the ecosystem.
I like Astro conceptually, right now I'm developing my own site on it,
because I want to achieve maximum client performance keeping DX relatively compared to Vue.
I haven't come across Svelte, Solid and Angular in real work, but would like to get better with them, if there are any offers.
What do you prefer?
If I have a choice, I prefer to use Vitest for unit tests and Playwright for end-to-end testing, but I'm familiar with others as well.
Actually, I believe that the specific tool is not very important - it's the overall understanding and culture of testing that matters.
Tell me a few words about it
I prefer to use Vite if possible - for ease of configuration, extensibility, speed and out-of-box TS support.
I've encountered writing plugins/transformers under Webpack and Vite (by the way, check out unplugin if need that too).
Task runners... for a while I thought they had their uses, but now I think it's easier to just use native scripts
instead,
a task runner is just an unnecessary dependency that's losing popularity.
I'm following the Void Zero initiative with interest and what it will evolve into. Might have to learn Rust :)
Lol, why did you ever put it here?
Well, this is a non-core thing at all, but do you know how many times I've seen project deadlines pushed back because there was a formal excuse like "the designer didn't finish something or did something wrong"? :)
If necessary I'll finish/draw/edit/fix icons/layouts/components/raster graphics on my own without involving a profile specialist. Sometimes it saves a lot of time and attention.
So, you're a fullstack engineer?
Years ago I was relatively good at it, but for the last 5 years or so I've hardly ever come across it, meaning developing on my own.
Nevertheless - understanding remains, which allows better communication with related specialists and this is important when designing systems.
So, you're a DevOps as well?
I would say FrontOps, ha-ha. I once joked that I could replace a small IT department with just myself :)
But for now, it's the same as it is with the backend - my focus has shifted heavily towards the frontend in the last few years.
I am not actively looking for a job right now, however if you feel like I am exactly who you are looking for - let's talk about.
Just message me on Telegram or email me.
I'd be happy to work on a product I'll believe in, and if there are people in the team who really care about what they're doing - people like me.