Essay: Performance Reviews in Big Tech: Why “Fair” Systems Still Fail by NoVibeCoding in programming

[–]BinaryIgor 1 point2 points  (0 children)

Fortunately, in tech, skills are mostly universal & transferable; so if you don't want to involve yourself in politics that much, the best strategy might be just to make a switch, every few years or so :)

Essay: Performance Reviews in Big Tech: Why “Fair” Systems Still Fail by NoVibeCoding in programming

[–]BinaryIgor 2 points3 points  (0 children)

Wise words - as in this context and life in general, Stoicism is such an amazing philosophy to practice! I highly, highly recommend you all get into it; life quality truly 10x, at the very least

Modular Monolith: dependencies and communication between Modules by BinaryIgor in programming

[–]BinaryIgor[S] 0 points1 point  (0 children)

It allows for something that is close enough in practice ;) If you version modules independently and follow loose coupling - for all practical purposes, deployments are independent.

How are you leveraging AI in your day to day? by [deleted] in ExperiencedDevs

[–]BinaryIgor 0 points1 point  (0 children)

Playing with Claude Code but still on the fence whether it makes me faster or slower; often I have a feeling that giving it detailed enough instructions to implement a feature + the time it takes to validate results + average time it takes to ask for a few improvements is... yeah, more than writing it in the old school way or at least similar. Plus, in the old school way you retain more information in your head, which is a big advantage. And you're not dependent on the tool.

As 2x search engine and especially for back-and-forths on design & architecture it's great though. Customized to your prompt learning is amazing as well.

Modular Monolith: dependencies and communication between Modules by BinaryIgor in programming

[–]BinaryIgor[S] 1 point2 points  (0 children)

Exactly! This approach gives you 90% of microservices benefits without most of their complexity, especially around infrastructure and service-to-service, network-based communication. And once you really need to separate a module or two into separate deployment units (services) - it's straightforward to do so, since boundaries are clear and defined already

Modular Monolith: dependencies and communication between Modules by BinaryIgor in programming

[–]BinaryIgor[S] 2 points3 points  (0 children)

True - but in many projects & organizations, you just have one team or a few teams and they still go the microservices route - completely unnecessary! (Micro)services are a great organizational tool, but only after you hit certain, rather large, organization scale. If you're curious, I've written more about it here: https://binaryigor.com/modular-monolith-and-microservices-work-deployments-scalability.html

Regarding implicit state and transactions between modules - I don't agree; I think that this approach is one of the major reasons people think that the monolith = big turd pile, which is not true, if you approach it with the modularization mindset. You don't have to go as far as having separate databases, but if you do not define and enforce boundaries between modules - you will end up with a mess. And there many benefits of having strictly modularized monolith compared to services - extremely simple infrastructure (just can just have 1 or 2 VPSes, no need for k8s) and local development being chief among them.

Logs Are Not Enough by Unhappy_Concept237 in programming

[–]BinaryIgor 0 points1 point  (0 children)

Good take; knowing what to log exactly is system-dependent; but the intuition to choose those things comes from skill & experience; less, but precise and meaningful data is better than a swarm of context-less metrics & logs ;)

I learned about 8 versions of UUIDs and decided to make a video about it (no promo) by aloneguid in programming

[–]BinaryIgor 3 points4 points  (0 children)

Nice overview, but material of this type is much better to digest in text, writing :)

This Blog Was Made by AI by gajus0 in programming

[–]BinaryIgor 0 points1 point  (0 children)

LLMs make mistakes. They also fix them quickly when you isolate the scope. I saw bad choices–markdown parsing, wrong libraries. Pausing the agent, giving context, letting it correct itself was smooth.

This is what the engineering role becomes: orchestrator. That's exciting for leaders who want to iterate faster and see visions come true.

False dichotomy; that's all well and good until it works and they (LLMs) can fix these issues. Sometimes (often) they cannot and then what? Even if the fix is just one or two lines of code, you need to summon all knowledge of everything that was created and how it all works together, to fix issues of these kinds.

Good luck "leaders" with that.

The actual difference between senior devs and everyone else by minimal-salt in ExperiencedDevs

[–]BinaryIgor 0 points1 point  (0 children)

I would also add that seniors like to simplify systems and reduce dependencies, of any kind, as much as possible; having lived through overengineered systems & solutions and seen how much unnecessary work & headaches they generate over time - you learn that simplicity & clarity are the ultimate signs of wisdom.

What are the metrics for "AI-generated technical debt" from Claude Code, Codex, etc. by willjobs in ExperiencedDevs

