Sergei Kotov

1.7K posts

Sergei Kotov banner
Sergei Kotov

Sergei Kotov

@kotov_dev

20+ years coding through good and bad times. Sold 13K copies programming course. Learned the first thing to set up isn't the IDE—it's your mind.

Learn Python → Katılım Ekim 2022
79 Takip Edilen1.6K Takipçiler
Sabitlenmiş Tweet
Sergei Kotov
Sergei Kotov@kotov_dev·
When I learned OOP, every book used Dog, Cat, and Animal classes. I thought: "Classes must model real-world objects." Later, I saw code with classes like: › AuthenticationHandler › DataSerializer › CacheManager Eureka! Classes aren't just mirrors of reality—they're abstractions for organizing logic. Real code rarely deals with Dogs and Cats unless you're building vet clinic software.
English
82
168
1.6K
142.8K
Sergei Kotov
Sergei Kotov@kotov_dev·
@EOEboh Both simultaneously and swap the database entirely if needed. That's not a problem for me. The problem for me is that the startup isn't growing 😢
English
1
0
1
236
Captain-EO 👨🏾‍💻
Your startup is growing fast... Do you scale your database vertically or horizontally first?
English
27
3
42
4.7K
Petar Ivanov
Petar Ivanov@petarivanovv9·
If you're picking a frontend stack for 2026, learn these 15 tools (and the 6 I dropped): 👇🧵
Petar Ivanov tweet media
English
7
4
29
3K
Sergei Kotov
Sergei Kotov@kotov_dev·
When I can't get myself to work, I change locations. Office → cafe, home → public library, desk → couch. New place = mental reset. Sleep on the couch = physical reset.
English
0
1
0
76
Sergei Kotov
Sergei Kotov@kotov_dev·
@_jaydeepkarale Exactly this! It feels like AI usage reveals a level better than any interview ever did.
English
1
0
0
29
Jaydeep
Jaydeep@_jaydeepkarale·
For the last 2 years, a lot of people predicted: “AI will replace software engineers.” What actually seems to be happening is more nuanced. The engineers getting the most leverage from AI are usually the ones with: - strong fundamentals - good system thinking - practical experience - and the ability to validate output critically Because AI accelerates implementation.But engineering was never just implementation. It is - Trade-offs. - Debugging. - Understanding production behavior. - Knowing when not to trust the generated answer. Ironically, AI is making strong engineers even more effective. And exposing weak fundamentals faster than ever. Good news for engineers who keep learning. Bad news for engineers who stopped thinking.
English
11
3
52
3.4K
Sergei Kotov
Sergei Kotov@kotov_dev·
@driscollis I really don't know how I handled projects without the uv before.
English
0
0
1
39
Mike Driscoll
Mike Driscoll@driscollis·
What are the most popular Python build tools in 2026? 🐍 The landscape has changed quite a bit: • uv - The new standard. 10-100x faster than pip, replaces pip, virtualenv, pyenv, and pip-tools in one tool • Poetry - Still solid for library publishing and teams already using it • pip - The classic default that ships with Python • Conda - Best for data science and scientific computing • setuptools - The traditional build backend • hatch - Modern build tool with good plugin ecosystem • PDM - Standards-compliant with PEP 582 support uv has become the go-to for new projects because it handles everything: package installation, virtual environments, Python version management, and lockfiles. What build tool are you using?
English
3
1
15
1.8K
Sergei Kotov
Sergei Kotov@kotov_dev·
Programmers build systems that run for years, but they can't maintain a sleep schedule for two weeks. The skill is there. The application is missing. You already think in systems. You just forgot you're one too.
English
0
0
0
75
Jaydeep
Jaydeep@_jaydeepkarale·
Did you workout today ???
Jaydeep tweet media
English
16
0
37
998
Sergei Kotov
Sergei Kotov@kotov_dev·
Answer: B) [[5], [5], [5]] The trap: [[]] * 3 isn't 3 separated lists! › * 3 copies of the reference to the object (empty list), not the object itself › list[0], list[1], list[2] all point to the same inner list › append(5) on any one -- all three show [5] For beginners: * never deep-copies — it just multiplies references.
English
0
0
3
132
Python Developer
Python Developer@PythonDvz·
What is the output? Write your answer in the comments and share it with your friends✅✅
Python Developer tweet media
English
11
12
59
4.6K
Sergei Kotov
Sergei Kotov@kotov_dev·
Answer: b) {'mom': 1, 'dad': 2, 'son': 3} The 95% beginners trap: d inside the function isn't the same d. › d = {...} inside a function creates a local variable › the original d outside is never touched › return d is also ignored (result isn't saved) For beginners: reassigning a parameter doesn't change the original.
English
1
0
5
417
Naz Ashrafi
Naz Ashrafi@nazanin_ashrafi·
Okay I am Officially baaaaaaaack yall 😁 A lot has happened... stuff that I had no control over. But now let's get back to work 💪
English
16
0
56
2.5K
Sergei Kotov
Sergei Kotov@kotov_dev·
@driscollis Indeed, it's possible to keep learning Python forever. Thank you!
English
1
0
1
23
Mike Driscoll
Mike Driscoll@driscollis·
Need to shorten a string while adding an ellipsis to indicate it's been shortened? You can use #Python's handy `textwrap` library for that:
Mike Driscoll tweet media
English
1
0
10
1.4K
Petar Ivanov
Petar Ivanov@petarivanovv9·
8 habits that get you past senior, and skill is none of them: 1️⃣ Don't just learn your tech stack ↳ Learn how the business makes money, where it leaks, and what actually matters. 2️⃣ Don't speak in technical terms to non-technical people ↳ Translate complexity into impact, cost, and risk. 3️⃣ Don't blindly build what you're asked for ↳ Ask questions until the real problem is obvious. 4️⃣ Don't think only in terms of your team ↳ Think about customers, revenue, and long-term consequences. 5️⃣ Don't do work just because it landed in your backlog ↳ Figure out what the highest-priority work actually is. 6️⃣ Don't refuse to estimate because it's uncomfortable ↳ Offer ranges, trade-offs, and risks instead. 7️⃣ Don't assume deadlines are fixed ↳ Negotiate scope, risk, and budget like an adult. 8️⃣ Don't let missed deadlines surprise anyone ↳ Flag issues early and bring options, not excuses. Early in your career, technical ability is enough. Later on, it quietly stops being the deciding factor. The engineers who become genuinely valuable don't just ship features. They reduce risk. They clarify trade-offs. They help the business make better decisions. What one more thing would you add? Credits: Developing Skills by @johncrickett. —— 💾 Save for future reference. ♻ Repost to help others enhance their careers. 🔔 Follow me ( @petarivanovv9 ) to improve your engineering skills.
Petar Ivanov tweet media
English
6
2
15
749
Sergei Kotov
Sergei Kotov@kotov_dev·
@PythonDvz Answer: NameError -- x isn't defined! No one assigned x! › Python sees x > 10 and looks up x › x doesn't exist, so it raises NameError: name 'x' is not defined › None of A, B, or C ever runs. For beginners: always assign variables before using them.
English
0
0
8
262
Sergei Kotov
Sergei Kotov@kotov_dev·
The gap isn't between Claude and GPT. It's between the person who can direct them clearly and the one who can't. Do you really understand the problem you're solving? The tool will follow.
English
1
0
1
111
Sergei Kotov
Sergei Kotov@kotov_dev·
@driscollis Any AI-agent writes awesome if someone awesome is conducting it.
English
0
0
1
607
Sergei Kotov
Sergei Kotov@kotov_dev·
@PythonPr Answer: 18 The 90% beginners trap: x += x + 4 isn't x += 9! › x = 7 (after +2) › x += x + 4 means x = x + (x + 4) › x = 7 + 7 + 4 = 18 For beginners: += expands first, then evaluates both sides with the current x.
English
2
0
8
316
Sergei Kotov
Sergei Kotov@kotov_dev·
@PythonDvz Answer: hello How it works: › "Good " + "Morning" = "Good Morning" (space is in the first string) › So a == "Good Morning" is True › print("hello") runs For beginners: + with strings joins them exactly as-is. You get exactly what's inside the quotes.
English
0
0
15
1.9K
Python Developer
Python Developer@PythonDvz·
95% coders will fail this Python quiz 😱🐍 Do you know why it prints hello? 🤔 Comment your answer 👇
Python Developer tweet media
English
29
12
97
24K
Sergei Kotov
Sergei Kotov@kotov_dev·
@PythonPr Answer: 44444 int(b) converts b, but a stays a string. And str * int doesn't multiply. It repeats. '4' * 5 = '44444' For beginners: want math? Convert both. int(a) * int(b) = 20
English
2
0
15
403
Python Programming
Python Programming@PythonPr·
Python Quiz: Can You Predict This Python Output? 🤯
Python Programming tweet media
English
21
7
75
6.6K
Sergei Kotov
Sergei Kotov@kotov_dev·
"It works" is the most expensive lie when you are learning programming. You feel like you're moving forward. But real progress isn't the result. It's the understanding underneath the result. Do you actually know what's happening here? Do you know why it works? Depth compounds. Skipping compounds too — just in the wrong direction.
English
0
0
2
94
Sergei Kotov
Sergei Kotov@kotov_dev·
@PythonPr Answer: 28.2 Two traps in one! › 2_4 is not a typo. An underscore = readability separator › 2_4 is 24 (same as 1_000_000 is 1000000) › x is a tuple (commas): (1, 24, 3.2) › sum(1, 24, 3.2) = 28.2 For beginners: _ in numbers is just visual spacing for readability.
English
0
0
1
102
Python Programming
Python Programming@PythonPr·
Python Quz: Can you answer the below question?
Python Programming tweet media
English
7
4
41
4.5K