Ivan Kleshnin

Portrait of a man with short hair and stubble, wearing a patterned shirt, arms crossed, looking directly at the camera with a serious expression, against a white background.
Опытный программист, фрилансер. Сторонник минимализма и 改善. Автор множества учебных материалов по веб разработке. Учу инженерному мышлению, ценю знания, которые останутся актуальными и через годы.

Experience


Core skills

  • javascript
  • backend
  • frontend
  • ramda
  • css
  • html
  • webpack
  • postgresql
  • nextjs
  • react
  • node
  • graphql
  • api
  • apollo
  • vercel
  • react.js
  • node.js
  • git

Specialization

Posts

Reviews

Ivan is a professional in his field and an excellent mentor! None of my questions remained unanswered and his participation. I have never regretted my choice. Ivan is a great example of what a developer should be. He is very competent, thoughtful, attentive to details, knows how to convey information and teach. The main focus is on practice, as it should be. Thank you and recommend with all my heart!


Иван - профессионал своего дела и отличный наставник! Ни один мой вопрос не остался без ответа и его участия. Ни разу не пожалела о своем выборе. Иван - большой пример того, каким должен быть разработчик. Очень грамотный, вдумчивый, внимательный к деталям, умеет донести информацию и научить. Основной упор на практику, как и должно быть. От всей души благодарю и рекомендую!

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Yuliya Talashova, 06/10/20

I have a technical, but not a profile education, and I have never worked in the field of IT, but there has always been a craving for this industry. In the area in which I work now, certain milestones have been reached, opportunities have been exhausted, and the desire to go to work — even more so. The time has come to retrain and engage in what we have long wanted. When I decided to change my activity, I first read learn.javascript.ru, I took an online course on layout. In principle, this was enough to understand that I don’t have a soul for “drawing” and design, and the code that comes out is working, but I have a lot of questions for it. And most importantly, it is not clear what to do next: what to learn, what to write, where to go? In short, with a clear understanding that in our interaction with programming, we need a third party who will direct and correct, I decided on mentoring. Why I chose Ivan, I don’t know, but I specifically waited for him to be released. We worked for 2 months: task, brief correspondence, phoned once a week. Immediately came the disappointment, based on my expectations - the mentor will not be in constant availability. He does not sit waiting for your questions, ready to answer them. On the other hand, you have time to figure it out yourself and at the same time learn something new. And there already, if not at all, the tutor will help, tell, explain. As a result, I have noticeably expanded the baggage of technologies and tools used, and programming has confidently left the hobby - an understanding has come of how a commercial product is created, what can and will be expected from you at a real job. Summing up, you can accurately talk about a qualitative leap in my development skills, and the emergence of specialist germs. The big plus was that during this time a small amount of work has been accumulated, which can already be shown to recruiters. Ivan and the guys from mkdev.me helped with the resume, for which a special thanks to them. Ivan and now continues to help with employment, does not refuse to separate councils. I temporarily stopped classes, which would put my thoughts in order, to practice in employment. It may be possible to change the work, pick up the experience of real development. But this is not a mandatory goal. Now I understand exactly what I want, and what will be next in the stack of my skills. And we will definitely continue our cooperation with Ivan and mkdev.me.


