Live data from Hacker News

The silent majority in software

vadimkravcenko.com

311–320 of 371 posts

Re: The silent majority in software

#311

Earlier quoted context omitted.

A form with a logo... that looks consistent across most browsers, scales automatically between mobile and desktop user-agents, and already has all its sticky a11y metadata sorted properly, if they've picked a good framework. The gap between modern expectations and the bare-bones AJAX page is pretty wide these days. It would definitely be better if there were a way to side-load those libraries as a standardized strata…

To me what youre writing sounds like a parody given the context. And I feel like I could write a form webpage with a logo in significantly fewer characters than used in your explanation for why you need all that stuff. But this isnt my field of expertise so I'll have to take your word for it that you're not joking.

Like I said, doing a form is just a few lines of HTML in a tag (assuming you have a cooperative server that isn't expecting anything unusual and just digests POSTed form bodies).

Doing a form that will do things people expect these days (client-side validation, formatting, error-handling and highlighting / locating fields with errors in them, auto-fill of addresses... What, you don't expect the user to type in a whole address without verifying it's a real address, do you, there's validation services these days!) is the kind of thing you may want a framework for.

This relatively simple "Contact us" form (https://aflcio.org/contact) loads nine custom fonts, JQuery, an email-decoder script from Cloudflare, and a host of other things. Why nine custom fonts? Because the AFL-CIO has a brand and they're not obliged to deviate from it just because your browser doesn't have the font they use, anymore than they wouldn't show their logo because your computer doesn't have the logo yet. Why JQuery? Probably because there's a button on the page that hides and shows a field, and even in The Year Of Our Lord 2022 those are still an absolute witch to write without bugs in plain JavaScript. The email-decoder script is, I think, self-evident; lets them save the bandwidth of rejecting your input if you put "no" as the email address. And of course, the tracking scripts because they want to know how people are finding the "Contact Us" form (are they coming in from the main page? Is there some specific page that should be answering their question that they're falling over into "Contact Us" instead? Are they coming in from completely outside our org because someone shared a deep-link on a political site and said "Go bug the AFL-CIO", because if yes they can use that tracking to pre-filter the messages they get from that entry-path and bin them all low-priority). I'm seeing some inefficiencies in the Inspector (it's loading some Android-specific icons, probably because it's not good about refraining from loading assets for its mobile layout), but a lot of that stuff I'm not surprised at all to see.

There are several driving factors underpinning this phenomenon. One is that frameworks are more flexible (per unit of code written) than bare-AJAX development, so there's plenty of "everything looks like a nail" thinking going on; once you've paid the up-front cost to build out a dev environment using a framework, it's cheap to keep using it. Another huge factor is that relative to the web experience of, say 15 years ago, there are many incentives to push a lot of work (especially validation of inputs) client-side; few places have truly full-stack developers (or, more often, don't allow the authority for one developer to go hacksaw into the front and backend whenever they feel like it), so simply implementing one new validation rule may be a bunch of back-and-forth tickets if implemented server side or a couple hour's work if done client-side. And client-side work saves the server computation costs (and often bandwidth costs, even when one factors in the up-front cost of loading all that framework boilerplate if the site's used long enough per session).

All of this pushing of complexity to the client does come at a cost of client performance (and sometimes bandwidth, depending on how solid the caching logic is), so (especially at big companies like Facebook and Google) it's a constantly-shifting tradeoff. Google in particular has some incredibly clever partial-rendering logic in-house to allow them to push pieces of a big page on-the-fly to the client, saving bandwidth by rendering a mock button with no behavior attached until the user tries to click on it (and then the behavior script flies in as-needed). Of course, that's a huge amount of complexity that requires tight hand-in-glove coordination between client and server, so the framework that supports it is even more thick and robust, etc.

At the end of the day, "simple web sites" (unless they are truly read-only, in which case just use Hugo and call it a day) are still client-server distributed computing problems with complexity that scales nonlinearly.

Re: The silent majority in software

#312

I used to be part of the silent majority of software developers but that changed after I became disillusioned about the direction of the industry. Nowadays, I'm basically forced to use certain inefficient tools in order to get a job because a bunch of highly vocal junior devs who got their way. It's a bit like in politics; when times are good for the majority, most normal people aren't interested in politics; they ha…

Would you mind sharing some things that juniors have forced that you think are bad? I’ve recently switched jobs and my team doesn’t write integration tests for our services but rather manually test them with postman. It’s definitely odd and very inefficient.

> Would you mind sharing some things that juniors have forced that you think are bad?

Nested ternary operators... though, because of how TypeScript does constants, I saw why they used this way of doing things so often.

Re: The silent majority in software

#313

I used to be part of the silent majority of software developers but that changed after I became disillusioned about the direction of the industry. Nowadays, I'm basically forced to use certain inefficient tools in order to get a job because a bunch of highly vocal junior devs who got their way. It's a bit like in politics; when times are good for the majority, most normal people aren't interested in politics; they ha…

FWIW, every generation feels this way. Older me is now super embarrassed by my prior enthusiasm for object oriented programming and misc methodologies. I have very vivid memories of grey beards dismissing my naivety and me thinking "they just didn't get it." [0] If there's any kind of karma, today's noobs will live long enough to be mocked by even younger noobs. Small solace, I know. [0] I always remember criticisms.…

> I've got the voice of doubt in the back of my head always wondering what I'm missing, what if they're right, etc. It's a serious bummer.

There's probably a saying somewhere along the lines of "There are two kinds of programmers: those who admit they get Imposter's Syndrome, and those who are too afraid to admit it."

We all have those doubts. I've been in this since... what, 1994 professionally I suppose, and I still have doubts. It's totally normal. IS is not limited to software development either.

Re: The silent majority in software

#314
post #158

Earlier quoted context omitted.

It's so frustrating to find a nice job advert, then you read through the (very specific) list of requirements and you're thinking to yourself "JavaScript: Check, Node.js: Check, Postgres: Check, Docker: Check, REST: Check, WebSockets: Check, Redis: Check, RabbitMQ: Check, Distributed systems: Check, nginx: Check, Kubernetes: Check, GraphQL: DAMN IT! This was almost a match..."

You hire smart people not perfect matches.

Companies will generally tolerate developers to not have experience with certain tools but they will only hire them based on the assumption that they will learn those tools on the job. The problem arises when the developers don't like a specific tool; maybe they know better tools to use for this project. For me, as a developer, it's a deal breaker if a company expects me to use some tool which I'm experienced with but which I don't like.

It's a mistake for companies to assume that just because someone has 3 years of professional experience with a particular tool, that they like that tool. I've witnessed many developers catch Stockholm syndrome after spending lot of time using (and becoming an expert in) a specific tool but I regard this is as a sign of inexperience.

Re: The silent majority in software

#315

> They do not participate in controversial discussions about Visual Basic or Pascal — they just do their work in those languages without even knowing that there’s so much controversy surrounding their language of choice. Serious question: are these languages actually controversial? Doesn't "controversy" usually mean people holding strong opinions and frequently disagreeing? I rarely hear anything at all about Pascal…

Perhaps OP meant Pascal programmers arguing among themselves, rather than arguing with anti-Pascal programmers? I'd expect such a smallish community of developers to find plenty of common grown in such a stable technology, so no need to throw stones.

Re: The silent majority in software

#316
post #218

>While browsing HackerNews, I sometimes get the feeling that every developer out there is working for FAANG Bubbles on HN; Entry level Web Developers are getting $200K per year working in FAANG or Big Tech. Non-FANNG are getting $150K anyway. Ruby may be dead, but PHP is even more dead. Java may rule the enterprise, but you should not mention Java. No one uses Oracle or MySQL, why would you want that? Postgres is the…

> Entry level Web Developers are getting $200K per year working in FAANG or Big Tec

What inflated most in the past 3 years is the ego of engineers. :-) On blind and job-seeking forums/groups, people incessantly flaunted their packages: $500K with 3-year experience. > $1M for an L7 applied scientists, getting promoted to staff engineer 3 years after graduating, and etc.

