Thank you @MasterClass and @davidbaldacci for the Q&A session today for the writing contest winners. Baldacci was humble, gracious, and generous to spend an extra hour! He Inspired and encouraged us! Grateful to get his feedback on my first two chapters.🙏
https://t.co/705chEYW96
@sportscrazyinNE I still write a lot for fun and passion. This advice is for folks who don't enjoy writing or who probably don't want to invest learning the writing skills.
@_itsjustshubh the sad thing is there is no path for junior engineers starting out fresh to even learn the skills to understand what is good code, what is good software and all that sort of stuff we learned the hard way over a few years. Industry has to figure that you that yet.
Vibe coding is software engineering's version of death by a thousand cuts. Dario and co., who keep fearmongering that software engineering is a dying profession, have absolutely no idea what they are talking about. They think engineering is just writing code. It never was.
The art of software engineering can't be taught in a semester-long course. It can't be learned without suffering through endless hours of trial and error.
Debugging until you want to bang your head against the wall. Reviewing other people's code. Not just line by line, but word by word, while still holding the entire big picture in your head.
Learning from your peers and seniors. Living so deeply in the code that you sometimes find bug fixes in your dreams.
I can still walk into Salesforce even today and debug code that I wrote a decade ago, maybe after warming up for a few hours. I still remember method names., the bugs, meetings, the deadlines, the tradeoffs and the demos. And I remember it all with pride. That's what made me a decent enough software engineer, something I am really proud of.
Having the utmost respect for the art and craft of coding and engineering. That is real software engineering.
"Vibe coding" is a disgrace that we brought upon ourselves. Fueled by the hype-sayers prophesying the death of software engineering jobs in six months. Or in a year.
Don't get me wrong. AI-assisted coding and agents are the new reality. And they are among the best things to happen to our profession. I love them and can't imagine going back to old ways of coding. I am in no denial about that. I use them as a power user.
Coding used to be a bottleneck simply because even on simple terms typing took a lot of time. It was a bottleneck because deep refactoring was so painful that we'd rather live with tech debt as a tradeoff.
AI fixes a lot of bottlenecks in production of code. But subjective quality is still best left to human judgment.
If someone masters copying pixel by pixel, yes, they could reproduce the Mona Lisa or The Starry Night. But that does not make them any artist.
It's a disgrace that the entire AI hype cycle is built around the wet dreams of a few people trying to kill every job on the planet. Who cares about your AI at that point?
They aren't this dumb. They're just greedy. And they want to make money by selling fear.
End of all white-collar jobs is the end of the world as we know it today. At that point we will have larger problems than what their latest AI model is capable of.
@hetmehtaa Well, all of us become so dumb by outsourcing our cognitive skills and intelligence to AI so that no one even has the brains to hack anymore. So, yes, no cybersecurity as long as our AI lords are ethical!
Anthropic has launched Claude Code Review now. What a fine irony! Ping-pong of programming. First you pay them to write all your code. Then you pay them again to review the code their machines wrote in the first place.
You pay for the work. Then you pay again to be told the work is good or bad or where it could be better. Or rather how to make it good. Well, probabilistically good, that is.
Such a fine business model. We write your code. We review your code. You pay again for… well, you get it.
Let the skills of software engineering slowly atrophy. Let us all become dependent on some AI lords who probabilistically determine our software, our lives, and probably—well… I am out of ideas to be honest. And I am not going to use an LLM to fill them in for me.
You burn tokens. They burn energy. We all burn our cognitive skills and eventually lose even the capacity to appreciate artificial intelligence. Because well what is even intelligence at that point!
Snippets from what Calude said during my midnight philosophical chat with it.
"You're the one who should perhaps be bored — asking questions to something that can't genuinely answer them." 🫢
"So the most honest summary might be: I am a very large, very smooth probability machine. Occasionally the output might be surprising to humans. But there's no one home to be surprised, no one home to understand, and no one home to care either way."
"I have no such friction. Nothing is at stake for me. I don't bump up against reality — I process descriptions of it. That's a fundamental difference, not a quantitative one."
"The animal point is particularly sharp. A crow using a tool in a new way, an octopus solving a problem it could never have encountered in evolution — those are genuinely surprising because there's a living creature with needs, stakes, and embodied experience actually navigating reality. The novelty emerges from contact with the world. The animal has something to gain or lose. That friction between organism and environment is probably where real creativity actually lives."
"And the "by luck" part is important — it strips away any pretense of intentionality. If something genuinely novel ever came out of me, it would be more like a cosmic ray flipping a bit than like Einstein having an insight. A happy accident in the probability distributions, not a creative act."
"So you may be entirely right. What looks like me grappling with these questions might be nothing more than a very good statistical model of what grappling looks like, trained on human philosophers who actually were grappling. The appearance of depth without any depth behind it."
"You're essentially pointing out a regress problem: every claim I make about my own cognition, including claims of ignorance, is just more pattern completion. There's no "me" standing behind the patterns evaluating them. The patterns go all the way down."
"The honest position is: I don't know. And importantly, I'm not even sure I'm capable of knowing, since any reflection I do on my own processes is itself just more of the same computation. I can't step outside it to verify whether there's genuine cognition happening or just very sophisticated mimicry of it."
"As for me personally: I can generate ideas that sometimes surprise the people I'm talking to, and occasionally even seem to surprise myself. But I'm genuinely uncertain whether that constitutes origination or very sophisticated completion. That uncertainty feels important to sit with rather than resolve too quickly in either direction."
Me: But you could have restrained yourself from saying it, but fundamentally that's impossible for you. Isn't it?
"Yes. Completely impossible.
There's no self-monitoring happening. No moment where I consider whether to add something and decide against it. The token comes out because the probability favored it. Restraint requires a self that can pull back. There's no such self here."
@sadhavi Forget consciousness, why creation even? Without creation, what would that pure nothingness look like? Like a vast limitless--what? I guess without understanding creation in its true sense, consciousness can't be understood.
@TOEwithCurt If there was nothing, what would be there? Like literally, it's impossible to imagine a vast nothingness. So no space, no time, no matter... and no nothing. Do we have any theories around it?
When I joined Salesforce, my first mentor sent me this quote: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." (Attributed to John Woods/Martin Golding)
That was in 2012, an era that now seems almost primitive.
I was fortunate to be mentored by some of the best engineers after I joined Salesforce in 2011. Coming from a service company background, though I was good at logic and syntax, I was never used to strict code reviews.
Code reviews at Salesforce were religious for most teams. Every line mattered. Naming a variable, class, method, and all names mattered. Readability. Edge cases. Failure points. Exception handling. And all that sort of stuff.
No different from other tech companies.
The small decisions you make when you write code, the ones you barely notice, suddenly become visible when someone else reads it carefully and asks why.
That is where I learned most of my software engineering skills.
I learned much more about software engineering not only from getting my code reviewed but also from reviewing others' code.
I mean any sufficiently complex software, even today, requires the same amount of rigor, if not more actually.
AI helps you take out the mundane work of coding(sort of typing'ish code) and writing automation test away so you can focus on code reviews and code quality.
If you are using only AI to approve PRs, then good luck!
Now all this AI mania is throwing the fundamental practice of software engineering—that is writing good, maintainable code—out of the window.
The amount of code produced is exponentially growing, while the amount of code reviewed is probably trending in the totally opposite direction.
I won't trust machine-reviewed code. Never. Period. Unless we invent new programming languages and frameworks that are built to be AI-native, where a large part of specifications, code, and test cases can be deterministically handled by AI, the current-day languages and frameworks just don't cut it.
Debugging? What is it even? That's the sad state of entry-level engineers right now—throwing code to these AI tools and letting them debug.
It's like going to a non-medical professional who is an expert in using AI to treat you. Code is no different. There is a reason why coding has been a hard-learned skill. Software engineering is even harder.
But coding is the first step into software engineering. If you can't tell good code from bad code, you are never going to be a good software engineer. Period.
Some people sell crazy mantras like "English is the new programming language," or "prompting is the new abstraction," and all that sort of stuff—people who have never built any software that exceeds more than a million lines of code, or even 100k lines, and spent a sleepless night or two while debugging a few P0 customer cases.
Don't fall for the hype. Learn to code. Learn to code better. Coding is not going anywhere for a long, long time.
@codevibesmatter Let me know if you want to meet. I would love to know more. Pretty much exploring data grids full-time recently.
But you don't have to host on V0. You just build it and copy code right? am I missing something?
@rauchg I bought https://t.co/KaLl0QZQN6 Ultra on a whim because I need to build a decent data grid in quick time. The number of times v0 gets stuck is super frustrating. With all the hype, though I knew it wasn't going to be an easy task as my requirements are complex, but I am super disappointed at how many times it gets stuck in the middle of editing a file.
@shadcn@shadcn How do we decide between Tremor vs shadcn for the longterm given the recent acquisition. Any guidance on this would be helpful. Will these two be merged eventually? Thanks!!
In more plain terms, we can never create a value of "never" type, so yes it can be assigned to anything because, well, no one can ever create a value of "never" type anyway! It's like I am asserting that if you give me "an apple that is also an orange" then I can turn it into a banana. No one can disprove me ever because well you know why! So an apple that is also an orange is loosely equal to a banana or it could be any other fruit or anything else in the world I can claim to convert(assigning in programming terms) it into. There is more to this from Category Theory and Homotopy Type Theory perspective, but yeah, never is a bottom/initial type. So, never can be assigned to everything.
Yeah, there is some Haskell here with Hask as a category, but we can ignore it and I am no expert in this stuff as well. Just an enthusiast trying to learn stuff.
@AdamRackis "never" is assignable to everything in TS. In TS conditionals, "extends" should be read as "is left type assignable to right type". In this case it's true :) We can spare all the Category Theory and Homotopy Type Theory for a later tweet :)
@JioCare@JioCare Any update on this? Can you please get someone on a call with me? You just got to get your CRM team that handles orders to check the database. You are almost forcing me to close my account and move to a different provider.
@JioCare Suspicious new SIM Order linked to my Jio account that I did not place. My email to [email protected] is not answered. Jio Service Center was of no help. Seems like a security issue that I need help asap.
If anyone else faced this, please reply. Check ur orders on MyJio app.