- cross-posted to:
- [email protected]
Lmao ok ill just follow best practices and end up inadvertently writing an orm from scrach then 🙆♀️
Whatever this guy supposedly architects, it ain’t software.
Software craftsman
Fart sniffer detected
Am I wrong or does that title he’s given himself directly contradict his dislike of code ownership? Or is it just he assumes he deserves credit for the code written by any of his subordinates?
that particular point likely refers to the fact that he prefers shared ownership: ie nobody should be “the one you go to for X part of the codebase”
Code ownership implies that 1) changes to that code are bottlenecked/gatekept by its “owner”; 2) code is siloed and there’s poor organizational collaboration culture.
“I am enabled to seek out the needed background and change what I need to move forward” vs “that’s not ‘our/my’ code, we can’t touch it. Let’s file a DEP ticket against that team and wait a few months”
Yeah, I threw up in my mouth a little when I read that.
Hating on Lombok and setters simultaneously seems contradictory.
In an effort to make the post full of engagement bait, the dude ironically made it less engaging.
Remove every bullet point except Lombok, and you got yourself a proper flame war.
This might be my type of job. I ssh into a server and build the backend using bash scripting in nano. HTML and CSS is also done using nano on the live server. No SCRUM needed. We have a large group of testers we refer to as “customers”, and they pay for the privilege.
Real devs write each http response by hand. If you use a server you’re a filthy casual soydev
Lol. Let’s ban accountability, refactoring, and debugging, never work alone, never coordinate, avoid productivity, and refuse ownership—then scream when things break, don’t integrate, and fall behind schedule.
“This is all your fault!” built-in. Why didn’t you intuitively know what myX is supposed to do and how it’s used?
Provocation just for “engagement” really. 102 comments so, to some degree, it works.
E: Guys, it’s satire. Lol.
Let’s ban
overshot your mark. maybe you misunderstood what you read and that’s why you’re so needlessly het up.
I don’t see any ban of accountability, refactoring or debugging, coordination, or endorsement of screaming.
I recognize most of these as specific antipatterns that get adopted because some manager read a blog or no one actually had a clue was “agile” meant.
I recognize most of these as specific antipatterns that get adopted because some manager read a blog
Go ahead. Point out the anti-pattern baggage.
There are enough coders on here from before the post-dot-com made mentors extinct that I’m sure they’d love your specificity.
Check my top level comment and several other replies on this post.
One I’ll mention here is “Tasks for testing and refactoring”. “Task” is the key word - testing and refactoring isn’t a backlog item that the product manager gets to deprioritize. (haha, like the product manager even realizes they are supposed to manage the backlog). It’s part of ongoing continuous codebase improvement and done whenever and wherever it’s needed.
I’ve been a software developer since 1997, I’d love to have a beer and shoot the shit with them!
That’s great! I wouldn’t want to work for him anyway.
Ideal situation: single guy working from home, no pets. Neighbors describe him as “pretty quiet” or “I dunno.”
Golang outside of infrastructure
What does that even mean?
Golang is petty slow with a GUI I’ve found, a web UI works well but GTK or something like that is slow. Maybe that’s what he means?
Devops/IaaS/Kubernetes stuff.
He’s missing out on HUGO, Gin, Surf and Ebitengine just to name a few.
He wants all his infrastructure to be pure golang.
I read it to mean that he believes Golang should only be used for infrastructure and nothing else.
This is an assumption based on a structure of: if you [insert dot point] then we ain’t cool.
Allthough I only rarely exclude anyone from anything for any reason, I suppose one addition I would make to a list of mental farts I use to elevate myself, would be: people who communicate their ideas like a PowerPoint and expect to convey real meaning.
What I find crazy about X, is that even though it’s owned by Musk, a lot of Americans are quietly and conveniently ignoring it. People are losing their shit over Tesla and then posting about it on X.
I watched a YouTube video the other day where the presenter, who is a full time politically left content creator, was sharing his screen and discussing a Bernie Sanders X post, from within his own X account. It’s crazy.
Why anyone is still on that burning pile of trash, I will never understand. I mean, if you want to say anything longer than 280 characters long, you have to pay a premium. This is the opposite of ‘free’ speach.
Peace!
Code Ownership
Lol did someone try and make him maintain the shitty code he wrote
Individual accountability
Team accountability is almost always better.
Group punishments so that the group will give sock soap to the individual. Best of both worlds
jeez dude you’re carrying a lot of baggage
Correct, but sock soap is the solution
more likely a reference to someone being the 1 person you go to for a particular part of the codebase like they own it
NGL I was on board at the first line. He lost me quickly after though
Just build whatever you want on prod and disappear after the deadline so they can never ask you to update your code
Sorry the developer you are calling is out of scope.
And write all Code in The most complicated and unreadable way possible. Dont use comments.
There are two types of software engineers: those who are anxious and those who are narcissistic and grandiose. This guy is easy to place in the latter category.
I was so happy when I got a job working with a guy who was super chill and a genius to boot, such an impossible combination to find.
Our mantra was pretty much do the best possible thing to reach the widest possible audience, nothing is off the table and no user is left behind completely. I learned such a wide variety of skills there. It went great for nearly a decade before everything went to shit because my guy had left and I was left to deal with a 3-1 managerial hell.
- ORM’s
- Place ALL of the business logic in stored procedures.
- Eliminate the backend.
- Make the front end connect directly to the database.
Profit- Introduce tons of bugs and terrible performance.
- Database is compromised within five minutes of going live.
No, just write a repository to expose domain operations and implements them using SQL directly. Trying to fake OO object graphs against a RDBMS with a super-complex and leaky ORM is just painful.
Would you classify GORM that way?
Groovy’s ORM? I recall it being Hibernate under the hood and I had to fight with it to avoid common problems like hidden IO and N+1 query blowups (iterating over a set of results and then touching the wrong property means you are making another network call for each), learning its particular DSL for schema definition and associations, and not having a way to represent any but the simplest SQL constructs. The usual ORM stuff.
To the extent that you can write a syntax-checked SQL statement and it deserializes the results into some collection of row objects, it’s fine. But that’s not the “ORM” part.
GORM is Go ORM
I have not used that GORM, but ORMs have those problems generally.
i prefer going GORMLESS
I have for years been pumped to create a sql only side project or sql + frontend
Please don’t. I self-host actual budget, and they compile SQLite to WASM to use it in the FE. That just feels… wrong.
There are some other options as well: https://youtu.be/3JW732GrMdg
I’m confused. Are you saying all of that is a consequence of not using ORMs? Because if so, that’s absolutely not true. ORMs truly are complete trash.
Sounds like you were hurt by an ORM.
One huge benefit of an ORM is that it does type checking. it makes sure your tables exist, relationships are valid, etc, and it makes easy things easy. If you add a column, it’ll make sure it gets populated, give you decent error messages, etc.
As long as you use a proper repository pattern setup and isolate DB interactions from the rest of the code, how you construct the queries is completely up to you. I try to use DTOs to communicate w/ the repo layer, so whether an ORM is used or direct SQL queries is largely an implementation detail.
https://github.com/launchbadge/sqlx
Not an ORM, but uses Rust’s compile time macros so you can write raw SQL and it will type check everything against either a real database connection or a JSON cache of the database’s schema.
Absolute best of both worlds.
That sounds really nice, I’ll have to check it out.