У меня техническое, но не профильное образование, и я никогда не работал в сфере IT, но тяга к этой отрасли была всегда. В той области, в которой работаю сейчас, достигнуты определенные рубежи, возможности исчерпаны, а желание ходить на работу – и подавно. Пришло время переучиваться и заниматься, тем, чем давно хотелось. Когда принял решение о смене деятельности, первым делом прочитал learn.javascript.ru, прошел онлайн курс по верстке. В принципе, этого хватило, чтобы понять, что к "рисованию" и дизайну душа у меня не лежит, а код, который выходит – хоть и рабочий, но к нему даже у меня очень много вопросов. А самое главное – непонятно, что делать дальше: что учить, что писать, куда идти? Короче, с четким пониманием, что в нашем с программированием взаимодействии, нужна третья сторона, которая будет направлять и корректировать, я решился на менторство. Почему я выбрал Ивана – не знаю, но специально ждал, когда он освободится. Работали мы 2 месяца: задание, краткая переписка, созвон раз в неделю. Сразу пришло разочарование, основанное на моих ожиданиях – ментор не будет в постоянной доступности. Он не сидит в ожидании твоих вопросов, готовый на них отвечать. С другой стороны, у тебя есть время, чтобы самому разобраться и параллельно узнать еще что-то новое. А там уже, если совсем никак, наставник поможет, расскажет, объяснит. В итоге я заметно расширил багаж используемых технологий и инструментов, а программирование уверенно вышло из разряда хобби – пришло понимание, как создается коммерческий продукт, чего от тебя могут и будут ждать на настоящей работе. Подытожив, можно точно говорить о качественном рывке в моих навыках разработки, и зарождении зачатков специалиста. Большим плюсом явилось, что за это время наработался небольшой объем работ, который уже можно показать рекрутерам. Иван и ребята с mkdev.me помогли с резюме, за что им отдельная благодарность. Иван и сейчас продолжает помогать с трудоустройством, не отказывает и в отдельных советах. Я временно прекратил занятия, что бы привести в порядок мысли, потренироваться в трудоустройстве. Возможно, удастся поменять работу, нахвататься опыта реальной разработки. Но это пока не обязательная цель. Теперь я точно понимаю, чего хочу, и что будет следующим в стеке моих навыков. И мы обязательно продолжим сотрудничество с Иваном и mkdev.me.

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Viktor Kutuzov, 26/11/18

After studying the textbook on learn.javascript.ru I decided to continue my studies with a mentor. The choice fell on Ivan, because bribed his approach to learning, the ability to present knowledge from the basics to modern techniques. He is very good at adapting the training program exactly to your goals, be it learning a new framework, a deeper understanding of the basics, or gaining knowledge and skills for primary employment. For a month of training with Ivan, I managed: - to learn the basics of ReactJS and create the first react-application; - try your hand at javascript back-end and create a simple CRUD-application on NodeJS / Koa - pump up understanding of the basic concepts of javascript for an interview (this turned out to be the most useful part of training for me, which IMHO gave the greatest jump) to the interview, but also helped with job placement. Ivan is very attentive to the details, conducts a detailed code review (I already have something to compare with). Able to dive into any topic as far as you can understand. Be sure to continue studying with Ivan.


После изучения учебника на learn.javascript.ru решил продолжить свое обучение с ментором. Выбор пал на Ивана, т.к. подкупил его подход к обучению, умение преподносить знания от основ до современных техник. Он очень хорошо умеет подстроить программу обучения именно под ваши цели, будь то изучение нового фреймворка, более глубокое понимание основ или получение знаний и навыков для первичного трудоустройства. За месяц обучения с Иваном я успел: - изучить основы ReactJS и создать первое react-приложение; - попробовать свои силы в javascript back-end и создать простое CRUD-приложение на NodeJS/Koa - прокачать понимание основных концепций javascript для собеседование (это оказалась самая полезная для меня часть обучения, которая имхо дала наибольший скачок) Кстати, Иван не только подготовил меня к собеседованию, но и помогал с трудоустройством. Иван очень внимателен к мелочам, проводит детальное code review (мне уже есть с чем сравнивать). Способен погрузиться в любую тему насколько глубоко, насколько вы способны понять. Обязательно продолжу обучаться с Иваном.

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Aleksandr Panchuk, 04/05/18

