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 !webdev@programming.dev
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
Programming should be more like other trades, apprentice for a year or two before getting journeymen status, then work up to master status. Pay and job changing becomes more fair, and we get some reasonable fucking hours and rules to keep us from making overworked mistakes.
Companies know what they’re getting asked on the programmer’s level (specific experience will still matter, but baseline will be much more standard).
And workers get experience and learn from the gray beards instead of chatgpting their way into a job they don’t understand.
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.
As a counter balance to that though, interviewers need to understand what they are hiring for and tailor the questions asked to those requirements.
This does not happen. At all.
Back in reality we have recruiters who can't even spell the name of the teck stacks they are hiring for as a precondition, and asking for impossible qualifications such as years of experience in tech stacks that were released only a few months ago.
From my personal experience, cultural fit and prior experience are far more critical hiring factors, and experience in tech stacks are only relevant in terms of dictating how fast someone can onboard onto a project.
Furthermore, engineering is all about solving problems that you never met before. Experience is important, but you don't assess that with leetcode or trivia questions.
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 strongly disagree. There is already a standardization of qualification of competences in the form of cloud vendor certifications. They are all utter bullshit and a huge moneygrab which do nothing to attest someone's experience or competence.
Certifications also validate optimizing for the wrong metric, like validating a "papers, please" attitude towards recruitment instead of actually demonstrate competence, skill, and experience.
Also, certifications validate the parasitic role of a IT recruiter, the likes of which is responsible for barring candidates for not having decades of experience in tech stacks they can't even spell and released just a few months ago. Relying on certifications empower parasitic recruiters to go from clueless filterers to outright gatekeepers, and in the process validate business models of circumventing their own certification requirements.
We already went down this road. It's a disaster. The only need this approach meets is ladder-pulling by incompetent people who paid for irrelevant certifications and have a legal mechanism to prevent extremely incompetent people from practicing, and the latter serves absolutely no purpose on software development.
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.
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.
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)
You can write it in whatever language you want, as long as it's rust.
/s
As someone who's quite vocal about my support for Rust, I can definitely see how it can go overboard.
But on the other end of the spectrum, saying that all languages are just as good or capable and it doesn't matter which one you use is definitely wrong. There are meaningful differences. It all comes down to what your needs are (and what you/your team knows already, unless you're willing to learn new stuff).
less sexism
That we stop fawning over tech CEOs
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
not being forced to have an Android or Apple smartphone, so more open standards and just Web apps instead of proprietary apps
ISO-8601 only
UTF-8 only
UTC only
Oh and more self hosting. Clouds are expensive and unnecessary for some stuff.
Maybe we could just reduce it to 4 time zones, and no DST
I would like to see:
- Corporations treating their customers like people, not just bags of money.
- Corporations and employers to stop spying on people. Like, it makes me feel so unsafe and that I can't really trust them.
- People becoming more tech literate.
- Open source software, such as Linux being used by more people, especially those who are not so tech literate.
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.
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
A friend of mine got asked if she had a boyfriend. She asked back "why that question". It was to know whether she would be likely to get pregnant and miss work.
What a horrifying mentality some companies have
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.
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
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.
Get rid of CRLF on windows or QWERTY keyboard layout
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.
I want my devices to run on an OS/framework which allows everything to be scriptable. Data should be visualised using simple/consistent interface.
There will be events, Actions, variables, data-streams, etc and the operating system should provide easy interface to quickly create new programs which can
- Visualize data streams (filterable) using simple interfaces(configurable)
- Create scripts which can create custom events or custom actions which are just built upon existing events/actions.
In such a system, the focus of apps should not be to add fancy interfaces for simple things, but to register new events, actions, data streams, visualizers into the OS and maybe provide new templates to use these additions.
Developers should go back writing efficient code in lower level programming languages to stop wasting CPU cycles for stupid reasons, like not wanting to use types, or something more stupid than that.
Lots of stuff -
On the internet, more open standards and community driven stuff. It's currently really, really annoying that on my mastodon there are a lot of people sharing bluesky codes, as if that's not just punting the ball for another couple of years. Although this will hopefully be a better outcome than straight up silos like the old social media, fediverse still should be the default way we think about connecting humanity (or something like it, the underlying tech isn't really that important.) Also, far more things should just be like, a dollar a month or whatever instead of having a massive amount of privacy invading, user experience destroying ads.
In software in general, more privacy. It should be assumed that unless I explicitly opt in, my data is just that, mine. This is a tricky one because I remain hopeful about generative AI and that needs data to improve the models, I'm leery of sharing my data with it because so far the more pedestrian uses of data mining have not been used for things that I can really support. I remain extremely leery about GAI that isn't explicitly open source and can't be understood generally.
On the hardware side, computers have mostly been good enough for a while now. Tech will always get better, but I would like to see more of a focus on keeping working devices useful. Like, at some point, technology products will cease being possible to be useful in a practical way because it can't run modern software, but we're leaving a lot of shit behind where that's not the case. Just about any device with an SSD and a processor from the last 10 years (including phones!) should be able to be easily repaired, supported longer, and once support ends, opened up for community support.
FYI the bluesky protocol is open and there's plans to standardize. It's also federated (the sandbox network is open to 3rd parties)
There's lots of new privacy techniques from cryptography, stuff like differential privacy and MPC could help a lot with making it easier and safer to use collaboration tools.
Any hardware that's abandoned needs to be forced to release the source of any needed software - the latest version.
We'd need a range of available licences, as to prevent any bullshit "you're only allowed to read this source" license.
This is going to suck for Apple, but it's going to be great for people who pay for some expensive microscope that's not supported any more.
There's probably a lot of legal nonsense that may make this impossible in practice, but I'd love to see this happen.
Focus more on stability in terms of apis. We can't be rewriting our apps constantly because they keep updating frameworks every year.
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
Move to VR and infinite screen space. We're so close. No doubt once Apple joins the fray it'll be time
What do you mean by "infinite screen space". In VR?
Have you worked in VR before? I feel like we will require different modes of input. A VR keyboard doesn't seem very enticing.