Career

Programmer

Quote

The programmer must have the ability of a first-class mathematician for abstraction and logical thinking, combined with Edison’s talent for constructing anything from zero and one. He must combine the accuracy of a bank clerk with the insight of an intelligence officer, the fantasy of a detective novelist with the sober practicality of a businessman. And besides, a programmer should be familiar with corporate interests, have a taste for teamwork, understand the purpose of the work, and much more.\

— Andrey Petrovich Yershov

To be an effective programmer is one of my primary goal. My current abilities and skills available in cv en.pdf and cv ru.pdf.

Career Plan

TODO: Scratch! Requiring a lot rewriting work.

  • Development of complex software systems using Python (7.2/10), Go (2/10), C (2/10).
    • Python with modern asyncio, libraries and frameworks, type hints.
    • Advanced typing system utilization (protocols, generics)
    • Experience with pydantic, aiohttp, FastAPI, Django, requests, pytest/unittest.
  • Web development
  • Strong focus on asynchronous programming.
  • Proficiency in scripting languages: Bourne Shell (6/10), Lua (4/10).
  • Experimental research programming experience.
  • Reading-level understanding of Rust, Ruby, Perl
  • Microcontroller programming, ESP32 (2/10).
  • Experience with assembly languages.

Software Engineering & Architecture:

  • Extensive experience in object-oriented analysis, design, and programming
  • Multi-paradigm programming and design
  • Extreme Programming (XP) methodology
  • Clean Architecture, DDD, SOLID principles, and OOP expertise
  • Testing (unit, integration, and end-to-end) and CI/CD.

Databases & Infrastructure:

  • SQL language expertise, particularly PostgreSQL and SQLite dialects, indexes, transactinos, views, and triggers, procedures, functions, and stored procedures
  • SQL ORM frameworks
  • SQL optimization and database expert knowledge
  • Experience with Redis, ElasticCache
  • AWS services expertise (EC2, Lambda, AuroraDB, API Gateway)
  • Infrastructure as Code (Terraform).

System Administration & Security:

  • Docker, Docker Compose, and Kubernetes practical experience
  • UNIX services configuration (sendmail, ngnix, etc.)
  • Information and network security knowledge
  • Cryptography expertise
  • Networks with firewall, VPN and routing.

Additional Skills:

  • VCS tools proficiency, Git, GitHub, and GitLab
  • Web development proficiency, HTML, JavaScript, CSS, and web frameworks
  • LaTeX, Markdown proficiency and semi-professional typesetting
  • Advanced English language proficiency
  • Experience with Internet registration organizations.

Platforms

TODO: add personal links.

Learning path