I’ve been studying mkdev for a long time, I went through several courses called quests here: Ruby, Ruby on Rails for small and for adults and even swung at the front end, I don’t know why, but I wanted to become a full-stack developer. On one of the quests I met and applied VueJS in my project. This was followed by a study of ReactJS. And according to the recommendation, I got the first job, ahead of me was waiting for the ocean of opportunities. As it turned out, my projects that I worked on were JavaScript and built on the Vue and React frameworks, and I realized that I made a mistake in my training, I did not know the foundation, namely the JS language, on which these frameworks were written. I had to return to my programming school at MKDEV. I didn’t look for my mentor for long, I knew exactly what I needed and who I needed. Ivan Kleshnin, of all available became my mentor, my teacher and I hope in the future will become a friend. I read the information about him on the page mkdeva and not only, I confess, I was looking for information about him everywhere, after that I did not even have doubts that it was just such a mentor that I needed. The fact that Ivan is an excellent developer, knows his subject area from and to, understands all the nuances of any project, and never leaves anything without explanation and brings everything to understanding, knows and loves to teach and share his knowledge, says that After 3 weeks of training from Ivan, I had a breakthrough in development, I began to understand JS, I closed the hanging tasks in a couple of days. His help on working projects was invaluable, to my frequent questions what library to use for solving a particular task, he offered to write me the code itself, and I did not experience the horror as before, I took and wrote. The code review of projects is beyond praise - clearly, clearly and even with examples, even questions remain. Weekly meetings with him are held in the discussion of issues on the working draft, but I always expect them for another reason - he shares with them his thoughts on programming, on new trends in development, on metaprogramming and other exciting topics. All insights during his studies with Ivan and can not list, many even got used as a habit. I am now continuing to learn from him what to say, mentor upper class. I am pleased more than ever. Yes, I almost forgot to say that getting into his studies is not easy, I tried for a long time to get to him, but if he takes you as an apprentice, you will be delighted!


Я давно уже учусь на мкдев, прошел несколько курсов, называемых здесь квестами: Ruby, Ruby on Rails для маленьких и для взрослых и даже замахнулся на фронтенд, не знаю почему, но захотелось стать фуллстек разработчиком. На одном из квестов я познакомился и применил в своем проекте VueJS. Далее последовало изучение ReactJS. И вот по рекомендации я получил первую работу, впереди меня ждал океан возможностей. Как оказалось, мои проекты, над которыми я работал были на JavaScript и построены на фреймворках Vue и React, и я понял, что совершил ошибку в своем обучении, я не знал фундамента, а именно языка JS, на котором написаны эти фреймворки. Пришлось вернуться в свою школу программирования на MKDEV. Искал я своего ментора не долго, я ведь уже точно знал, что мне нужно и кто мне нужен. Иван Клешнин, из всех доступных стал моим ментором, моим учителем и надеюсь в будущем станет другом. Я ознакомился с информацией о нем на странице мкдева и не только, признаюсь, я искал информацию о нем везде, после этого у меня не осталось даже сомнений, что именно такой ментор мне нужен. То, что Иван отличный разработчик, знает свою предметную область от и до, разбирается во всех нюансах любого проекта, и ничего и никогда не оставляет без пояснения и доводит все до понимания, умеет и любит учить и делиться своими знаниями, говорит тот факт, что после 3 недель обучения у Ивана у меня в разработке случился прорыв, я начал понимать JS, висящие задания я закрыл за пару дней. Его помощь по рабочим проектам была неоценима, на мои частые вопросы какую библиотеку использовать для решения той или иной задачи, он предлагал написать мне самому код и я не испытывал ужаса как раньше, брал и писал. Код ревью проектов выше всяких похвал - четко, понятно и даже с примерами, даже вопросов не остается. Еженедельные встречи с ним проходят в обсуждении вопросов по рабочему проекту, но я всегда их жду по другой причине - на них он делится своими мыслями о программировании, о новых трендах в разработке, о метапрограммировании и других захватывающих темах. Всех инсайтов за время учебы у Ивана и не перечислишь, многие даже вжились как привычки. Я сейчас продолжаю учиться у него, что сказать, ментор высший класс. Я доволен, как никогда. Да, чуть не забыл сказать, что попасть к нему в обучение нелегко, я сам долго пытался к нему попасть, но если он возьмет вас в ученики - вы будете в восторге!

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Sergey Dmitrakov, 18/01/18

