Working With Me: A User Manual

Introduction

I'm Yaroslav Kozak, a full-stack web developer specializing in modern front-end and back-end frameworks.

Don't take my having a 'manual' as a request for special treatment. If we're working together, or will be, I'd love to read your manual or learn about your preferences!

I'd describe myself as…

Someone who thrives on new ideas and technical challenges, while being both creative and highly analytical. I have a strong drive for autonomy and a passion for the quality and scalability of my code.

I shift between structured, goal-oriented engineering and more fluid, exploratory problem-solving.

My predominant personality type is INTP-A, and I share the structured way of thinking of the closely related INTJ. (Note: I consider personality tests a reflection of self-perception at the time when you took the test, serving as a way to package insights and deliver them to others more efficiently.)

I do my best work when…

I'm given the freedom to architect my own solutions for meaningful, intellectually engaging projects.

I care deeply about clean code, performance, and the end-user experience, and I work best with global, remote teams who share this mindset.

Working Patterns

I often go through phases of intense focus on specific tasks or complex debugging sessions. I need uninterrupted time to focus on deep work.

Flexible hours and remote setups help me adjust my work to match my energy throughout the day and week, ensuring maximum productivity.

I actively integrate AI productivity tools, like Cursor and Google Antigravity, into my development environment to automate repetitive tasks and maintain a high velocity.

Communication

Direct communication works best for me—get to the point without fear of hurting my feelings. I communicate fluently in both English and Ukrainian.

I appreciate being involved in higher-level technical decision-making and project planning. If that's not possible, then at least explain the "why" behind product decisions so I can ensure the architecture stays aligned with business goals.

I usually prefer async communication (e.g., GitHub pull requests, issue trackers, and Looms) over calls, but I know when a quick meeting is the best way to resolve a blocker or push a project forward.

Information silos stifle progress, so I'm a big fan of shared knowledge bases and well-documented codebases where everything is laid out clearly for the entire team to reference.

When giving me feedback, it's important that…

It's focused on the facts and the desired technical outcome. Instead of vague comments, tell me exactly what doesn't meet expectations and why (e.g., "This implementation might cause a bottleneck under high traffic").

Feel free to suggest solutions, but also allow me the space to propose my own architectural approaches.

If I seem slower or detached, the best way to support me is…

By challenging me to reach milestones or asking me to delve into a different area of the stack. Seeing a problem from a new angle helps me rebuild momentum and enthusiasm.

As a Web Developer

My work focuses on functionality, performance, and clean architecture rather than just getting something to work temporarily. I enjoy building robust applications using React, Next.js, and deploying via Cloudflare ecosystem services (like Pages and D1).

I will consistently advocate for efficient, scalable technical solutions. Pushback on bad architectural ideas or technical debt is part of how I help projects succeed long-term.

I'm most effective when I have ownership of the technical implementation. While I trust my engineering knowledge and instincts, I appreciate consulting data and analytics to inform higher-level infrastructure decisions.

Important Note

I am always learning and evolving. If you find something here that doesn't align with your experience of working with me, please let me know! Open dialogue is the best way to improve.

Explore more: home, about or get in touch.