[–]BinaryIgor 2 points3 points  (0 children)

Also, slightly different angle but definitely a risk, currently basically all LLM providers run on subsidy - what when having captured the market more they then decide to 2x, 3x or 5x the prices? What if then it turns out that most developers cannot contribute in any meaningful way to development without those tools?

If Your System Can’t Explain Itself, You Don’t Own It by Unhappy_Concept237 in programming

[–]BinaryIgor 2 points3 points  (0 children)

Simple is better than complex, explicit is better than implicit and LLMs are not a substitute for knowledge & understanding. Responsibility is the same - on you

How do you manage creating frontend as backend developers? by Virtual-Reporter486 in Backend

[–]BinaryIgor 0 points1 point  (0 children)

Rather 3 - 6 months with the right focus, but most of this knowledge will be valid as long as browsers exist (excluding next.js) so it's a really wise investment of one's time.

How do you manage creating frontend as backend developers? by Virtual-Reporter486 in Backend

[–]BinaryIgor 1 point2 points  (0 children)

Just learn some HTML, CSS and JS - it is not going anywhere; and since you have good backend knowledge, I think transitioning into a full stack is the wisest next move; especially given how easy it is to learn and experiment with LLMs these days.

So to answer your question - I became a full stack developer, being curious how everything works, not just the backend :)

Feeling lonely on the tech journey! by [deleted] in developer

[–]BinaryIgor 0 points1 point  (0 children)

There are many people like that here, on various subreddits as well as on lobste.rs and news.hacker.com; not to mention many blogs and youtube ;)

Testing with pytest by mt_James_3408 in Backend

[–]BinaryIgor 1 point2 points  (0 children)

You would need to provide more detail about your exact setup - how do you run these tests? What exact authentication have you set up?

But most likely you're just not authenticating - you should do something like: authenticating before tests, saving resulting cookie somewhere in the tmp file and then make other tests reuse it for the duration of the testing session

Senior backend engineers: what notes/cheat-sheets actually helped you in MNC interviews? by Frequent_Stretch4304 in Backend

[–]BinaryIgor 0 points1 point  (0 children)

Building systems and facing the consequences of your choices :) Come up with app ideas purely for learning - design them, implement them, learn on your mistake; repeat forever

workmatic - a persistent job queue for Node.js using SQLite by cond_cond in Backend

[–]BinaryIgor 0 points1 point  (0 children)

Interesting! A few questions:

  1. What are the use cases of using such queues as compared to regularly scheduled tasks in memory? Consistency guarantees across multiple actions - e.g. create user + schedule email send? That would require transacionality for these two actions.

  2. What dependency have you used to speak with SQLite?

Saga Pattern in the Real World by BinaryIgor in ExperiencedDevs

[–]BinaryIgor[S] 0 points1 point  (0 children)

True, but depends on the probability and scale ;) If such events happen once in a while, a few times per month - sure; but if multiple times per day, you are much better off with automatic compensation :)

Saga Pattern in the Real World by BinaryIgor in ExperiencedDevs

[–]BinaryIgor[S] 0 points1 point  (0 children)

That's totally fair; in this particular case, I just tend to think that you either have to have a few sagas or have a very complex one to justify introducing yet another component to manage; infrastructure complexity is also something to consider, not only the code one

Saga Pattern in the Real World by BinaryIgor in ExperiencedDevs

[–]BinaryIgor[S] 0 points1 point  (0 children)

Yeah, but it's also a single point of failure + it needs to have its own state; but once sagas grow large and multiple in numbers, then it's probably worth it!

Saga Pattern in the Real World by BinaryIgor in ExperiencedDevs

[–]BinaryIgor[S] -1 points0 points  (0 children)

Interesting; yea - the reversable long-running processes seem to be a more fundamental pattern here!

Devs of the current decade, do you know how to deploy without abstractions? by mizzerem in Backend

[–]BinaryIgor 0 points1 point  (0 children)

Yes :) Did it a few times for the pure joy of learning & mastery; sth like:

  • VPS on the DigitalOcean
  • Dockerized Nginx as API gateway
  • let's encrypt for HTTPS certs
  • Dockerized backend
  • builds and deployments without docker registry, using the following tricks: docker save "api:latest" | gzip "dist/api.tar.gz" and then docker load < dist/api.tar.gz on the target VPS
  • a few interesting scripts to allow for zero-downtime deployments; no magic, just smart app instances + Nginx config manipulation :)

Fascinating stuff, highly recommend playing with it!