NireBryce

reality is the battlefield

the first line goes in Cohost embeds

🐥 I am not embroiled in any legal battle
🐦 other than battles that are legal 🎮

I speak to the universe and it speaks back, in it's own way.

mastodon

email: contact at breadthcharge dot net

I live on the northeast coast of the US.

'non-functional programmer'. 'far left'.

conceptual midwife.

https://cohost.org/NireBryce/post/4929459-here-s-my-five-minut

If you can see the "show contact info" dropdown below, I follow you. If you want me to, ask and I'll think about it.


NireBryce
@NireBryce

(if you're here for the software mentorship rant, click here to make sure you're seeing the whole thread. experimental cohosting is confusing right now)

this became a thread. For the sake of everyone’s feed, you’re gonna have to read-more instead of skim.

Read More ### does it work? yes, but. ### is it good? ... yes. ### does it break things you find intuitive? yes. ### are there productivity tools that only exist on it, that make people so efficient they cannot use anything else without a noticable slowdown? yes ### does it have behavior that only makes sense with 30 years of context? absolutely

so why use it

because if you need it to do something, with enough patience you can make it do it. Sure, you could have made a specific utility that could do it better, in less time. But you wanted it to be useable outside this one context.

unfortunately, your config has drifted so far from the standard that it is now a unique product, useable only to you, and you are writing plugins for that, and no longer the actual application

At least take this machete.

You'll need it when you find the trailhead someone else started and left unmaintained, forging a path only to let it disappear for those behind them.

and in the end?

You'll be powerless to stop it; who has the spare cycles? Your fork, then too, will be unmaintained. It's just the way of things.

Things move too fast.

After all, that's why you picked the wrong tool in the first place. It was there. Didn't need to get comfortable with something else, or grapple with standards, with maintainers.

it's not like there's a choice at the moment. It's also why there's some things locked in zsh that are now being reimplemented in fish and NuShell, even though having them be external would be even better. But that requires more time.

No one's got time for that.

But at some point we have to realize "If it sucks, hit da bricks" is the reason there's just guns pointed at feet lying everywhere.


NireBryce
@NireBryce

I've got some very spicy thoughts about software mentorship, pedagogy, speed-as-elitism, and how by training people to be experts and never using their skills, the industry is not just filtering by class but also monopolizing the brightest minds of other nations to enrich the corporation's instead of their home, when you only recruit those people.

like, much more than just "well yeah that's shareholder capitalism"

jumping from innovation to innovation, abandoning hardware every 3 years, means no one makes it useable and no one knows how anything works, even the people who have that as their job

Read More

but i know i don't have solutions, and like the texts I keep finding dated 2015, 2009, 2005, 1998, 1995, 1989... I fear I too am resigned to simply keeping the lights on, hoping the next people will have the spare cycles to realize, collectively, that the speed is a large part of the problem.

sure you can abstract it as exploitation, poor work life, etc. but it has a root cause that isn't just shareholder capitalism and a lot of that is this idea that everything should accelerate. Exploitation of Moore's Prophecy has outstripped the capacity of most people to learn how to use what they own before it becomes obsolete. Especially the people who don't have technical interests.

maybe i should cloister myself from internet and write the thing on this.

just, not so fast. not immediately.


NireBryce
@NireBryce

The thing about software right now is that the industry has convinced everyone that they're looking for a specific list of skills. Coding interviews, while they're slowly changing now, were seen by potential hires as testing their knowledge.

Read More

of course they want you to know the basics, but after like, 2005, the thought leaders in the tech hiring space were looking at your ability to collaborate, ask for help, be honest when you don't know something. a test of problem solving ability. But if you said that out loud, you'd be giving up the game. So other companies latch onto it and start hiring based on what amount to SAT tests, as the low bar.

The guy who released fizzbuzz to the world did it with the statement that was widely interpreted as "sometimes you find someone who just can't code, and this is to weed them out". meaning the problem solving; not the memorization of CS snippets.

