Unionizing
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
to add to this, id like standardization of qualification and competencies - kind of like a license so I don't have to "demonstrate" myself during interviews.
I hate being in a candidate pool that all have a degree and experience, we all go through a grueling interview process on college basics, and the "best one gets picked." Company says "our interview process works great, look at the great candidates we hire." like, duh, your candidate pool was already full of qualified engineers with degrees/experience, what did you expect to happen?
I'm betting you aren't involved in hiring? The number of engineers I've interviewed with graduate degrees from top universities who are fundamentally unable to actually write production quality code is mind-boggling. I would NEVER hire somebody without doing some panel with coding, architecture/systems design, and behavioral/social interviews.
This. I've had someone in my team that was completely self-taught with no relevant education that was a great dev.
I've also interviewed someone that supposedly had a master degree and a couple of certificates and couldn't remember how to create a loop during the interview.
I don't know how you could properly implement "standardization of qualification and competencies" without just min-maxing it in a way that favors academics
As a counter balance to that though, interviewers need to understand what they are hiring for and tailor the questions asked to those requirements.
For example, there is genuinely very little coding required of an SRE these days but EVERY job interview wants you to do some leetcode style algorithm design.. Since containers took over, the times I have used anything beyond relatively unremarkable bash scripts is exceptionally small. It's extremely unlikely that I will be responsible for a task that is so dependent on performance that I need to design a perfect O(1) algorithm. On terraform though, I'm a fucking surgeon.
SRE specifically should HEAVILY focus on system design and almost all other things should have much much less priority.. I've failed plenty of skill assessments just because of the code though.
Attention and awareness of the ways in which modern technology is harming ourselves.
We're providing people with the electronic equivalent of heroin, from a young age, completely rewiring our brains and detaching us from nature and each other.
The statistic that ~90% of American teens own an iPhone was shocking to me. It makes me think that from a young age, children are taught not to question but just accept their cage. If closed source is all they grow up with, opensource will be foreign to them. And that in a way that's worse than when you grow up with windows which doesn't completely lock you in.
More focus on the ability to maintain, repair, and perhaps even upgrade existing tech. So often people are pushed to upgrade constantly, and devices aren't really built to last anymore. For example, those yearly trade in upgrade plans that cell phone providers do. It sucks knowing that, once the battery in my cell phone finally dies, the whole phone is essentially garbage and has to be replaced. I miss my older smartphones that still had replaceable batteries, because at least then it's just the battery that's garbage.
We're throwing so much of our very limited amount of resources right into landfills because of planned obsolescence.
More privacy and less profit 🫣
I realize most people could rather not pay for a service they currently have for free (which is partly due to the lack of transparency regarding our data usage).
Have developers be more mindful of the e-waste they're contributing to by indirectly deprecating CPUs when they skip over portions of their code and say "nah it isn't worth it to optimize that thing + everyone today should have a X cores CPU/Y GB of RAM anyway". Complacency like that is what leads software that is as simple in functionality as equivalent software was one or two decades ago to be 10 times more demanding today.
Yes!! I enjoy playing with retro tech and was actually surprised on how much you can do with an ancient Pentium 2 machine, and how responsive the software at the time was.
I really dislike how inefficient modern software is. Like stupid chat apps that use more RAM while sitting in the background than computers had 15-20 years ago...
It leads to software obesity and is a real thing. I think it has to do with developer machines being beefy, so if you write something that runs on it and don't have a shit machine to test it on, you don't know just how badly it actually performs.
But it also has to do with programming languages. It's much much easier to prototype in Python or Javascript and often the prototype becomes the real thing. Who really has time (and/or money) to rewrite their now functional program in a language that is performant?
IMO there doesn't seem to be a clear solution.
The death of the device and the return of the system.
A device is a sealed thing provided on a take it or leave it basis, often designed to oppose the interests of the person using it. Like hybrid corn, a device is infertile by design: you cannot use a device to develop, test, and program more devices.
A system is a curated collection of interchangeable hardware and software parts. Some parts are only compatible with certain other parts, but there is no part that cannot be replaced with an alternative from a different manufacturer. Like heirloom seeds, systems are fertile: systems can be used to design and program both other systems and devices.
A system is a liberatory technology for manipulating information, while a device is a carceral technology for manipulating people.
Three things off the top of my head:
- Unionisation
- Way more stuff publicly funded with no profit motive
- Severe sanctions on US tech giants all around the world, with countries building up their own workforce and tech infrastructure. No more east india company bullshit.
That we stop fawning over tech CEOs
Probably less elitism. "Oh you build it in x language? Well that's a shit language. You should use y language instead. We should be converting everything to y language because y language is the most superior language!"
(If this feels like a personal attack, Rust programmers, yes. But other languages as well)
To people that really spend time in code, this banter is meaningless.
Phones with fully open source drivers including the bootloader and decent specs. Give me a UEFI over fastboot any day.
I'd also love it if electron and sexism would kindly go away.
not being forced to have an Android or Apple smartphone, so more open standards and just Web apps instead of proprietary apps
A pivot way from cargo cult programming and excessive containerization towards simplicity and the fewest dependencies possible for a given task.
Too many projects look like a jinga tower gone horribly wrong. This has significant maintainability and security implications.
Containerization (even for small things) makes modern infrastructure a LOT easier.
Containerization helps isolating system dependencies however
Data is a part of a person's individual self. Storing such data on another person is owning a part of their person. It is slavery for exploitation, manipulation, and it is wrong.
This distinction is the difference between a new age of feudalism with all of the same abuses that happened in the last one, or a future with citizens and democracy.
Never trust anyone with a part of yourself. Trust, no matter how well initially intentioned, always leads to abuse of power.
Honestly, just less waste. Wasted time, wasted hardware, etc. We spend so much time building devices that are meant to break, and be unfixable,, and making software that fights the user instead of helping. All in the name of profits or something.
We could be making so many cool things, but instead we're going back and forth not making any progress.
We spend so much time building devices that are meant to break, and be unfixable, and making software that fights the user instead of helping.
Kudos to the EU for forcing mobile phone manufacturers to support replaceable batteries and standardize on USB-C charging.
ISO-8601 only
UTF-8 only
UTC only
Oh and more self hosting. Clouds are expensive and unnecessary for some stuff.
User first, non-profit software companies. To maximize profits, software keeps sacrificing the users happiness. I want to stop having the argument that the user would want X, but hearing we can't do that because it will hurt profits.
Respecting privacy.
less sexism
Linux becoming mainstream
I’ll go further and say some sort of OpenStack like thing should be mainstream. Why shouldn’t home computers by default be able to deploy cloud-like services?
Out of the cloud and back into our federated hands/the edge.
People just love the easy path at the loss of sovereignty.
As a guy, I'd like to see less sexism in the field, there's no reason why gender would affect skill
I'm curious, are you in the USA? Working in Western Europe, so far I have never seen sexism (nor racism) happen at work. Outside of it, for sure though.
Are you a guy by any chance. I also hadn't noticed until the day I asked a couple of my women colleagues. Turns out it can be very subtle but "effective". And it can also come from women.
Accessibility and internationalization first. A lot of projects start without it and tack it on later. It's so much better to have good roots and promote diversity and inclusivity from the start.
Boot out corporate shitware, boot out adverts, and stop collecting data unless it is absolutely necessary, or alternatively just cancel the fucking product and don't do it.
Personally, I'm just sick and tired of modern UI design. Bring back density, put more information on the screen, eliminate the whitespace, use simple (and native!) widgets, get rid of those fucking sticky headers, and so on.
In addition to all the software freedom stuff, and so on. Also, I wish GPL were more popular too.
I love how we have free to use licences (MIT, GPL, CC, etc) and it would be really great to see the same idea used with terms of services and privacy policies! How great it would be to quickly see that this site uses fair tos and to understand what it includes? Maybe this would also nudge (at least smaller) companies toward not being horrible privacy invading monsters
The disappearance of all these tech peacocks and web turkeys who focus on their number of followers and the quantity of talks rather than quality. The dev rel advocates made the atmosphere toxic
Stop forcing updates on the lower level stuff that forces people to spend billions on maintaining code. This way, we could return to a world where you can just buy software and use it for years without some update borking it.
Also outlawing financially motivated (i.e. greedy) retroactive ToS changes.