• 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?

      •  v_krishna   ( @v_krishna@lemmy.ml ) 
        link
        fedilink
        English
        1811 months ago

        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

          • good question. Software and computer practices are changing much faster than other fields but with time, pillars are being better and better defined. Production quality code, CI/CD, DevOps, etc…

            Civil engieers have a successful licensure process established. See my comment regarding that.

            But an approach where a candidate would spend time under a “licensed professional software eng” would favor practical work experience over academic.

        • 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.

          • the trades is a great example of having to work under a professional. Other engineering disciplines also have successful licensure processes. See my comment regarding that.

            There are parallels to be drawn between licensed professionals (like doctors, CPAs, lawyers, civil engineers) that they all have time under a professional and the professional then signs off and bears some responsibility vouching for a trainee.

            • There are parallels to be drawn between licensed professionals (like doctors, CPAs, lawyers, civil engineers) that they all have time under a professional and the professional then signs off and bears some responsibility vouching for a trainee.

              We need to keep in mind that the main value proposition of these licenses is to bar people from practicing. There is no other purpose.

              In some activities this gatekeeping mechanismo is well justified: a doctor who kills people out of incompetence should be prevented from practicing, and so do accountants who embezzle and civil engineers who get people killed by designing and building subpar things.

              Your average software developers doesn’t handle stuff that gets people killed. Society gains nothing by preventing a software developer from implementing a button in a social network webapp.

              • society gains nothing by preventing a software developer from implementing …

                I see the point you are trying to make but I respectfully disagree. Technology is at the core of seemingly every field and at the core of technology is software. Will it result in direct bodily harm? Rarely. But indirectly the impact is certainly more substantial.

                Take internet as an example. The significance of internet and information sharing cannot be disputed. Disturptions to information sharing can send ripples through services that provide essential services. Networking these days is accomplished Vida software defined networking techniques. And we are becoming more dependant on technology and automation.

                I can see why the indirect risk is not as scary as direct risk, but you have to admit, as automation is growing and decisions are being made for us, regulation of those that build these systems should not be overlooked. Professional engineers have a code of ethics they have to adhere to and if you read through it you can see the value it would bring.

                As a counter example to your “doctors are licensed to not kill people” - orthodontists, who move teeth around, pose no fatal risk to their patients. Should they be exempt from being licensed?

                EDIT:

                Just yesterday news was published by Reuters that Musk and managers at Tesla knew about defects of autopilot but marketed otherwise. If those working on it had been licensed, then negligence and decietfulness could line them up to lose their license and prevent them from working in this line again. It would bring accountability

        • 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.

        • I think it’s important to check for competencies that are valuable to the employer during the interview process. However many, but admittingly not all, employers will use time constrained college level puzzels that a candidate can usually only solve if they have seen it before.

          I’ve been on both sides of the interview process. In my day to day I use a debugger to verify and step through code all the time. Hacker rank, the leading platform to test candidates and generate a metric report, doesn’t even have a debugger. Off-by-one index mistakes are sooo common to see from a candidate who is under time pressure. A few iterations with a debugger and problem solved. I advocate for candidates to develop on their on env and share their screen or bring it with them. But anyway, I’m ranting.

          I agree with most comments arguing against a standardization and pointing to the weakness. I didn’t say it works great, I just wish it was like some other professionals have. See my comment about other engineering disciplines that have a successful licensure process.

      • 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.

        • I agree with what you said, it is a shit show. but I wish it weren’t so.

          My good friend is a civil engineer and for him to obtain a Professional Engineer license (PE) he had to complete a four-year college degree, work under a PE licensed engineer for at least four years, pass two intensive competency exams and earn a license from their state’s licensure board. Then, to retain their licenses, PEs must continually maintain and improve their skills throughout their careers.

          This licencing approach is prohibitive to just “pay your way” through. This never caught on in software and computer eng because of how quickly it was (and still is) changing. But certain pillars are becoming better defined such as CI/CD, production-safe code & practices, DevOps.

  • 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.

  • 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.

    • I think the solution to this will come by itself: the supply chain will break down and people will have to learn to make do with what they have. It was like that in the Soviet Union, is like that in some parts of the world right now, and can easily return if we don’t get climate change in check.

  • 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)

    • 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).

      • Yea, I kept my original comment language-agnostic (Just referring to it as y language) - but added the extra wink to Rust because generally they seem to be the highest offenders.

        I have years of experience in loads of languages: PHP, Ruby, Java, Python, C#, C++, Rust - And that’s probably how I’d order the level of elitism. PHP Devs know everything they’re doing is shit - Python should probably be next in ranking of how shit they are, but they’re not self-aware enough - (Sarcastic elitism aside here - )

        Anyways, besides that - at the end of the elitism-spectrum there seems to be Rust. Someone like me says something about Rust in a general unrelated-to-Rust thread like this - and a Rust enthusiast sees it, and it would just devolve into a dumbass back-end-forth about how good Rust is

    • C’mon, a little bit of flexing is so nice.

      But, I get what you’re saying. I usually filter out this bullshit (because I’m a Rustacean myself 😜) but this doesn’t mean that it is as easy for someone else as it is for me.

  • 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.

    • (…) so more open standards and just Web apps instead of proprietary apps

      What do you classify as “proprietary apps”, and from the user’s standpoint where do you see a difference between them and web apps?

      •  cmeerw   ( @cmeerw@programming.dev ) 
        link
        fedilink
        English
        1210 months ago

        Pretty much anything that’s only available via an app store. The difference with web apps is that I can also use them on a laptop/PC and I have a bit more control about tracking (by using ad/tracking blockers).

  •  KseniyaK   ( @KseniyaK@lemmy.ca ) 
    link
    fedilink
    14
    edit-2
    10 months ago

    I would like to see:

    1. Corporations treating their customers like people, not just bags of money.
    2. Corporations and employers to stop spying on people. Like, it makes me feel so unsafe and that I can’t really trust them.
    3. People becoming more tech literate.
    4. 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.

    • Could you elaborate in what context and to what extend? I can agree that bigger companies with large user-bases should have a focus on accessibility and internationalization -

      But generally a lot of projects start with just one dev solving a problem they have themselves and make their solution Open-Source. Anecdotally, I’m dumping my solutions on Github that are already barely accessible to anyone somewhat tech-illiterate. No one is paying me anything for it. Why would I care whether it’s accessible or internationalized for non-English speakers?

      • Internationalization isn’t about the translation. It’s about not hard coding the strings that display. Putting them somewhere that is easy to swap out would allow users to provide their own if they wanted.

      • As a solo developer, some things are out of scope like writing translations or ensuring full compliance with accessibility standards. What’s important is to have some knowledge of what things block progress in these areas. For example, not treating all strings like ASCII, or preferring native widgets/html elements as those better support accessiblity tools.