But people wanting coding jobs latched onto it literally. there's an entire industry around solving long-solved computer science toy problems and getting meaningless scores from it to put on it resume

the job postings don't help. they're aspirational, if you had those skills already you'd be terrible at the job, comfortable, not striving to learn how to do the thing best.

other companies copy those thinking they're what's actually required to use that technology.

no one knows what they're doing. the trade, the craft, the industry, isn't putting the text on the page. If it was, well, let's just say after a year of instruction, pretty much anyone can follow a tutorial that gives them the commands to write.

no, the knack is problem solving.

your skills can transfer to other things, you just have to figure out how to know enough about the other field to apply your old skills to it.

it's also learning, often accidentally, since that comes from the problem solving loop

I know a lot of us know this, we're treading old ground. but setting a scene is important


NireBryce
@NireBryce

so we've got:

  • computer science problems used to evaluate people
  • that they only learn about through university
  • or hearing through word of mouth to read the right books
  • who then practice a lot for it
  • only to find that what it really did was set them back.
  • but generally they don't know that. they just see it as part of the work culture

now, people ace that test but often have no ability to problem solve or collaborate on the fly once they get in. the interview was pantomime, they were told it was so important so they practiced every step, inadvertently concealing the one thing it was testing for.

That's not to say problem solving is something you should test for.

instead

Read More

so these companies have mentorship programs, official or unofficial, which basically act to bootstrap this key skill

  • that university didn't teach because it stressed CS, assuming people will just stumble on problem solving skills or drop out

  • and self learning rarely teaches because the only people with consistently enough time to write about career seeking stuff are other people either looking to join the industry, or people who just did, since it's fresh in memory.

it's very backwards.


NireBryce
@NireBryce

See, the key mistake of the software industry is not realizing that the code is just writing. it's not what matters.

Did you know? the US Air Force, now and especially during the cold war, will spend hundreds of millions of dollars to recover a downed airman.

You'd think that's for morale reasons. An understandable assumption -- many might be more likely to risk their lives willingly if they knew they wouldn't be left alone.

But that's just a side effect. The pilot is the final product of everything the airforce put into them and more:

Read More - every meal - every instructor - every training - every lesson - every hour of maintainance on their trainers and planes - every pound of fuel they burned - every story they've listened to - every experience they've had - every lesson of every battle they've ever experienced that the air force would have to do again, for just as many years, to bring someone else to their level. just the oral history they save is worth the cost, and the risk.

They tell you that if something happens and there's any chance fixing the malfunction could kill you and the plane, you don't gamble, you choose the plane and eject.


NireBryce
@NireBryce

in 2018 I had a frank talk with someone I'd been mutuals with on Twitter. a hiring manager at one of the big five of the time.

they said they hire based on potential more than correctness.

I wish most managers saw it that way. Instead, even there, the myths get reinforced, at least on some teams.


NireBryce
@NireBryce

mentorship needs to be proactive, it needs to be focused on problem solving, collaboration, and "teaching someone how to learn".

I don't know if there's any curriculum like it. you'd need to assume basically no knowledge of math past algebra, maybe even then. could teach the advanced math with python, writing it out, introducing the concepts by writing the functions, which is a better way to learn than just using the symbols and taking their word for it. but you don't focus on the code.

figure out a way to teach people to learn via doing, and do via Web Search

then teach them how to do the job, after you hire them. ideally do all of this after you hire them. no other industry is like this one, where there only path into it isn't actually taught until you get there or stumble on it.

anything else is just shooting ourselves in the foot, just like I read about in 1974.

Read More

so many jobs are being eaten by the industry. the best thing you could do is have union halls that teach this. the second best is to make it embarassing for the companies not to be doing it. basically no other industry works this way outside of the other heavily exploited industries like TV, music, publishing, movies. The only way you change course is by changing the game.

at least, from where I'm looking. and from where every post in this vein in the last 50 years was looking.

