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.
- Kwork
- Upwork
- Freelancer
- Guru.com
- PeoplePerHour.com
- Topcoder
- HackerEarth | Online coding platform and developer assessment software
Learning path
- Yershov-programmirovanie vtoraya gramotnost
- Evans-So you want to be a WizarD
- James - The Tao of Programming
- job interview
- Sonmez-Gibkie navyki
- Hunt and Thomas-The pragmatic programmer
- Программист-фанатик
- Brooks-Mythical man-month
- Rainwater-Herding cats
- Yourdon-Death march
- Hackers and Painters
- Great Hackers
- Capt. Grace Hopper on Future Possibilities: Data, Hardware, Software, and People (Part One, 1982) - YouTube