ANATOLY IVANOV / SERVICES / FULL-STACK DEVELOPER

EVERYTHING IS CODE

What is code? A set of instructions to create. Ex nihilo, for an app or for real. A set of constants: Planck’s and Boltzmann’s, C for light, G for gravity and e for elementary charge. Simple for loops… and we’re already creating the fractals of galaxies’ distribution or the human cardiovascular system. And you have your universe however big you like it, running on its own recursive patterns.

I’ve been fascinated by this presence of programming everywhere since my first lessons in Pascal at age 9, in then Soviet Moscow of 1989. 36 years later, I’m still exploring this relationship between the abstract and the real, from writing cinema lighting controllers to architecting user-facing design systems with persistent SQL storage, and powering front-end interfaces that people actually want to use.

READ-WRITE PERMISSIONS AND OTHER FRUSTRATIONS

And the first user is myself. It might sound weird, but for me, programming is my guilty pleasure. Not TikTok or cheat meals. It’s opening VS Code to “take a quick break” and solve a problem that’s been bugging me for a while with a couple lines of code. OK, maybe more than a couple. OK, several days later, I’m writing a natural language metadata parser. Or integrating multi-stage VAT reverse-charge calculations into an ERP system that tracks cross-border film production cash flows. Automating rotoscoping workflows in After Effects with JavaScript because manual masking is medieval torture? Absolutely!

Is it easy? Sometimes. But coaxing the limbic system into neocortical submission is hard. It’s not about syntax or some new framework du jour; it’s frustration. Day after day, wrestling with edge cases, elusive bugs, and architectures that don’t quite fit the business culture or the team dynamic. Anyone programming solely for a paycheck will burn out — like a dentist who doesn’t love human molars and counts the days till his vacation.

Unlike the dentist, I just love to work with code. Any language. I’m even OK to fine-tune the G-Code (intermediate / 14 years) driving the CNC of the ceramic molars. I do have my preferences: strict-typing, holistic and modular, functional and explicit. So that’d be JavaScript, Rust, PHP or C (“I’m an adult”).

But realistically, programming is more about reading than writing, communicating with other humans, understanding the constraints of the real world and leading the team. Even when the solution eludes you for weeks. Maybe it’s something to do with my conscientiousness and spatio-mathematical, systems thinking… oh, and an extremely high frustration tolerance that I put to good use in another role: a film producer who eats "Not Possible” for breakfast, “Never Done Before” for midday protein snack and “No Way” for dinner.

DEV-OPS? 26 YEARS AND COUNTING

My CS journey didn’t start as a “full-stack developer.” It started as a Windows sysadmin — 26 years ago — on Microsoft Exchange systems that barely knew what uptime meant. Before I insisted we switch to Linux.

I understand the guts of Die Maschine: from provisioning Linux on bare metal to scripting automated deployments with Docker and CI/CD pipelines. Bash, cron jobs, custom Nginx compiles? Been there, yamled that.

I’m not afraid to get my hands dirty with infrastructure. Reverse proxy misbehaving? API throttling needs bypassing? I’ll diagnose the issue down to packet-level detail if needed. Being fluent in systems is what separates me from narrow-picture specialists who only know their side of the stack.

LANGUAGES, STACKS, AND PERSPECTIVE

Over the years, I’ve written in enough languages to be able to learn a new one in a couple of weeks if required:

I’ve architected back-to-front apps with React.js (advanced / 8 years), Vue.js (beginner / 7 years) and Next.js (advanced / 7 years), but prefer HTMX  (advanced / 3 years) and Svelte  (intermediate / 6 years).

Node.js  (advanced / 10 years) is running about 50+ projects to make me seem super-human, integrated with everything from OpenAI  (advanced / 3 years), Notion  (expert / 5 years) and Strava (expert / 4 years) APIs.

My CI/CD workflows hum on whatever fits the task and team, from rather obscure Unison use to quite neat GitLab pipelines, running constant ESLint  (expert / 7 years), Jest (advanced / 7 years) and Puppeteer  (advanced / 7 years) tests.

But all of those are tools, not religions. I’ve lived through enough industry fads to ask: what does this project need today? And how will it be supported 10 years later? Websites I coded in 1999 still run in 2025, long after its owners retired.

DOCUMENTATION IS A FEATURE

The genius code that won’t be understood in a month is code that will rot. This is why I approach programming like design: clarity is everything. My project Syntaxonomicon outlines this philosophy — code is documentation when written correctly. Meaningful variable names. We’re not short on chalk like mid-century physicists. A reverse DNS-style naming convention for functions. Descriptive commits. These aren’t just habits; they’re part of how I ensure my work outlives my involvement.

And yes, some of my repositories are public. You’ll find more than working code — you’ll find ideas about how code can work better.

CURATOR, NOT A BOT

Who cares? A LLM is supposed to write entire applications. Well, sure, they can generate 10 ways to sort an array, write greedy RegEx or attempt to center a div. But effective programming isn’t about bashing lines — it’s about real-life algorithms and elegant curation. Choosing the right architecture for the problem. Knowing when to use recursion and when to avoid it. Understanding not just what’s optimal now, but what will scale as the business grows.

That div should be -3 px to the left. Because optical typography overhangs.

How about comparing and conforming 3 language versions of .srt files? As a human sound designer, I’d reach for the time codes of the original language as the source of truth. But how is an LLM to take the initiative to request and listen through the original video to decide which captions to use? Extrapolate the flow of conversation based on timbre and then approximate the time codes? You get a soup of "nuanced" tokens. True story. And I have many more to remain irreplaceable. The tools change, but the craft remains the same: think and grow code.

FROM CODE TO DESIGN — AND BACK TO SCHOOL

What sets me apart from most developers? My design brain. As someone who’s spent 28 years in creative disciplines — film, photography, graphic design, and UI/UX — I see code as a rigorous expression of the visual. How about server-side dynamic CSS and fuzzy-logic image caching for an illusion of speed? I can differentiate between Helvetica and Arial (can you?) and ensure the interfaces I build aren’t just usable — they’re beautiful.

When designers fear Git commits, or programmers can’t grasp visual aesthetics, I step in as an educator, using the metaphors of a professional storyteller, in the language of each, so we gel together.

WHAT MAKES ME DIFFERENT

READY TO BUILD SOMETHING EXTRAORDINARY?

Browse my portfolio, read through an ultra-detailed list of all tech skills I’ve accumulated or take a look at my GitHub to see what I’ve built — and then let’s talk about how I can code something that works for your universe.

NEXT : ANATOLY IVANOV / SERVICES / AUTOMATION SPECIALIST

TIP: To print images, enable “Print backgrounds” in your browser preferences.