I know this is also what every teacher has cried themselves to sleep trying to figure out how to make people learn this when it's already so hard to teach people prepackaged things, with everyone being so individual in their learning. But i think some of that is that we give people everything and say, learn this or else, and then they guess the password and if it's right we praise them. certainly no one else in my k-12 cohort was actually taught how to learn, from the posts I see of people constantly slowly painfully having to figure it out in adulthood

I know this post isn't enough either. it's not a solution. just a redefinition of the problem space.

but because I had to stumble on those posts myself, each of them usefully different all the way back to 74, I also know the value of just helping keep the lights on.

sometimes all you can do is keep the lights on. The people who come after need to see the mess, eyes open.

The guy who, when I was barely a teen, gave this machete to me twenty years ago, said I could get anywhere with it. I don't think he understood that with it, all you can do is make hack after hack to get past things that don't want you there, because they weren't built for you, or people, really. you hack around it. your tools don't work, you hack around them. solve the new problems. never time to make things such that there's no need to hack around them.

Anyway. It's yours now. I hope you find it useful. Don't forget to do the hack to rebind the alt key. your tool will maim you otherwise.


NireBryce
@NireBryce

I've got more thoughts. if i waited for them to be complete I'd never post them. I wrote all these thoughts and more in a very artistically formatted way, they just sat there for weeks

Read More

it's when I realized that no one cares about the editing or even the css tricks. sure, they aid readability, but not enough to matter and I would agonize over them.

That's what wordpress is for. but you don't read me for that. you read me because half my shit here is unhinged, in the sense that when the door is blocked, popping the hinge pins is the easiest way through a door, as long as you can find them.

speed is evil. savor the technological advances enough to know you need more before going higher. for every part of every industry. your sanity, your body, depends on it.

the world does too. both ecologically and sociopolitically. a lot of nations spend so much staying on the treadmill that they aren't actually getting return on investment.

a lot of people even in the wealthy nations are dealing with the same, generally in the "lower half" of the working class and lumpen.

and it sucks how many people you'll need to convince to even start things

sometimes things are just fucked. they're fucked and you know they've been fucked for years. they were fucked when you first got there. you first realized no one knew what they were doing, and just how fucked everything was, right about when computers lost their magic. when you could look at something and know what the pieces would need to be, even if you don't know how to make the pieces. every year you learn it was more fucked than you thought.

you're, in all likelihood, either struggling badly or lived through having to do that; everything you do isn't enough for your sick company.

your sick shareholders. your body made sick by the job. or made sick from them demanding you come visit them.

sick companies make sick people make sick software. no one learns anything, they're too busy learning the next thing only to abandon it three years later, so even institutional knowledge doesn't exist

most people don't document how they learn anything. they don't have the time, the energy, it's too much. too slow. those who do have their posts shared for years, decades. I learned a new way of thinking from a post in 2005 which solved my blocker. turned out the world changed, no one wrote it down, and I had to spend double the time I struggled just to undo it. no one has the time

programming language package managers keep having this problem with people introducing malware to their previously submitted packages. no one has the time to audit any of it, so it just does millions of dollars in damage every time. then there's time, just never for the next one.

none of these posts are about software, the writing thereof, or the industry that encompasses them

they're about starting to think about breaking the cycle, in so many different ways you could read that phase

I don't have the spare time to do it, at least not consistently. I don't have the energy. I'm sick, sick world, sick industry, sick people, sick machines. like the machines im made tired every time I have to think hard, burning most of my energy from elsewhere, other people, maintainance too hard for those who's ostensible job it is to do that. I simply cannot give to the project anything but trailheads, at least for now.

and warn you about the temptation of machetes. they'll let you hack through anything. slowly. in ways people can't usefully follow, outside of learning from what you leave in your wake. and if you don't hack to change where the alt key is, they'll ruin your hand in the blink of an eye.


NireBryce
@NireBryce

is, and I don’t even know if this is only with hindsight or actually in their documents — it doesn’t matter, that they were smashing the machines because they knew that the way of the world isn’t to help them.

The machines, automation, could help them, could mean they do less work for the same hours, or more production for less effort over those hours.

