Ulad Ramanovich

@uramanovich.bsky.social

Senior Fullstack Engineer passionate about TypeScript/JavaScript ecosystems. Sharing pragmatic tech tips & exploring AI-powered development workflows. Let's build better software together! 🚀

Tired of slow Jest tests? I cut my test suite time by 67% with these two simple tricks: 1. Add `maxWorkers=50%` to utilize available CPU 2. Implement `shard` to split and run tests in parallel across multiple jobs The big challenge? Collecting coverage data from separate jobs. Solution below

Bild

Senior devs spend 20% of time on code reviews. If you don't, either you're not senior or your team culture needs rework. Good code reviews: - Catch bugs before they cause outages - Share knowledge across the team - Build better architecture through diverse perspectives

Confusing by word 'token' when working with AI? Me too 🤔 I spent time understanding how it's calculated, here's simple math: - Token ≠ word - 1 word ≈ 1.3token - 1 tweet ≈ 35 tokens - Emojis cost extra tokens shorter words = fewer tokens = lower costs

Bild

Skipping tests to save time? Think twice. While writing tests feels chore, the real cost hits during refactoring. Use AI for basic tests, but guide it - create mocks & define key scenarios. Keep logic simple, and review all the code produced by AI. Future you will thank you

You're missing one primary concept when coding with AI. AI doesn't own the code, the person who approved this code is the owner of the code. AI is a tool - your expertise in reviewing, validating & owning the implementation is what matters

1/5 How to manage database access in monorepo with NestJS? I faced this problem a few times: • Duplicated database logic • Multiple connection configurations • Inconsistent testing patterns • No clear structure Let me explain how I fixed this with the Data-Access Pattern 🧵 #NestJS #nodejs #webdevb

Bild

4 ways to adapt AI for business needs: 1. Pre-training: Needs massive data, expensive 2. Prompting: Cost-effective, learn it first! 3. Fine-tuning: 1000+ examples for good results 4. RAG: Use your docs as context Start simple, scale as needed #AI #LLM

Bild

Will AI replace your job? 🤔 AI isn't replacing jobs directly - it's automating tasks. Think of it as a tool that helps process work faster, not a robot employee. Humans still handle complex cases, AI handles repetitive ones. 🤖

🎨 Building new website? Here's a harsh truth: Most projects fail not because of dev speed, but waiting for "perfect design" Quick win: - Ship minimal design in 2 weeks - Test with real users - Iterate based on feedback Stop guessing what users want. #buildinpublic

Post-interview clarity hit me hard today 💡 Spent 2 weeks learning algorithms, only to get asked about building an actual product feature. Classic over-preparation for the wrong battle. Lesson: Always check type of interview you're participating. The interview format tells you what you need to know

Discovered today Docker Compose profiles and was surprised. Instead of juggling multiple docker-compose files for prod/dev/test, just add "profiles: [dev]" to your services and run: docker compose --profile dev up Perfect for managing different environments in a single file! #docker

Bild

I prefer Claude over ChatGPT for both its superior code assistance and projects feature (Claude Pro). With projects, you can create custom prompts with specific output requirements - perfect for recurring tasks like architecture planning or article title generation

Bild

🤖 AI & Engineering Growth AI speed up Senior Engineers but can hurt Juniors. And when non-engineers use AI for coding? Recipe for disaster. Pro tip: Before hitting Senior level, use AI to learn, not just copy/paste. Understanding > shortcuts.

🔄 Solved my NestJS DB headaches by creating a Data Access module - a dedicated layer that handles all database operations, migrations, and models. It manages both Postgres & MongoDB, centralizes connections, and makes testing easy. Writing an article to share my complete setup! 📝

Bild

Using AI for coding? Great tool if you know what you're doing! But here's the catch: always write tests. AI can miss edge cases you won't spot when code gets complex. E2E testing is ideal, but even unit tests will save you from countless bugs. Test everything you generate 🤖✅

🔍 NextJS SEO Pro Tip: Use next-sitemap to generate sitemaps automatically! Sitemaps help crawler bots navigate your site efficiently, especially crucial for dynamic content. They show content update timestamps, helping faster reindexing. Perfect for sites with multiple pages #buildinpublic #webdev

Building mobile app? Pro tip: Add a hidden dev mode for App Store reviews and testing Implement a secret tap combo in a corner, show a dev mode indicator, and add debug controls. Makes testing simple for reviewers, plus helps verify features work 🔍 Here is how I did this 🧵 #buildinpublic #swiftui

Screenshot Home page with dev mode enabled

The Epic Programming Principles: the guide I use to make decisions as a software engineer. Transcending specific tools or frameworks, these principles will help you guide your career, craft, and technical choices. See details and examples for each principle here: www.epicweb.dev/principles 📖

The Epic Programming Principles Cheat Sheet. A summary of all the principles