Engaged with Ivan 2 months. I advise you as an experienced developer who understands how to submit material based on the current level of the student. I received invaluable help with my goal. Ivan selects the plan individually and helps the council in achieving it. In the future, I will definitely continue my studies in a normal and consistent manner.


Занимался с Иваном 2 месяца. Советую как опытного разработчика, который понимает как подавать материал отталкиваясь от текущего уровня ученика. Я получил неоценимую помощь в своей цели. Иван подбирает план индивидуально и помогает советами в ее достижении. В будущем обязательно продолжу обучение в нормальном и последовательном режиме.

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Anatoly Babin, 23/12/17

He studied with Ivan for a month. If you say: "It was great" or "I got a new experience and knowledge" - it will be dry and will not reveal all the details. From the first day I felt like a pioneer. Every day is a new discovery, a new knowledge, a new journey. I felt a significant difference when you try to "travel" alone and when you are helped in this very "journey." If detailed. An individual plan was immediately built, the goal of which is to fill the gaps in knowledge and form a new motion vector in the chosen area. This helps a lot, since you are not distracted by extraneous things, which means you don’t load your head with an unnecessary one. The connection is almost instant. If you have a question, you will get an answer to it. Expanded and detailed. Detailed code refactoring. Discussion of topics of interest to me, paradigms, new trends. Attention to details. The argument. Motivation. In general, I am very satisfied. And I will definitely continue my studies.


Проходил обучение у Ивана в течении месяца. Если сказать: "Это было здорово" или "Я получил новый опыт и знания" - это будет сухо и далеко не раскроет все детали. С первого дня я чувствовал себя первооткрывателем. Каждый день - новое открытие, новое знание, новое путешествие. Я почувствовал существенную разницу, когда ты пытаешься "путешествовать" в одиночку и когда тебе помогают в этом самом "путешествии". Если детально. Сразу был выстроен индивидуальный план, целью которого является заполнение пробелов в знаниях и формирование нового вектора движения в выбранной области. Это очень помогает, так как ты не отвлекаешься на посторонние вещи, а значит не загружаешь ненужным голову. Связь практически моментальная. Если есть вопрос - на него ты точно получишь ответ. Развернутый и подробный. Детальный рефакторинг кода. Обсуждение интересующих меня тем, парадигм, новый тенденций. Внимание к мелочам. Аргументация. Мотивация. В общем, я очень доволен. И обязательно продолжу обучение.

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text BehemothOz, 14/12/17

From the first days of mentoring, Ivan laid out the specifics of the frontend developer profession. Made an individual lesson plan based on my needs. In the process of learning I did high-quality code review, which helped me to start writing more thoughtful and expressive code, and also answered all my questions in detail and motivated me when something went wrong. I definitely recommend Ivan Kleshnin as a mentor in JavaScript and will continue classes with this wonderful person.


С первых дней менторства Иван по полочкам разложил специфику профессии frontend разработчика. Составил индивидуальный план занятий исходя из моих потребностей. В процессе обучения делал качественные code review, которые помогли мне начать писать более продуманный и выразительный код, а также подробно отвечал на все мои вопросы и мотивировал, когда у меня что-то не получалось. Однозначно рекомендую Ивана Клешнина в качестве ментора по JavaScript и продолжу занятия с этим замечательным человеком.

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Andrey Saveliev, 19/10/17

I turned to Ivan because I had basic knowledge of Javascript, but not knowing how to apply them. I even did not guess that it is possible to explain difficult things so simply that it will be clear even to a person without programming experience. The individual approach, the tasks that you invent and implement for yourself, under the guidance of Ivan. I recommend everyone who wants to pull up knowledge in JS and to those who want to reach a new level.


Обратился к Ивану, потому что имел базовые знания Javascript, но не зная как их можно было применить. Я даже и не догадывался, что можно трудные вещи объяснять настолько просто, что будет понятно даже человеку без опыта программирования. Индивидуальный подход, задачки, которые ты сам себе придумываешь и реализуешь, под руководством Ивана. Всем рекомендую, кто хочет подтянуть знания в JS и тем кто хочет выйти на новый уровень.

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Aleksandr Dorofeev, 03/09/17

