Unionizing
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.
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.
Evaluation is fine but I’d like to eliminate the overuse of leetcode style questions. I’ve used those skills in exactly two places: school and tech interviews. If the tech job is actually for a scientific/biotech company then it’s fair game.
Also, schools don’t really prepare students for writing production code (if it’s a compsci degree). I learned about unit testing, mocking, dependency injection, environment configs, REST APIs, and UI/UX on the job.
And yet that could rule people like me out. I have a history of delivering longer than most developers have been alive, across many technologies, languages, toolsets, for several industries. My resume looks fantastic, and I can pull together a larger strategy and project plan in my sleep, and deliver a cost effective and quality solution.
However after jumping across all these technologies, I really rely on my IDE for the syntax. I’ll use a plugin for the cli syntax of whatever tool, framework or cloud service we’re using today.
I like to think I’m extremely qualified, but that programming test on paper will get me every time (why the eff is anything on paper these days), and certifications were a thing for early in your career
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.
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.
Criminalizing proprietary software.
What alternative would you propose? FOSS is barely getting any donations / sponsors - So how are developers supposed to make a living?
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)
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.
Well sure, it depends on the context. If it’s a shitpost on /c/programmer_humor, whatever, meaningless banter.
If it’s a serious question, (maybe for a beginner) asking how to do something in their language, and the response is “It would be a lot easier in y language” - I don’t think it’s particularly helpful
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
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.