Россия, Нижний Новгород и Санкт-Петербург.
Дата рождения: 7 декабря 1974 года.
Программист. Фрилансер.
Специализируюсь на javascript (Top 10% на Upwork) с уклоном в скрейпинг, парсинг, бэкенды и прочий сервер-сайд на Node.js (1st Place! на Upwork).
Образование: Высшее. 1992 - 1997. Нижегородский государственный технический университет им. Р. Е. Алексеева, кафедра “Вычислительные машины, комплексы, системы и сети”.
Программирую с 1986 года.
С 1996 года по настоящее время (с перерывами) работаю программистом как фрилансер .
В 2002-2005 годах работал в фирме “Компьютеры на заказ” (продажа, ремонт и настройка компьютеров; прокладка и настройка локальных сетей; администрирование серверов; прочие IT-услуги).
В 2005-2014 годах работал как фрилансер в IT-медиа (статьи и новости для сайтов IT-СМИ). В разное время писал для Mobile-Review, 3DNews, Russian Mobile, Russian Digital, MacCenter, HPC и ряда других. Дольше всего писал на регулярной основе для Ferra.ru (новости, аналитическая колонка, раздел “Сайты дня”).
Время от времени работал где-то ещё, но постоянно возвращался к программированию. Если не получалось работать на фрилансе - обычно занимался программированием как хобби.
Никогда не работал официально в штате. Всё ещё не обзавёлся трудовой книжкой. Не умею правильно писать резюме.
Практически живу за компьютером.
Привык к фрилансу, но хочу научиться работать в команде. Особенно, если эта команда занимается интересными проектами и в ней можно поднять свой профессиональный уровень. Предпочитаю удалёнку, но готов обсуждать любые варианты.
Опыт программирования:
- Коды команд МК-61. 1986-1989. Отладка чужих игр, простейшие свои игры, расчёты школьных задач, поиск недокументированных команд.
- Basic (ПК “Агат”, “Корвет” и т. п.). 1989 - 1990. Примеры программ для детских компьютерных курсов и методичек по программированию.
- Fortran. 1992. Простейшие алгоритмы. Первый опыт работы на Unix.
- Ассемблер x86. 1992-1993. Резидентные программы для DOS, такие как графический курсор для текстового режима, таймер, скриншотер текстового режима и т. п.
- C (DOS, IDE TurboC). 1992-1995. Задачи по “Алгоритмам и структурам данных”, элементы пользовательских интерфейсов, простые игры.
- C++, Delphi, FoxPro, 1C. 1994-1999. Десктопные приложения для учёта всего подряд. Фриланс.
- VisualBasic(Office). 2001-2005. Макросы для рутинных задач заказчиков.
- PHP. 2004-2005. Бекенд-разработка в собственной студии. Система хранения документов, простейшая CMS, свой первый блог.
- SQL. 2004-2012. Простые базы данных для небольших сайтов. MySQL, PostgreSQL, SQLite.
- Perl. 2008-2012. Сбор данных из интернета, мониторинг сайтов, парсинг страниц.
- Python. 2010-2012. То же, что и на перле, плюс примитивные GUI на GTK и веб-бекенды.
- Django. 2010-2012. Минималистичный движок блога, свой второй блог, служебные библиотеки. По приглашению владельца softwaremaniacs.org модерировал форум по Django (крупнейший в рунете на тот момент).
- Bash. 2003 - настоящее время. Служебные скрипты для администрирования Linux-серверов. Автоматизация собственных мелких задач. Один из основных инструментов на десктопном Linux (раньше) и на MAC (c 2015 года).
- HTTP. 2008 - настоящее время. Уверенно использую.
- HTML, CSS. 2003 - настоящее время. Простые странички. Знаю не больше, чем нужно веб-программисту.
- Javascript. 2011 - настоящее время. Расширения для Chrome, букмарклеты, скрипты для фронтенда, небольшие веб-приложения. JQuerry, Vanilla, ES6 и так далее.
- Node.js. Конец 2014 - настоящее время. Продолжаю сбор данных из интернета, мониторинг сайтов, парсинг страниц и прочие кроулинги со скрэпингами. Небольшие модули, бекенды на Express, обёртки к базам данных (в основном к MongoDB), различные API (и делать и использовать чужие), CLI-утилиты и так далее. Люблю стандарты, паттерны и хорошие практики. Понимаю асинхронность и жизненный цикл приложения.
- Lua. 2016 - 2017. Застал Webscript.io, пробовал скриптинг для Redis.
Дополнительные умения и особенности:
- Умею искать информацию, знаю где гуглить, быстро разбираюсь в документации, уверенно читаю чужой код.
- Не боюсь составлять документацию.
- Могу писать читабельный, легко отлаживаемый код.
- Знаю юнит-тесты, GIT, npm и другие страшные слова.
- Владею английским на уровне чтения технических текстов.
- Быстро учусь (да, остальные тоже так говорят, я знаю).
- Предпочту утомить вопросами, нежели сделать неправильно из-за непонимания.
- Могу надёжно работать без присмотра (опыт удалённой работы).