I think it all started after 2020.03. The market dipped, and then bounced back, and there was a talent war, thanks to an influx of cheap capital. I remember that my Amazon friends were very happy for a $600K package for their L7 positions, but all of sudden that number seemed normal after the great package inflation since 2020.

Re: The silent majority in software

#317

I think what the author says is true. The mass of digital workers use older, established and unfashionable technology, and are neither vocal nor particularly curious about the work. But there's an implication of moral purity at play. Are those who just quietly "mind their own business" a good, wholesome but misrepresented group? On the contrary, I think that in matters with far reaching consequences, which computing…

The insane race to adopt any fad to be cool, is a mindset I find far worse morally than using tried and true tools. It enhances risk. The latest tool language and/or framework is uncharted territory A tried-and-true solution has had a lot of bugs and issues documented and some of them solved. It also mean the team must take a break from development to learn whatever the new thing is. Some will need more time than oth…

This is a false dichotomy though. Your comment makes it sound like the only options are to keep using the same tech stack for 30 years or to "race" to adopt the "newest fad". What about switching from a moribund 30 year old technology to a mature 5-10 year old technology every now and then, based on an assessment of the very real drawbacks of living in the past. Security is one of the biggest problems with outdated software that many people are only too happy to ignore.

Re: The silent majority in software