But instead, they knew that the breakthroughs would instead make them work just as long, for just as hard if not harder, because they’re just a battery to the business owners.

Thinking a lot about how tooling has made coding so much easier but you’re forced to take on more and more of these easy things, as your life ostensibly gets easier. Job doesn’t get easier as you grow in career, you just produce more. ‘you don’t get better, you just get faster’ means something much different when it’s not about cycling.

anyway, everyone already knows this stuff. I’m just continuously angry at things, since I have a fatigue disorder that means things being easier still doesn’t actually mean i can have a job and simultaneously have the ability to do anything at all outside of work but recover. And that was true before everyone was getting long-COVID, it’ll become existential in a few years.


You must log in to comment.

in reply to @NireBryce's post:

I've been seeing it for a decade and a half.

I lucked out when I dropped out of university and started transition because I tripped into a social circle that had a person now known by name in her field after seven years.

It's not that I know much, just that I have my fingers in enough pies and read enough (and fast) that this is like, The Common Pattern.

a lot of the context isn't even in this thread, I've just collected enough of the "this is the problem and here are parts of how to name it" that it's boiled into long form text.

and then more and more people start to also name it and I realized the general shape of this had been sitting as a permanent draft I kept working on, and should probably instead pull a its OK if your open source library is a bit shit and have it out so at least people can remember it ten months later or whatever when it's applicable to things they see

in reply to @NireBryce's post:

Game dev is exactly like this, except there's tools and tech that is exclusive to studios that still takes forever to learn but they expect experience in it already. A lot of studios are moving to unreal and expect applicants to have shipped a commercial project in unreal, except...you can't get on a team unless you have unreal experience already. This is like trying to get jobs in AAA that require shipping a game already. Not to mention the fact that developers regularly burn out of the industry, with an average career of about 7 years. So you have this weird situation where they want specific experience only they can provide, but you need already to get considered for a job. Worse, most studios won't even promote internally if a Senior level position opens up, because they expect people applying to the position to be Senior level already.

So sometimes the answer is working somewhere else at a Senior level, or with the specific tech, to get rehired at the same company again. Sometimes the answer is to learn all new tech with your dwindling free time and energy. I don't know how any of it works, and nobody in charge wants to call this out, lest they give up the game.

in reply to @NireBryce's post:

The funny part is that this obsession over speed and the next new thing is one of the things fueling my recent rediscovery of mainframes. It's a world that's perpetually frozen in the 1960's (the code I write for MVS 3.8j from 1981 runs just fine on the latest z/OS 2.5 from 2021, often entirely unchanged), but at the same time, IBM has kept building incrementally more and more interesting functionality (such as a from-scratch Unix implementation using VSAM linear data sets to store its POSIX-compliant filesystem) and utterly bonkers hardware (like the latest Telum central processors with virtual L3 and L4 cache that allows spanning of central processing complexes to avoid hitting DRAM as long as possible). This makes mainframes particularly well-suited to apprenticeship and continuing education programs like you'd find in some unions and trade guilds.

I've also long lived the idea of slowing down. Almost all of the code that I write is done on paper first so that I can hammer out the design details and draw diagrams to make sure the pieces fit well together and in a way that I can extend later if I need to, in case the business need changes. I find that doing this really keeps me from "just trying it until it works," so the solution tends to be more robust.

Living mostly on paper like this also has, crucially, the added benefit that I can mentor people on my engineering process because I have my raw notes in largely chronological order. I can just about step through time as I put together use cases and sort out the architecture that fits the requirements for the system I'm implementing, how I want to test it and benchmark it, etc. I wish more people did this.

sometimes I think the poor souls mining cobol had the right idea to just, stop and hone their unfireability.

but yeah, especially now that i carry a phone, a tablet, and a laptop, I wish they were all just different views into what I suppose amounts to a mainframe, actually. I guess.

and have started looking there for ideas for managing my backpack and desk complexity, of all things.

but browsers feel like a great case study for it, since they're already basically just terminals that have client side form fields, in terms of user experience