5 ms·
> I have come to understand that there are two kinds of people, those who do things only if it helps them achieve a goal, and those who do things just because.
by CharlieDigital 1y ago
> I have come to understand that there are two kinds of people, those who do things only if it helps them achieve a goal, and those who do things just because.
I think in this age of vibe coding where anyone can code anything, the discriminating factor between two developers, at a technical level, just comes down to "good taste" (lots of other more important factors, too, like a good human to work with).
And like the author, I agree that taste is acquired through tinkering and trying to be able to discern the qualities of one approach or one design over another. You can't have good taste in anything without having tried lots of variants in that domain -- wine, sushi, furniture, color, style, etc. Having this quality now is more important than ever for senior devs and mid-level devs that want to reach the next level.
When anyone can vibe code, it is the ones with "good taste" in the design of systems that will thrive. Anyone can use an agent and code fast; few will be able to do it fast and well and build systems that do not eventually collapse under the weight of their own tangled mess.
How to acquire it? Have a folder called `sandbox` and just build small projects in there and try new ideas, new techniques, new libraries you come across. Used a particularly interesting package? Go check out the GitHub repo and see how they did it; learn something new. Good taste can be acquired; it just surprises me how few devs actually care to seek it.
- mberning 1y agoHaving a distinctive style is also going to become increasingly rare in the age of LLMs. I see it with people at work already. They have no style. They learn very little. They get something to work but have no ability to discern whether it is a “good way” of doing it or simply “a way” of doing it. They have little interest in how or why things are built. I get the sense that they have little or no enjoyment or interest in deep understanding. As a concrete example I just reviewed a PR for a feature that someone wanted to add to a flask app. It had a ton of terraform code, an aws api gateway, a lambda, etc. then on the flask app frontend they added a page with a call to this new API. I asked why they didn’t just add a route to the flask app. Blank stare response.
- tdeck 1y agoThe Daily WTF is going to enter a new era soon. (For those not familiar https://thedailywtf.com/ https://thedailywtf.com/)
- CharlieDigital 1y agoI know exactly that blank stare response. Very sad to me because the building and solving puzzles is the fun part.
- throwawayffffas 1y agoDistinctive style is actually bad. You want your code to be uniform, readers should not be unable to tell who wrote what. Otherwise you run into the danger of having parts that are peculiar and or obscure to everyone except the one who wrote them. That's if you are lucky, if you are unlucky the person who wrote them won't be able to decode them either.
- oasisbob 1y agoA drive to simplicity and elegance can be a distinctive style. I wouldn't get caught up in the word "distinctive" to the detriment of losing the larger point about creators being thoughtful and opinionated.
- CharlieDigital 1y agoSimplicity is the most underrated attribute of a well-designed system. There is a tendency for smart people to want to build complex solutions when often, the best solution is one that simple. We had a dev recently write a whole source generation library to verify configuration at application startup. I pointed out that it would only save -- at most -- 14ms over a reflection based approach and that our application at startup is rolling over nodes in K8s and not a serverless function where cold starts matter. It went from a 1600 line PR to a 60 line PR.
- weitendorf 1y agoObviously there’s a line to draw somewhere so that your code doesn’t end up looking like a YouTube comment section or have half of its API with Spanish names. And if by style you mean that overly “clever” or dense code without detailed comments and formatting for readability ought to made digestible by those who lack context about the why/what of it, or that “dangerous” or unsafe practices like rust’s unsafe/python’s exec/C++ UB ought to be only permitted in exceptional situations, sure. Everything else is so inconsequential that it truly pains me to see people spending hundreds or even thousands of dollars of their time having to indent, comment, or space things in a certain way just to get CI to pass or merge a PR. I don’t give a fuck that Jeff wants to use 4-space tabs and I cannot tell you how much I resent spending tens of thousands of dollars of Google’s time pleasing the fucking Go linter or trying to figure out errors like “ERROR: const/var” that I can’t turn off because some master artisan truly finds it meaningful and important to make me declare const blocks before var blocks, and their OCPD and fulltime bikeshedding is more important than whatever actual work I’m trying to do to get them paid.
- hansvm 1y agoMostly unrelated, but XKCD is relevant here I think [0]. Taste doesn't just require a broad perspective; a broad view of a category produces taste. [0] https://xkcd.com/915/ https://xkcd.com/915/
- voiper1 1y agoNever seen that one, thanks! Alt text: "Our brains have just one scale, and we resize our experiences to fit." (And obligatory https://xkcd.com/1053/ https://xkcd.com/1053/)
- sydbarrett74 1y agoExactly. The best writers all have one thing in common: they’re voracious readers.
- alwa 1y ago“Not all readers are leaders, but all leaders are readers,” said Truman…
- defrost 1y agoApparently not all 'leaders' ... “He didn’t process information in any conventional sense. He didn’t read. He didn’t really even skim. Some believed that for all practical purposes he was no more than semi-literate.” ~ Michael Wolff, Fire and Fury https://www.theatlantic.com/politics/archive/2018/01/americas-first-post-text-president/549794/ https://www.theatlantic.com/politics/archive/2018/01/america...
- croisillon 1y agofrom his vocabulary you can tell he's at most semi-literate
- psunavy03 1y agoI think that's a sign of senility more than anything else. There's been articles which show clips of his speech in the 1980s and 1990s. His vocabulary was much more extensive, and he used more complex sentences than the word salad he spews out these days.
- moffkalast 1y ago"I was elected to lead, not to read"
- sibellavia 1y ago> When anyone can vibe code, it is the ones with "good taste" in the design of systems that will thrive. Anyone can use an agent and code fast; few will be able to do it fast and well and build systems that do not eventually collapse under the weight of their own tangled mess. This.
- cyrialize 1y agoI absolutely agree. If you look at my github, you might think I don't program all that much. If you look at my ~/Code folder on my PC, you might think I program too much. Tinkering with fun little projects has made me a better programmer and understand my language (Ruby) much better.
- CharlieDigital 1y agoI put many of these into GH anyways because who knows when someone else might find it useful. https://github.com/CharlieDigital?tab=repositories https://github.com/CharlieDigital?tab=repositories
- sbarre 1y agoThanks for this, it's very timely for me: https://typescript-is-like-csharp.chrlschn.dev/ https://typescript-is-like-csharp.chrlschn.dev/ :-)
- CharlieDigital 1y agoWhich direction are you headed? C# -> TS? Or vice versa?
- sbarre 1y agoI'm curious to learn C# for a hobby project, and I know Typescript well enough so this feels like a good place to start if you use it as a reference?
- CharlieDigital 1y agoIt's the perfect place to start!
- crazybonkersai 1y agoHow do you deal with issues and feature requests? I used to put stuff on github, but nowadays I keep one off things mostly to myself. I don't want to do any support to strangers for things I have no interest in.