Having no practice behind me, but only scant knowledge of the JS theory, I enrolled in a course with Ivan. In just two weeks, I mastered the necessary skills, learned the basics of React.js, and wrote my first full-fledged application under the leadership of Ivan. During the course of training, I concluded that I turned to the right person, that’s how I imagined the learning process with a mentor (I hadn’t had such experience before). I would especially like to single out a thorough review code, to the extent that each variable in your code will reflect the very essence of the data stored in it, as well as the fact that Ivan appreciates the time of his students, does not load tons and pages of unnecessary and boring material, but almost from the first days brings you directly to the implementation of your first project. All you need is to listen carefully to the mentor, to be able to use Google, patience and the desire to learn. I will certainly come back here as problems and questions arise.


Не имея за плечами никакой практики, а только лишь скудные познания теории JS, я записался на курс к Ивану. Всего за две недели я овладел необходимыми навыками, освоил азы React.js и написал свое первое полноценное приложение под руководством Ивана. В ходе обучения сделал вывод, что обратился к нужному человеку, именно таким я представлял себе процесс обучения с ментором (до этого не имел подобного опыта). Особенно хотелось бы выделить тщательный код ревью, вплоть до того, что каждая переменная в вашем коде будет отражать самую суть хранящихся в ней данных, а так же то, что Иван ценит время своих учеников, не загружает тоннами и страницами ненужного и скучного материала, а практически с первых дней подводит вас непосредственно к реализации вашего первого проекта. Все что вам нужно: внимательно слушать ментора, уметь пользоваться гуглом, терпение и желание обучаться. Непременно буду возвращаться сюда по мере возникновения проблем и вопросов.

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Artem Kozyrev, 10/08/17

I signed up for Ivan, having experience in working with Ruby and RoR. Thanks to his course, imbued with the idea of creating SPA applications and JS in general. Despite all my love for Ruby, I don’t want to get away from JS, and I don’t want to follow this course :) This is a really cool program that I recommend to anyone who wants to be involved in modern web development. If you are an experienced developer, the mentor will always have some non-trivial tasks for you to think about. If you are completely new, in the modern world it is difficult to imagine a simpler, more powerful and popular language to start than JS. Also, very pleased with the fact that Ivan is trying hard to help with future employment. In general, I recommend to everyone who cares - you will like it: D


Я записался к Ивану, имея в запасе опыт работы с Ruby и RoR. Благодаря его курсу, проникся идеей создания SPA приложений и JS-а в целом. Несмотря на всю мою любовь к Ruby, от JS-а никуда не деться, а после этого курса и не хочется :) Это действительно крутая программа, которую я рекомендую всем, кто хочет быть причастным к современной веб-разработке. Если вы опытный разработчик, у ментора всегда найдется для вас несколько нетривиальных задач, над которыми придется думать. Если же вы совсем новичок, то в современном мире сложно представить более простой, мощный и востребованный язык для старта чем JS. Так же, очень радует тот факт, что Иван всячески старается помочь с будущем трудоустройством. В общем, рекомендую всем неравнодушным – вам понравится :D

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Dima Topornin, 24/07/17

Trained within 1 month. To say that all is well - to say nothing. This is a cool, individual approach to each person, a carefully selected material, video footage, author’s material, it’s impressive .. I recommend definitely, and after a while I planned to continue the course and expect others)


Проходил обучение в течении 1 месяца. Сказать что все хорошо - ничего не сказать. Это круто, индивидуальный подход к каждому человеку, тщательно подобранный материл, отснятые видео, авторский материал, это впечатляет.. Рекомендую однозначно и сам через некоторое время запланировал продолжение курса и ожидаю другие )

translation missing: en.home.mentors.reviews.text_translated_with_google - Original Text Aleksandr Malyuta, 15/04/17