The job of a congressional staffer is to ensure reelection so we spend almost our time getting the member on the most powerful committees (for more campaign contributions) and getting on tv (for free media).
Committees do spend more time on the content of bills but each member usually only has one staffer for multiple committees and they are still told how to vote by the party.
I wasn't 23 years old when I was writing these summaries. I was 21. There was no one in the office over 30, and no lawyers.
That does not imply that no one reads any bills. As a change to the tax code, the Section 174 language we’re all talking about was read by at minimum the (very capable) professional staff of the Joint Committee on Taxation and the CBO, for purposes of scoring the revenue impact of the bill.
The impacts of the Section 174 changes are in fact intentional, done to change said scoring. Whether or not they would be popular was not the point; all changes to the tax code are unpopular to someone. The point was to find a configuration of changes that could pass both houses at that time and get signed. That usually means a few big-ticket changes, and then lots of monkeying around with other things (like R&D) to offset those.
Nobody should be subject to a corpus of rules too volumous for them to read and understand.
It's absolutely unforgivable that legislators don't even read the laws they pass.
Sure, bugs happen. But in a system that holds immense power over people's lives, we should be striving for the level of bugs to be similar to life critical safety systems and not some glitchy business website.
It's easy to get a small change in when there's general agreement. But sometimes it's like immigration law --- few like the status quo, but there's no consensus on what direction to change it.
Fixing these tax issues, on the other hand, would have had to be attached to the NDAA or omni last session, both of which require bipartisan support; big bipartisan bills are so contentious that it's hard to get unrelated deals through, especially since everything goes down to the wire these days. In this case, a deal that would have expanded child tax credits in exchange for a bunch of corporate and high net-worth household goodies, including section 174 fixes, was on the table, but couldn't get through negotiations. (I'll note that, while the Republicans created the section 174 mess in the first place, they are now trying to repeal that and other TCJA changes, but aren't willing to add lower-income individual tax cuts into the mix, which is what stalled things in the last Congress.)
It's a hell of a mess, and things are made crazier by the weird power dynamics in the current House leadership, where a small group of fiscal bomb-throwers have outsized power in the Republican party (and it's not clear that they care about tax minutiae, at least not while they're playing with a federal default on the national debt), but the inter-party margins are so slim that you could potentially cobble together a bipartisan majority on the edges. No one seems to like the section 174 situation, so it's at least theoretically possible that you could get a small coalition together to cut a deal at the last minute -- but I'm not sure we can count on that.
Just because you write, read, and understand anything doesn't mean mistakes don't get through. Should we never release any code unless it's completely bug free?