#318
post #253

Earlier quoted context omitted.

People do that all the time on HN - I can give you a long list of comments complaining that HN is dominated by socialists, communists, Marxists, you name it. We should distinguish between making substantive anti-market arguments and shrill ideological rhetoric—the latter is going to get downvoted (correctly) regardless of ideology because it's against the site guidelines and the intended spirit of curious conversatio…

> We detached this subthread from https://news.ycombinator.com/item?id=32635382 . Well, golly gee, thanks! That's gonna generate some insightful discussion. I don't recall seeing very much thought to the left of Bernie Sanders/AOC on here (which is to say, left of the entire American mainstream). I'll believe that when I see it.

Look closer! There are quite a few accounts representing further-left positions on HN. Look up claudiawerner or deanCommie or one or two of the accounts posting in this thread (edit: oops, I meant https://news.ycombinator.com/item?id=32637686 - got my controversies mixed up). That's no problem as long as they stay within the site guidelines. Indeed, it's good for intellectual diversity. We do our best to protect accounts like that when we see majority prejudices acting unfairly (as well as other minority viewpoints, including strongly disagreeing ones).

Of course those politics are less represented on HN than others, but they're less represented in society too. I'd guess they're rather more represented on HN than they are in the population at large, given HN's semi-intellectual orientation. (Only 50% HN users are in the US, btw, last I checked.)

As for detaching this subthread- if we aren't going to mark a big-ass ideological meta subthread off topic, I'm not sure what we would. That's one of the most boring, generic, and pointless offtopic tangents there is.

(Btw, nearly everyone who makes large claims on that note is completely wrong, because people's perceptions about this are determined by their own pre-existing positions. That's why the question of which way HN is like-totally-biased is decided so differently by every camp. If you want examples, there are dozens at https://news.ycombinator.com/item?id=26148870.)

Re: The silent majority in software

#319
post #49

Earlier quoted context omitted.

As someone far left, I criticize capitalism routinely here, and it usually gets upvoted. As for free markets, it's hard to criticize something that is largely absent in our modern economy: capitalism is actively hostile to free markets and is basically a positive feedback loop for market monopolization. But I've seen people criticize free markets (as they understand them) and get upvoted as well, many times.

[flagged]

To judge by the current thread, at least, the difference isn't ideological, it's that int_19h is using HN as intended, and your account not so much. We're not trying to dampen curious ideological discussion here; we're trying to dampen internet dreck.

(You've also posted good comments to HN! my criticism here is narrowly scoped.)

Re: The silent majority in software

#320
post #6

> Usually, the comments on HN/Reddit are polarised by a single group of people who have the same opinion, Can't speak for Reddit, but that's not at all the case here. For example, I often speak of my hatred of microservices here. I'll get some upvotes and agreement, some people telling me it's a dumb opinion, and some people telling me we're doing it wrong and explain their right way. Believe it or not, I learn a lot…

> but that's not at all the case here. Very sorry but it absolutely is the case here. Your anecdotal data is limited to you, but HN very much operates as a hive mind, it just hides it better. Considering this place to be "superior" to other places only leads to complacence and further strengthens the echo chamber.

> HN very much operates as a hive mind

Most of us here agree with you.

Post reply on HN