The silent majority in software
vadimkravcenko.com
vadimkravcenko.com
In fact, this is my first comment here in HN. Little by little.
And at the end of the day, if you're respectful etc, who cares about being downvoted or having people argue back to you? Just take it on the chin.
That's why there are places on the internet (like here) where, usually, I don't find the usual online fluff content.
I've always been the vocal outspoken critic. XML, EJB, annotations, aspects, ORMs, everything JavaScript, agile, ad nauseum. (My non-technical list is way longer.) It's always cost me.
I really wish I could tell young me to just smile and STFU.
Here have an upvote!
No leetcode, no Bay Area, no FAANG.
Just people writing the code responsible for our banking, travel, supermarkets and many other systems which underpin our society.
I still have a strong suspicion that either your friends gave you wildly inflated numbers, or you happen to know some serious outliers. Check this out for a reality check - the highest-paying Eurozone country is Germany, with an average dev salary of about 60k, and 76k for seniors: https://blog.helloastra.com/2021/10/18/the-average-software-...
Freelancing is a different story.
https://ie.talent.com/salary?job=software+developer https://de.talent.com/salary?job=software+developer
(this says Ireland is almost on par with Germany, which sounds about right)
Do you have more details about the country and industry? As this is way way above the Java dev salaries in Austria and they'd kill for this kind of money without grinding leetcode. Nobody pays Java devs that kind of money here.
Positions like these don't grow on trees and since you say there's no leetcode, Linkedin or big-tech involved, I'm guessing there's other forms of gatekeeping for such a lucrative and easy gig, like having the right industry connections or knowing the right people in order to hear about the openings I would assume, as if they were to advertise this salary on Linkedin or other places they would be drowning in quality applicants, for even less money than that.
It's a bit like in politics; when times are good for the majority, most normal people aren't interested in politics; they have better things to do; this apathy makes it easier for freaks to get power and start messing with things... Until it gets so bad that regular people start noticing and begrudgingly getting involved in politics.
I am regularly up at night in a cold sweat worrying about how if I suddenly find a technically fulfilling job, realizing I forgot everything about computers after a decade on working on meaningless front end JavaScript framework.
On the front end, the trends tend to be more extreme; people will not take you seriously unless you give up on whatever tools you use and go straight for React or VueJS... Then when TypeScript comes along, everyone has to switch to that... I couldn't believe it when people started combining JSX with TypeScript... It's essentially a double-transpiled language now... The trends keep adding more complexity and everyone is forced to switch to that regardless.
It's had the pleasant side effect of also educating me on quite a lot--mixing in with people with different experiences and values has enriched my life, so I think it's a win-win. I just try and be careful to not get too wound up: that's the failure case haha (I'm not saying constantly check your blood pressure while using HN, but I'm not not saying it).
I was just talking about this, to someone, yesterday.
I'm often accused of being a "killjoy," or a "dreamkiller," by today's yutes. This is because I say 'orrible things, like "Have you considered what happens if..?" or "We tried that, a couple of years ago. It didn't work out, and here's why...".
In actual point of fact, I'm exactly the opposite. It's my job to Make Things Happen. I plan to ship everything that I do, and my work is generally focused around the endless practicalities and compromises, necessary to get products out the door.
This has often resulted in me being called every name in the book, as I try to avoid chasing shiny, and keep the eye on the ball. In my days of yute, this would keep me awake at night, worrying whether or not I had made the right decision, if I was an unintended, out-of-wedlock child, or if I really was a goose-stepping fascist.
But I have been getting stuff out the door, for pretty much my entire adult life.
These days, I sleep like a baby.
This hits too hard. I’m still in the “acceptance” phase of grief over the death of my ideal that there’s a “right” technical solution for every problem. And I’m in my 40’s.
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.
Today, the frameworks bite me in the ass about once a week, but I think it’s worth it to get safe React with strict TypeScript, and plenty besides.
Caveat: All infrastructure requires a lot of maintenance, though! YAGNI still applies, and hopefully you have (or are on) a team dedicated to supporting the tools that you do need.
XSS has long been a solved problem.
Security is definitely not an argument for using front end JS frameworks as they add attack vectors and complication to the stack.
Right now my position is something like tech lead, at least I do technical decisions in our company. And there's no way I'll allow to write anything complex without React.
And sites are bad not because of React. Sites are bad because of other things. If anything, React helps making sites less bad.
Second best thing is TypeScript. I don't like tooling, though, but I think it gets better.
This might be the oldest, grumpiest man on the front lawn yelling at childreniest take we on web dev, that I’ve ever heard
Nested ternary operators... though, because of how TypeScript does constants, I saw why they used this way of doing things so often.
Such a shame, since this is ‘a great way’ to dissuade women[1].
[1]: https://hbr.org/2014/08/why-women-dont-apply-for-jobs-unless...
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.
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.
Even worse, people don't even bother to look at other options even if it's just to learn from them.
Compare the new hip thing with a different one and people get defensive.
The fact is, there is an essential complexity that simply can not ever be reduced. But we should also strive to not get blinded by the n+1 failed, bad attempt because true, novel approaches do turn up from time to time, e.g. nix actually solves the dependency hell problem.
Which is funny because most modern devops tools are written by organizations with no experience maintaining critical systems or large scale.
[1] the marketing here is a CTO position himself as some sort of "though leader," which I wouldn't be opposed to, if there was some sort of substance.
Over half my coworkers including some very talented developers have no public repos. As someone with almost 200 that always blows my mind.
How do you work in software for years and not find some little hole you want to fill. That’s not a judgment call, that’s an honest question on my part. I want to understand.
Software engineers seem unique among professionals that you’re expected to maintain a hobbyist body of work that’s also your professional calling card.
I don’t even mean in that sense though, I just don’t understand having a skill like that and not using it for fun.
For what it’s worth, the best salespeople I know have almost no purely home life and are taking calls and making deals all hours of the day.
That's not the right conclusion to make. There are lots of developers who code in their spare time, but don't make their code public on Github.
I have had several side projects, but I am not inclined to share my code on Github. Either because I intend to make money off them, or because I don't have time to manage an open source project. Part of it is also caused by "imposter syndrome", where I don't have time to make the code good enough for public view.
You have over 200 public repos, which means you have a different view. But that doesn't mean that your coworkers don't do things on their spare time.
To be honest, I feel this attitude is beginning to spread to potential employers. Now we are expected to publish and be rated on our public repos, and it will just lead to lots of burned out developers in a few years that feel pressured to publish OSS and practice leetcode.
For me, I like coding, just like I like eating and I like socializing. The fact that I eat and socialize at work doesn't mean I try to avoid eating and socializing outside of work. Similarly the fact that I use a computer at work and or code at work doesn't mean I try to avoid using a computer and or code outside of work.
My working on whatever my company wants me to work on is not the same as me pursuing a hobby even if they overlap in the activities required to do both.
Also, some people just really enjoy it.
In my case, when I started in this industry 10 years ago I found most of my joy in coding, as time passed by I engaged into different hobbies that brought more joy to my life and ended up allocating more time on them than coding.
It's surprising (and awesome!) to me how much open source repos have become a part of many people's CV/resumé.
This is also possible because of competition. I am a student. All my peers grind much more Leetcode than me. So I put at least some code on GitHub and add that to resume. Not necessarily useful for others, but experiments I did etc.. included.
Because most people (myself included, 16 yrs professional experience) don't want to do unpaid work outside of work hours. How do you not understand that?
I also have a lot of hobbies that scratch the same itch, like making music. In fact, making music feels like more of a whole brain workout than programming, so I’d much rather spend more of my limited time on Earth doing that than writing more code.
These people are also good at politics. There is a reason bill gates is rich and rms isn't.
Love does not mean spending every waking hour on something.
I love my spouse, yet I need to socialize with other people, as well as alone time.
A full-time programming job fills up maybe 200% of the time I want to spend on that in a year.
I love my job. A lot. I also love my wife, my kids, my friends, my community, and a wide variety of time intensive hobbies.
No word of a lie, a few years ago a 'crypto' person told me that all the code I was working exceptionally hard at was a complete waste of time. Blockchain technology would solve everything. I just had to wait. And I am still waiting!
I have a lot to show for the work I have done since that conversation with buttons I have put online getting clicked millions of times with nobody personally thanking me. It is 'silent majority' code. No idea where the 'crypto' person got, I stick to my own lane and I don't need to rubber-neck.
Although it is good to share one's work so nobody else has to reinvent the wheel, if I have a better solution and I have developed it in the context of dedication to the day job, then that software gives a commercial advantage to my employer. Even if the core of the idea is mine and that I developed it in my own time, I 'bat' for my employer, and, if it is in their interests to keep the repo private, then I will.
There is also the matter of peer review. My colleagues are too busy to spend time on my pet projects.
The 'crypto' person has one of those LinkedIn profiles where they have more than the maximum amount of connections, with all kinds of grand job titles and the rest of it. I am just a programmer and I do not need a job title. I don't even need LinkedIn and I do not spend time inventing a grander version of myself online.
For code samples I can share the code that I worked on, albeit removing any business logic that is not mine to share. In my niche, with recruiters that know me, this 'just show me the code' works fine.
What if everyone worked like me? There would be no fine repos to plunder!!! Well, there are a few pull requests I have put into public repos and the majority of the population cannot say that. Plus, if I spend two decades silently writing code, then, one day, post a repo, it is going to be good.
To be honest the code I was writing two years ago makes me cringe with shame at how naive it is, so I doubt that my efforts from before that would have been for the wider public good, even if they did fix a business problem at the time. I have sometimes had to get working code rather than beautifully refactored code, then onto the next project.
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 from different people and their experiences.
I can't think of a single topic that seems to be prevelant here that doesn't have a sizeable amount of disagreement, in fact. And I wouldn't have it any other way.
I would expect the true silent majority just uses monoliths. If it works and doesn't make people complain every day when they work on it, why use a microservice? That's more work.
Everyone likes to think of microservices as a modern high tech thing, but to me it seems like old fashioned unix stuff, that appeals to people who enjoy doing simple weekend projects, trying to make their job into a series of tiny projects of the type they might do at home for fun.
The focus seems more on individual parts than on the vision of the complete project.
Of course it seems to just mostly move complexity into the high level gluing it all together, and spread it out in bits of interface code, but if you are more interested in working on simple but interesting challenges, and don't mind the more hands on dev ops maintenance work, and aren't that into building complex systems, I imagine you would like it.
I have never seen services (of any size) succeed in a place that wasn't using them to do vertical partitioning of a system.
I imagine you are probably talking about horizontally scaling each of those vertical partitions, but the phrasing is really confusing.
It's exactly this for me. Unix has been around longer than I've been around and will outlive my career if not my life. Components have been successfully updated and replaced mostly without significant disruption. Unix is a model for producing and maintaining complicated systems.
"Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang."
If your dev guide in the wiki says "to run unit tests, use docker-compose exec monolith test some.package.test_class", you're in danger.
This company needs to start breaking the monolith down into, well maybe not microservices, but at least smaller monoliths, if they want to achieve what they want to achieve.
Microservices won't magically fix issues with tightly coupled components or poor achitecture. Those problems can and do still happen with them.
Now, you may need some extra infrastructure for integration tests, depending on how you architect them, but that's also not a requirement. You could also use mock services, test containers, ... - essentially there's enough ways to make this sane.
It's annoying that people take badly written monoliths as an excuse to proceed to write badly written microservices.
Also, people who put code that reaches out to external systems in __init__.py are the devil, but the people who decided "sure, let's execute code when we import a module or package, even if we're just importing it to use a class, that sounds reasonable" are the super-devil.
The microservices equivalent needs Kubernetes to run your tests.
As long as the team is small enough and the core product is still undergoing rapid development, I think it's premature to use microservices. Too much overhead without any tangible benefit.
But with multiple teams working on different parts of a profit-generating system, it makes sense to the transition - ideally, having a relatively stable core monolith and developing new services around it, occasionally extracting some core functionality as needed.
That's more of a terminology point IMO, and probably not what they were talking about.
It's very complex. It has it's business use cases, but if you don't need it (or don't need full-blown OAuth2) then don't use it. If you're worried about the future separate auth user from account internally in your application (SSO ready) and move on.
It sometimes feels like there's a cabal of people who think the more complex something is, the more skilled they are for being able to implement it. That's not really where the skill lies for an engineer.
From the discourse on forums these days, someone fresh to the field might think there's no such thing as an internal API or an ongoing ETL layer without breaking each feature down to its own container and throwing the whole thing on Kubernetes. All those systems that are two to four layers and decomposed into half a dozen or so parts at the outer interface still exist in the world, even if they're not on track to be one container per feature.
Quite the opposite - they think about architecture as opposed to a crappy unmaintainable hodgepodge that the vast majority of web applications are.
Inferiority of web-based apps doesn’t come from nowhere.
Let's say you have 2 opposing POV: A or B
"A" has a silent majority so only 5 of the 5,000 people post a comment about A being the right POV.
"B" is a passionate minority so 5 of the 50 people post a comment about B being the right POV.
To the viewer, it looks like a balanced discussion and a topic open to much debate, both sides have equal voice but in reality "A" is by far the most accepted position.
For example you have 99% of scientist agreeing about global warming.
You have 1% who disagree.
So they write that "Some scientist disagree" and it sounds like its up for debate or maybe a significant portion know something the others don't.
In the pursuit of a "Balanced" POV they tip the scales vs just reporting where the scales are at accurately.
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.
Most of us here agree with you.
Found some screenshots from the early years:
https://www.reddit.com/r/historyofreddit/comments/q1zks/redd...
However; check out subreddits like /r/rust, it looks a lot like HN
Wonder how much of a difference it makes that most HN users can't downvote.
I think Programmer Anarchy was a early adopter of microservices and as they ran a business as developers I think this may have been useful
> polarize: divide or cause to divide into two sharply contrasting groups or sets of opinions or beliefs. > "the cultural sphere has polarized into two competing ideological positions"
Hmm...
Compare any topic relating to capatilism, the plights of the low income classes or politics in general. I often amuse myself comparing the takes between the two sites relating it those topics.
Also HN is more clinical, it discussed the death of Swedish reporter like it was a cold case ready to be ripped through.
And also more easily distracted by seemingly innocent open questions like in politics for example "Why is it X job to care about this?" since you can't dismiss it with a short meme it creates discussion that the OP only wanted to distract from the original article.
Apart from that HN discourse is 100% better than reddit and I agree with you in some terms.
What I'm NOT in favor of is the disrespect of legacy. There are millions of systems out there in the world in manufacturing environments. These systems are ancient, I worked in a shop making gears for 5 years. The CNC lathe we used had a GE computer running it from 1970, and it used mylar punched tape to store programs. It was a huge investment when it was purchased, and there was an old guy (about 70) who they called for repairs on it and much of the other ancient hardware. This shop had 6 employees, including me. At it's peak, there were 50 or so, during and after the Viet Nam war.
That hardware was sooooo old, but it still worked, reliably turning out the same few types of shafts and other parts we need to turn into gears and splines and other gear shaped objects (like turbine blades).
The programmer in me desperately wanted to keep the lathe, the motor, and just replace the control system with GRBL, but even if that was free, and worked the first time, the risk that an upgrade represented was completely unacceptable.
When you're in a job shop, there are parts you've been making for a generation in small quantities (less than 500). Those parts are relied upon by other businesses as part of their product. If you "upgrade" any part of your process, you risk producing a part which doesn't work somewhere down the supply chain. If you make that happen too many times, you'll lose your customers.
It's also important to know that gear cutting was only a step in the production chain... we didn't start from raw materials most of the time, we were given a "blank" on which to cut teeth, that already had many operations performed on it. It was almost never just a matter of sawing off a new piece of metal and starting over. You had to respect the work already put into a gear blank, or shaft to cut splines on.
The incentives in manufacturing are strongly against any type of change. However, they aren't blindly obeyed. If there are new jobs, then it's reasonable to try out the new machines or new systems in those cases. If something can cut the cost of a part by half, then it might be worth the risk, if the customer approves a change.
Please don't think that those in the silent majority of the world are un-reflective of the needs for security and other patches... but if things break every Wednesday, they'll disable Windows Updates forever, for very good reason.
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 is, silent majorities are the problem. Unreflectively going along with the programme becomes a kind of passive negligence which should not be lionised in a folksy way.
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 other, which may slow it down even further.
A lot of systems are developed in domains where "go fast and break things", A/B testing etc. would not be at all advisable.
The main selfish focus on "adopt whatever is hip this week" is to pad resumes with it, consultant can come in to help train people $$$. Consultants will fight for it to use the newest and greatest since it may increased development time $$$.
An older tech stack doesn't mean never updating the system. either. Perl still gets updates. Linux distros still get updates. In fact, often a newer piece of software will introduce bugs including security bugs that were fixed in older software long ago. All things being equal, though, using a language with better string handling and memory safety can be a boon if your old stuff is in something like C.
It's an interesting dynamic. I've been on both sides in my career. Silent is much easier but doesn't get you recognition & promotions.
...and don't forget to include the wonderboy/girl from the overpaid consulting firms that come in and tell the CEO they are doing everything wrong and should move everything to: (pick the latest technology fad)
and then 2-3 years later they come back and convince upper management to move to the next big thing...
https://www.hanselman.com/blog/dark-matter-developers-the-un...
Why is being heard a good thing? When I was at school I was the insufferable kid who always put their hand up as I knew the answer. Thinking somehow that the teacher wanted to know the answer. What I learned as I grew up is a lesson learned is better than a lesson told.
Put another way, if you are not listening to the person who signs the checks, than your career will be rather short.
"Nor would a wise man, seeing that he was in a hole, go to work and blindly dig it deeper..." (The Washington Post October 25, 1911)
(i've written on it here and how it does favor creators https://www.swyx.io/puwtpd#why-does-this-work-on-them )
I've been passively reading HN for a few years as a junior dev after my team lead introduced the site to my before even creating an account.
I've been making comments on a few topics of interest now and then in the past three years.
Since a few months I feel like "yeah, I should probably write some docs + blog posts" which might be interesting to other HN readers.
I've also noticed that some HN users write a lot of comments to any kind of post whereas others mainly commment on articles related to their are of expertise.
There are a lot of developers out there, tens of millions. That little bubble of users actually commenting on HN is tiny in comparison. So, yes it's good to be aware of that and appreciate the world is bigger than that. At the same time, like with politics, just because they are silent does not mean they don't have opinions. And they vote. With their feet. They'll adopt practices, tools, and technology they like or need and walk away from other things.
This is one of those things that "everyone knows". It may have been true at some point, but it definitely isn't true anymore. The reality is that most discussons here treat PHP fairly, giving it credit where it deserves it and also pointing out its weaknesses.
Examples:
- (2022) https://news.ycombinator.com/item?id=32325055 : top comment praising PHP
- (2022) https://news.ycombinator.com/item?id=30219984 : the top comment is a fairly positive comment overall, without falling into zealotry.
- (2019) https://news.ycombinator.com/item?id=19917655 : the top comment is someone praising Laravel and the "modern" approach to php. The general feeling is that PHP got some things right (shared-nothing), doesn't offer anything particularly unique but is surprisingly effective in reality.
Personally, I dislike this attitude. I think the internet is a good signal for what will be in the streets in 2-4 years time unabated. The attitude OP reflects is one that was valid in the 90s and early 2000s, but not today.
Not being skeptic in 2022 of comments or news online is being very naive.
I simply forget. Maybe that's how they get you. They wear you down.
Moreover "the internet", whatever the meaning, is not a faithful representation of the "real world". Go tell the millions of people without toilets or working the whole day the slacktivists spending their days on twitter represent their struggle...
Places like this, get caught up in “shiny,” and that doesn’t always reflect reality.
For example, it is fashionable, hereabout, to throw shade on PHP.
I present Exhibit A, the “Fishtank Graph”[1].
We were just discussing something similar, yesterday, in the SwiftUI thread[2].
[0] https://vickiboykis.com/2019/05/10/it-runs-on-java-8/
[1] https://w3techs.com/technologies/history_overview/programmin...
I do feel like engineers who put themselves out there and engage on HN, Github, Chat groups, etc, get "polished" and get better as engineers, assuming that association in these forums causes them to read more code or think about paradigms.
If "silent" are mostly keeping to themselves, they might have some of their own innovations independent from mainstream engineering, but lack common knowledge, which can be accounted for by reading a lot of programming books, release notes, docs, etc.
Unrelated, some unsolicited feedback for bloggers, I like to click on images to zoom in (quicker than ctrl+equal 5 times). So at the very least please wrap the images in a link to the image src. a humble request.
I suggest using a TamperMonkey script to accomplish this on your end; outside of thumbnail galleries, it runs against common expectations, so you'll have better luck taking control yourself.
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 only DB forward.
Everything should be Remote. Communication should always be Async.
Oh, Ada is the second Forbidden Fruit on HN.
Facebook is...... OK I guess we shouldn't go there.
USB-C will solve all cabling problems. Everything should be USB-C.
5G is useless.
AV1 and AVIF. The video and image standard to rule them all.
Nothing should be centralised. Everything should be distributed.
Finally, The unwritten rule of HN. You do not criticise The Rusted Holy Grail and the Riscy Silver Bullet.
* Everything should be free and open source. Just because small portion of the HN can donate to their favorite projects, everyone should run on donations. Ads are forbidden on the internet. No internet business should be a profitable company.
* Tiring and useless interview process designed by FAANG etc is no way a farce and a totally justified practice (some version of Stockholm syndrome there)
* Private companies should not interfere in the politics/internal matter of another country. (This view quickly changes when they see the negative effect of same companies in their own country)
* YC is the best and the most exclusive startup accelerator/incubator in the world. If you got accepted in YC, you have won in life.
I'd say it's the opposite. The view you're expressing: that the standard software interview process is somehow "useless" strikes me as a bubble here.
I'd wager most people not on hackernews don't hold your view.
To be fair, some ads are absolutely obnoxious.
I have never ran into anyone anywhere, cyberspace nor meatspace, who has claimed that 5G was actually useful for something.
Personally I have it turned off on my device, there’s not enough of a noticeable benefit and a non zero hit to my battery to have that part of the modem turned on.
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.
Plenty of people are stuck with Oracle, but starting with it nowadays is something else.
I still believe it's a case of the Oracle people being incompetent, and the system technically being able to scale at a rate somewhat larger than 1. But if a potential gain can be acquired for a few million grand, but nobody has the technical capacity to actually acquire it, is the potential actually there?
>Entry level Web Developers are getting $200K per year working in FAANG or Big Tech. Non-FANNG are getting $150K anyway.
I don't browse job threads much and I don't pay attention to people mentioning salaries so I can't say.
>Ruby may be dead, but PHP is even more dead.
>Java may rule the enterprise, but you should not mention Java.
For PHP and Java, there is a very strong case to be made that "dead" means "utterly flawed and completely uninteresting and somewhat ugly\repulsive and only worth writing if the money is very very good", which is (in my very humble opinion) trivially true. It doesn't matter how much they are written, they are dead branches on the PL evolutionary tree, they won't have progeny or nostalgic mind share rooting for them as languages.
I don't know what people declaring Ruby "dead" mean, perhaps its about Rails falling off the hype train or Python eating a lot of its potential mind share and market niche. But Ruby is definitely nowhere close to Java or PHP in bad design, it's a descendent of Smalltalk (which Java aped badly) and Perl (which PHP aped badly), the union is very fruitful and the language is delightful.
And for what it's worth, I remember 2 times I was pretty heavily downvoted because I criticized java. Same goes for C++ and JS. I don't remember seeing anyone downvoted for hating PHP, but also none for defending them. Seeing bubbles is very correlated with what your own biases are.
>No one uses Oracle or MySQL, why would you want that? Postgres is the only DB forward.
Maybe Oracle Bad, that's real and very popular here on HN, for good reasons. I don't remember anyone seriously saying you can't use MySQL or only use Postgres.
>Everything should be Remote.
God no, that's aweful. This position has fierce opposition, including me.
>Communication should always be Async
Maaaybe ? I see plenty of opposition to this. My personal opinion is that good comm is not sync or async, it's exactly what it needs to be to get the message across.
>Oh, Ada is the second Forbidden Fruit on HN.
Not really, it doesn't get mentioned alot because it has miniscule online resources but whenever it's mentioned (e.g. in the context of formal verification with Ada\Spark) there is broad enthusiasm and interest.
>Facebook is...... OK I guess we shouldn't go there.
Haha, yes. Very true. But (like Oracle) also for very good reasons. But I agree that Apple, Amazon or Google aren't angels either, and it rarely get mentioned. In fact, if I can choose a single FAANG company to destory overnight, it would be Apple, their way of treating customers disgust me so much.
>USB-C will solve all cabling problems. Everything should be USB-C.
>5G is useless.
>AV1 and AVIF. The video and image standard to rule them all.
Interesting, I never even saw those opinions expressed once, and I'm fairly addicted to HN. I'm beginning to suspect there are "Meta-Bubbles", bubbles where your perception of what things are bubbles is itself bubble-like.
>Nothing should be centralised. Everything should be distributed.
Hmmm No ? There is an HN bubble against cryptocurrency, which should be impossible if what you're saying is true.
>You do not criticise The Rusted Holy Grail and the Riscy Silver Bullet
True-ish, especially Rust. But there is plenty of aweful criticisms of Rust that always go something like "Everything the Rust compiler can do my own custom home-grown linter tool can also do, nobody needs memory safety if we just be careful also smart pointers and RAII". There is plenty of bad things to say about Rust, none of it leaves C and C++ in good light.
I know quite a few companies that develop on .net, mainly in C# instead of Basic of course. But I rarely see any discussions about it. Wouldn't know where to ask in-depth technical questions.
Assuming all developers who are using something like COBOL or Perl are content with it is hilarious. It doesn't really get much worse than something like COBOL or Perl in terms of ergonomics and ease of use.
Whether you would enjoy it is a different question, but my impression from years of doing Perl is that the most committed hackers tuned their environments and organized their projects just so, and would laugh at anybody else’s idea of “ergonomics.”
COBOL, on the other hand, is a domain-specific language for a domain most people here have no experience with: Software involving fixed-format input and fixed-point numerical calculations. It would be amazing if some language integrated a clear way to describe modern, recursively-defined input formats with the same degree of language support COBOL has for its data definition language. Go is still too verbose, sadly.
Fortran suffers from FORTRAN, by which I mean if you mention Fortran to people they think of 1960s-era mainframe software with no string support, column-oriented fixed formatting, and GOTO use by people who'd never even heard of Dijkstra. Modern Fortran is not like that; sadly, much like Lisp, they never changed the name, so old ideas linger. (This is also true of Cobol.)
Bingo!
I am reading this as someone a little too young and too European to yet know much about Nixon, but would prefer if HN could avoid potentially making an idiot out of myself, when talking about recent history.
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 or Visual Basic. Maybe they were controversial in the 1990s? Now I'd call them merely unfashionable.
- WaterGate
- The reputation of the Vietnam War
- The good things that came out of the counterculture like the Civil Rights Movement
* "I can build this over a weekend." - when someone posts their own project here
* "I don't understand why they need to hire so many people" - when learning that a tiny app (e.g., Twitter, Uber) has thousands employees.
Without a good bunch of enthusiasm you cannot do this job well. Moreover without some strong opinions that you are able to voice you just are a puppet of pull request comments and cannot profile yourself in your team.
Articles like this often fail to differentiate that there usually isn't one large blob of people that are chatty about all the things all the time. Usually individuals have their own specific issues that they're interested in and passionate about and will default to the consensus or be fine with any option for the rest of it.
I just only suggest a thought: did you noticed how many now can't use pen&papers properly for instance to write something a bit more long and complex than a quick few words note? Well, there is nothing wrong in that IF they know to do the same with some other mean... The issue is that they do not equally know how to do on a computer. Actually we have even lawyers unable to format a decent letter without a template on a computer or by pen&paper. I call them skilled illiterate... And that's not only about a letter, for diagrams, simple drawing it's the same. Most can't even IMAGING doing something like humans have done on paper 10+ years ago with a software, they can't imaging having in a unique documents some text, formulas, a plot, an email etc. They are so trained that you need a different program for anything (because that's good for business) that they feel the WOW effect just seeing a modern limited and limiting "notebook UI". Some colleagues (sysadmins and some devs) have a similar effects seeing me with Emacs, many at first demo act like children in front of something new that seem magic to their eyes. That's is.
It's not as if the world lacks ideas or opinions. If anything, we lack wisdom.
The debate around languages often focus on syntax differences, as if they alone would make a huge difference. We need to consider the eco system as a whole.
Many have probably read the "blub paradox". The context of that article is his experience from building a product in the late nineties, when the eco system was so much smaller than what we have today. In a world where you have to invent your own frameworks and libraries to get things done, the article makes sense. I don't doubt that you will benefit from a powerful language, when you need to make something truly novel.
Today we are in a completely different solution where 90% of web startups should use one of the existing frameworks and libraries to build upon, rather than making your own. It's basic "plumbing" compared to what we used to do 20 years ago. For the remaining 10% where they need to (re)invent a database or framework, a powerful language may have advantages when your product is mostly code.
Another tendency caused by the bubble effect of HN/Reddit, is that many move on to different languages and is left with their impression of a language as it was years ago when they last used it.
One good example of this is Java. If you asked me 10 years ago, I would say that Java had stagnated. If you ask me today, I will tell you of all the improvements that have been made and many more planned. A lot of the arguments against Java is based on old articles and experiences that are no longer valid.
I am also wondering if some of the dislike is also caused by many learning it in school in an environment that has little to do with real work, but that is a different rant.
I'm not saying Java is the coolest language out there, but the massive amount of open source and battle tested frameworks like Quarkus and Spring is a differentiator. I would argue that the "Blub paradox" of yesterday should be replaced with a "Bubble paradox", where the real work is done by pragmatic developers who use an ok language with an excellent eco system.
It is sometimes frustrating to read articles about startups who clearly should have chosen better. Everything is fine in the beginning, and they write blog posts about the success they had which is circulated within the bubble. After some time they need to scale up and implement functionality that is not supported well in their eco system. They then spend time on solving problems that seem novel to them, but is basically a solved problem in a more mature eco system. Instead of growing the product, they are forced to spend time on the "glue".
To paraphrase Breaking Bad: Are we in the money business, or the programming business?
If I have to bet on two startups, where one uses the latest bubble language and the other Java, I would bet on Java in 90% of the cases. I know that they will get things done. Perhaps even modern PHP would be preferable.
I would only take Java for a B2B onprem app. For anything else, I'd go with other languages.
What's your reasoning?
Java has one of the best ecosystems with lots of libraries and frameworks, especially for high-perf distributed applications (see Hadoop, Kafka, Ignite, Cassandra, etc). And there are plenty of developers to hire. So it is a good choice for most backends.
As a developer I prefer C# (IMO the best general purpose language these days), but from the business perspective Java may be a better choice in some cases.
This is a shocking misunderstanding of history. The “silent majority” Nixon spoke of were folks opposed to anti-war protests. Nixon intentionally prolonged the war for political gain- killing additional thousands of people.
https://www.smithsonianmag.com/smart-news/nixon-prolonged-vi...
If you ever find yourself about to say that Nixon did something that a non-evil person would do, you’d better triple check your facts.
I mean, he did give us the EPA. What the ulterior motive was, I'm unsure.
[1] https://www.history.com/this-day-in-history/nixon-insists-th...
[2] https://abcnews.go.com/Politics/video/richard-nixon-im-crook...
Actually Nixon did several things "a non-evil person would do", Nixon as evil is a carricature.
Like giving back Native American lands, or green-lighting the first major environmental protection legislation, or to get talking with China. And of course the Vietnam war itself was escalated by the "good" JFK, and even more so Johnson.
Later presidents did things many times worse than Nixon (his Watergate business included) and got off scot-free. But Nixon had an ugly mug, and was an old-style politician, in an era when the boomers were young and "rebellious" and wanted someone more trendy.
We will have to fix that. preferably without a global war
What such law ever passed Congress during his tenure?
Nixon going to China probably saved 100s of millions of lives. Chinese lives of course but lives. Sadly for Nixon the lives he saved did not vote in Chicago.
Nixon was not evil. People arent evil. Decisions people make are evil.
What a waste of time that was.
You have high standards.
I guess Wikipedia is all wrong again, huh
https://en.wikipedia.org/wiki/Silent_majority#:~:text=The%20...
Well naturally. He's a right-wing politician. See also Margaret Thatcher, Tony Blair, Benito Mussolini, and any of the rest.
That's a very specific wording; were these people also pro-war, or did they just not like the protests themselves?
I think that's an important distinction to make. In my country we've had farmer's protests (environmental legislation has caused the government to target some farmers, things like forced buy-outs. It's all on paper and wouldn't affect that many people or the food supply since 65% is exported anyway, but still); while a lot of people agree and stand with the farmers, what they don't agree with is the protests they've done where they block the highways, first with just slow moving tractors as they made their way to the government seat, more recently with barricades, manure and burning hay bales. That affects people directly, the upsdie-down flags and slogans on fields along the roadside don't.
Those also don't achieve anything. The only form of protesting that the population at large accepts are either illegal or useless
Excuse me? The "silent majority" was the set of Americans who were for the war, not (loudly) protesting against it. Nixon was all for continuing the war.
"In this usage, it referred to those Americans who did not join in the large demonstrations against the Vietnam War at the time"
> The “silent majority” was used by President Richard Nixon during his presidency and his campaign against the Vietnam war. He spoke to the people who were not actively voicing their opinions and who were overshadowed by the vocal few who were supporting the war.
(You've also posted good comments to HN! my criticism here is narrowly scoped.)
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 conversation - https://news.ycombinator.com/newsguidelines.html
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.
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.)
I think most HN users are quite receptive to debate around capitalism. It’s just that the majority of this debate is copy pasting slogans and making easily disproven statements.
> about things they like and understand
They like politics and understand very little about being a hacker, certainly.
And lastly: do you honestly think most production or data engineers should be imprisoned or stripped of their titles?
I'm not an amateur. Or if I am than everyone is too since I have written software for project that would kill tens of thousands if it fails.
Other than that the vocal minority was always my opinion on Rust. A small core of true believers who decided that convincing people they should change the world is worth more than actually doing any work in Rust.
The fools over at Reddit call some things "adulting", because the idea of growing out of childhood is so foreign to them that they'd rather make it childish too. It's the same basic disease.
> Such a saying is what the incompetent obsessively repeat to themselves.
I'll take humble over arrogant.