Aleksey Kozlov.


Nizhniy Novgorod and St. Petersburg, Russia (both cities are in time zone UTC+3).

Date of Birth: December 7, 1974.

Software developer. Freelancer.

Specialize in JavaScript (Top 10% on Upwork). Prefer web scraping, parsing, backends and any other server-side tasks on Node.js (1st Place! on Upwork).

Education: Bachelor of Engineering. Nizhny Novgorod State Technical University n.a. R.E. Alekseev. The Computing Engines, Complexes, Systems and Networks Department.

Have been programming since 1986.

From 1996 to the present, I have been occasionally working as a freelance programmer.

In 2002-2005 worked at the IT company “Компьютеры на заказ” (assembly, sales and tuning of computers; mounting and support of local networks; system administration; other IT tasks).

In 2005-2014 worked as a freelance internet journalist (news and articles for IT sites). I wrote for Mobile-Review, 3DNews, Russian Mobile, Russian Digital, MacCenter, HPC and some others. Longest of all I wrote on a regular basis for (news, analytical articles, daily column "Site of the Day").

From time to time I was working somewhere else but constantly coming back to programming. When I had no opportunity to work as a freelancer - usually I have been programming as a hobby.

Never worked officially on the staff. Still not have got the employment record book. Don't know how to properly write a resume.

Almost live at the computer.

Accustomed to work as a freelancer, but want to learn how to work in a team. Especially if the team working on interesting projects and giving possibilities to improve my professional skills. Prefer work remotely, but am willing to discuss any options.

Programming experience:

  • Codes of МК-61 commands. 1986-1989. Developing and debugging easy games, calculation of school tasks, search for undocumented commands.
  • Basic (Old computers like “Агат” or “Корвет”). 1989 - 1990. Sample programs for learner's guides and computer courses for children.
  • Fortran. 1992. Studying algorithms. First experience of Unix.
  • Assembler x86. 1992-1993. DOS-TSRs like graphic cursor for text mode, timer or text mode screenshoter.
  • C (DOS, IDE TurboC). 1992-1995. Learning task on course “Algorithms and data structures”, UI elements, easy games.
  • C++, Delphi, FoxPro, 1C. 1994-1999. Desktop applications for business. Freelance.
  • VisualBasic (Office). 2001-2005. Macros for customers’ routine tasks.
  • PHP. 2004-2005. Backend development in my own team. Document storage, simple CMS, my first blog.
  • SQL. 2004-2012. Simple DBs for small sites. MySQL, PostgreSQL, SQLite.
  • Perl. 2008-2012. Capturing data from the internet, site monitoring, page parsing.
  • Python. 2010-2012. All the same tasks as in Perl, plus basic GUIs (using GTK) and web-backends.
  • Django. 2010-2012. Minimalistic blog engine, my second blog, various libraries. At the invitation of the owner was a moderator on forum about Django (the biggest in Runet at the time).
  • Bash. 2003 - present. Linux admin scripts. Automation of my own small tasks. One of the main tools at the desktop Linux (earlier) and MAC (last years).
  • HTTP. 2008 - present. Unhesitatingly use.
  • HTML, CSS. 2003 - present. Easy pages. Know enough for a web programmer, but no more.
  • Javascript. 2011 - present. Chrome extensions, bookmarklets, frontend scripts, small web apps. JQuerry, Vanilla, ES6 etc.
  • Node.js. End of 2014 - present. Still work on data capturing, site monitoring, web crawling, site scraping, page parsing and so on. Backends on Express, database wrappers (mainly for MongoDB), npm modules, various APIs (both make and use), CLI utilities etc. Love the standards, patterns, and good practices. Understand async code and event loop lifecycle.
  • Lua. 2016 - 2017. Managed to try, touched Redis scripting a little.

Additional skills and features:

  • Able to search information, know where to google, quickly deal with documentation, well read a code written by another person.
  • Courageously making up docs.
  • Can write a readable and easy to debug code.
  • Know unit-testing, git, npm and other terrible words.
  • Easily read and understand technical texts in English.
  • Really quick in learning.
  • Prefer ask too many questions than do something wrong.
  • Strong in remote work.


Phone: +7 (903) 657-86-49

Telegram: @kozlov_am


Me on GitHub

Me on Upwork

Me on Habrahabr

Me on LinkedIn



Code examples:

Node module icrawler for web crawling, site scraping and page parsing. Works through poor connection, low uptime and some kinds of crawling protection. [link]

Parser for Searching my texts. [link]

Parser for addresses from web-app with maps. Task from Upwork. Did as challenge. Difficult case. [link]

Node module oopt fore command line parsing in style of old good Getopt. [link]