How important it is to be able to inhabit another person's viewpoint and see things from their perspective. So much time and effort is saved in doing so.
Much of my job has become translating and mediating between stakeholders going around in circles, because each one believes their viewpoint represents the entirety of the issue. They can not understand one another because they assume the other understands everything exactly as they do. The engineer sees the issue as a technical problem, while the BA sees the issue as a process problem. They're both right, but each is only seeing half the issue.
Forget what you think you know about someone, shed your own views, listen very closely to what they're saying, and interpret what they're saying not through your own lens, but through theirs. Their viewpoints are formed through their experiences, not yours.
It's not easy and you'll get better at it the more you know someone, but there are plenty of shortcuts you can take based on your assumptions about them. Just be sure to update your mental model of them as you learn new information, usually gained by listening to what they're saying.
This concept led to me almost losing my marriage, and what saved it. I had been interpreting all of my wife's actions according to why I would be acting that way, instead of trying to understand how she is justifying her actions.
Once I started asking more questions about her mindset, and really listening to her when she answered, the whole direction of my marriage changed for the better.
I know I’m like 15 hours late to commenting on this thread, but, first of all I’m going to preface this by saying I really enjoy these discussions as with most discussions and love everyone’s perspective they bring to the table. This is regardless of if I agree with it. I also love giving my perspective, because if/when I give replies those that take the time to reply back in whatever form often make me leave feeling appreciated, understood, and/or more educated than before I replied. Also hopefully I give someone else a chance to feel that too.
I think the main principle that describes this situation where you can put yourself in someone else’s shoes is empathy. A complimentary principle in my mind is humility. Humility as I was taught is a principle not of self deprecation, but of self honesty. For example it would not be “I know nothing”, but instead “I know quite a lot of things but there is still a lot I don’t know”. Just like thinking you know nothing, thinking you know everything is also not humility. The self honesty part of humility can be about any of your capabilities not just knowledge.
When you give yourself the opportunity to be humble and say this person has a whole life of experiences that I don’t have and if I approach them the right way about it and empathize they can give me perspective on their ideas and choices. This leads you to understand them better and help them through a difficulty or trial or problem they are having it could also do the same for you as then you can say “I’ve never thought of it like that before.” This is not to say you should agree with their worldview blindly and follow your emotions blindly, but once you’ve allowed your controlled emotions to get you this far use knowledge to make a rational decision on which side to choose and if you feel like helping them see what you see present it in a way to them that is constructive.
I’ve found these two principles useful not only when I discuss with others but also when I read the thoughts of others too. For example if I read a biography, I ask what unique perspectives does this person have, and what can this person teach me whether it’s something they themselves thought and acted on correctly or incorrectly.
Great point, I'm certainly not perfect. I sometimes find myself thinking, "why would you do that!?" and that's when I realize that what that really means is I'm the one who's not understanding something. I should be asking myself, "why would they do that?"
> I sometimes find myself thinking, "why would you do that!?" and that's when I realize that what that really means is I'm the one who's not understanding something. I should be asking myself, "why would they do that?"
Thank you! This is a great distinction. I learnt something really helpful today.
This was the first thing I thought of when I read this question. So often I find myself and people around me basically assuming that the folks on the other side of the phone are idiots. Well, chances are they're thinking the same. You only need 15 minutes to disagree, but it takes much more time and effort to humbly understand a stranger's worldview and motivations. However, once you do, you're much more likely to deliver something you're both happy with at the end.
I think this is a significant part of the value of face-to-face meetings - it's much easier to 'get' someone when you observe and speak to them and their colleagues. At the very least, the connection you get makes it harder to subconsciously write them off as an idiot!
Of course, occasionally you come across people who really are very unsuited for the task at hand and end up talking total rubbish. But it's still worth taking the time to be sure - it's probably not as obvious to you as it is to other people, and you'll find yourself having to justify your assessment more often than you expect, particularly to decision-makers.
I wrote a library that a bunch of teams in a larger company were to use to move lots of data around. At one point there was an argument of the form X must always be Y vs X must never be Y, and eventually I had to tell them both that they were getting something else.
Neither department had a job if the other didn’t exist and produce. You can’t go telling the guy upstream from you that they aren’t allowed to do their job or there’s no point. You’re cutting off your nose to spite your own face. It was so stupid. I just had to start repeating “‘compromise’ means ‘nobody gets everything they wanted’”. I walked them both (privately of course) through how to use it and they soon found something else to bicker about. Children in neck ties.
> shed your own views, listen very closely to what they're saying, and interpret what they're saying not through your own lens, but through theirs.
A good team manager can identify what motivates everyone on the team, align incentives, and then take a step back to get out of the way.
If an engineer likes to work with new technology and hates your legacy system, find the new tech they can work on. If the product manager is only interested in a particular feature, then make them the manager of that feature but hold them accountable to its success.
A good manager will line up the dominos, but not tell any one of them how to fall.
Absolutely. I would add: remember that we can all be right. That problem or dysfunction may have 3 root causes, not just 1, and that engineer, lawyer, and BA can stop debating about who diagnosed it right - they all did.
Contradictory viewpoints can't all be right; if there are three different root cause analyses, at least two are wrong, and if there are actually three interacting causes where each identified a single independent root cause, they are all wrong, not all right .
Now, they are all possibly approaching the truth from different directions, and need a synthesis of each others views to get to the truth, but that's not the same as the discussion-ending idea that inconsistent explanations can all be right so attempts to resolve the conflict are unnecessary.
I was thinking of situations where the "causes" can be additive. "Why are we consistently late?" CAN be caused by broken technical processes AND understaffing AND bad product design. Did not intend "root" to be taken that literally.
They're a specific sort of person in this scenario, literally someone who has a stake in the outcome of the situation I'm describing. Is it dehumanizing to call someone who writes code a "software developer" instead of a "person"?
Generally I agree with you and I hate the term "resource" as it's used, but I really don't agree that this is one of those cases. I could have said, "people" but in this instance it would make what I said less specific.
The term resource is dehumanizing because it reduces a person to something that exists merely to extract value from. Stakeholder is just a role a person can assume and doesn't really have any negative connotations other than being a bit jargony to some.
"Resource" being dehumanizing doesn't make "stakeholder" dehumanizing. Of course, everything depends on context. Do you think in this context I was trying to dehumanize the people I was referring to? To what end?
“Resources” is dehumanizing because it reduces people to consumed production inputs.
“Stakeholders” elevates people to active actors whose needs must be considered and addressed. It isn't dehumanizing, because instead of denying agency as “resources” does, it specifically recognizes and emphasizes agency.
Saying 'stakeholders' in this context is like saying 'engineers' or 'doctors'. Doesn't make them less human. It's just specifying a role they are taking.
A stakeholder is a person with their own agency, responsibility, goals, etc. in a partnership, giving them a leading role.
The funny thing is you are right: the immediate role in a project is just some temporary thing. The next level is understanding them as a principal more broadly-- career goals, org goals, home stuff, and how that fits into them being... a person & stakeholder :)
The taxonomy of jobs that most people have in their minds is extremely simple (doctor, lawyer, teacher, builder, engineer, window cleaner, garbage collector, astronaut, ...) and is mostly based on a grade-school understanding of what kind of jobs people do.
But the reality is that there are millions of types of jobs, with incredible variety and specialisms, and the real content of a job is rarely captured in a job title.
I worked a stint in fast food. I thoroughly underestimated the skill ceiling. Everything from burger wrapping, cleaning, taking orders and inventory could be optimized for time. It took almost a year before I was comfortable and by then I was doing things quickly, consistently and a few at the same time.
I worked at a McDonald's in high school that was adjacent to a major highway so we were always packed. Even now, getting in the flow of programming when everything is going right and I'm making huge progress, that feeling pales in comparison to being in the zone when working drive thru with 8 orders on the screen and each of them is in a different state as you build them as fast as possible as different components are coming in from different stations all at once.
When you tame that chaos, and it's saturday afternoon when all the best people are there and everyone is on their game... I've never experienced anything like it. It's like when you see a really amazing play in your favorite sport, but that same amazing play goes on for a couple hours. I imagine it's like being an air traffic controller or maybe a stock broker on the trading floor where you can talk to everyone and it's productive chaos at its glorious peak.
Wow, my mind is blown right now at how well you captured this feeling. I also worked at McDonald's at 15 and it was thrilling to be working a real job for the first time in life, and see the inner workings of a corporation perfected over 50+ years, notwithstanding the terribly bad for you product.
I also remember working the order taking window and getting into the flow of quickly finding the items after you master the educational part. In a way it's like lego-building or very simple programming.
The closest feeling I've found in programming is when I listen to film scores and a crescendo or mood in the music lines up perfectly with some great success in development, like that score was written for that moment in time and you feel a magical cathartic release that is both elevated and extended by the music.
It's amazing, but it's also a bit distracting. Thankfully, as you're coming down off that high the music often comes down too, and it guides your emotions back into a calm flow, ready to build up for the next release.
Yes! I think it becomes distracting if you listen too much of the same genre, and if you mix awesome songs similar to the feelings you describe but with different genres, those moments can become more frequent.
I sometimes write code at the rhythm of those songs, and it’s amazing for my productivity.
Did you create geometric patterns on the grills too, when cleaning and polishing them?
Been crew trainer in a german company store next to an exit of several Autobahn crossings, doing mostly late/night-shifts around 1989/1990. Was some sort of internal flagship store because all managers of the area met there often. And we trained the 'franchisies' opening their own. And the f.... "Blitzcontrols". Always found something. Never got 100 points, only 98 or 99. GRRRR!
The pay was amazing btw. because at that time late/night work got huge bonus mandatory by law. About 4800,- Deutsche Mark every month. Nowadays not anymore.
Anyways, when several busses arrive at once because of some soccer games you have to 'flow' in sync with everybody else. We did. And had fun while doing so.
Similarly, I once talked to a person who worked at a major airport. Their job? Optimising and overseeing the transport of cutlery. From airplane, to cleaning, replacing broken parts, back to airplane. These things move great distances and they have to be delivered during very narrow time windows. And this has to Just Work for all arrivals and departures. Such a small thing yet so important and incredibly complex.
The biggest problems faced by most companies are logistical problems.
Doesn't matter if it's cutlery, bits, people, or shit. Your company's biggest problem is probably ensuring the right stuff is in the right place at the right time, while also ensuring the 7 other combinations of right/wrong stuff/place/time don't happen.
But most companies don't realize that. They try to frame logistical problems as business problems and try to have fresh MBAs solve it. Half of all startups are some guy trying to solve a general logistical problem for a specialized audience using the cloud.
Old guy at my old job. Retired Navy Chief. Never seen him smoke, but can't imagine him without a cigar in his mouth. His saying was "The important part is getting the logistics right. Everything else is logistics."
Having worked with filling shelves, that job felt sometimes a lot more complex than my development job nowadays. The store I worked for didn't in general allow anything extra to be stored in the warehouse. This lead to the filling load sometimes having excess products that you had to fit somewhere. I really enjoyed making space by moving and rearranging products on the shelves. The products came in wrapped in big rollers that contained random products so looking at the roller product list and how they were packaged you had a puzzle to find a nice path that visited all the correct shelves. Occasionally you would have campaigns and such where you could be quite creative in setup and arrangement.
It was the job I have been most satisfied with in my working life. However, I did only do it for 8 months for 6 hours a day. Maybe in the long run it gets more boring.
The variety between shelf filling between different store brands and even different stores of the same brand made me really think no two jobs are the same.
I used to have a job in the back warehouse of a white goods store. I was moving around fridges all day long. It was a really good job.
The best part was I couldn't take any fridges home with me in the evenings. I'd get home and my fridge would be already where it's meant to be. Also no one wanted me to do a fridge moving side project in the evenings.
Yes, but that’s only because you lived in an area without fridge innovation. If you really wanted to work on the cutting edge of social fridge technology, you’d have to move.
When I had my pickup truck, friends would ask me for help in moving fridges when moving between rentals. Typical payment was beer and pizza so not too bad.
Don't confuse job in the hierarchy of an industry with the industry itself. For example: a ticket clerk at the train station isn't aware of the complexity of train engines, route planning, economics of public transportation, and so on. It doesn't mean that train transport is simple.
Supermarket logistics, which (or seems to me) system is built to put things on shelves in the way that creates most profit, is surely one of the essential defining advances in the last few decades of retail? I'm thinking short logistics chains and JIT?
Not my field, but perhaps you need to widen your view a little.
I'll bet there was someone at your store who was the Shiva of Stacking too?
I only worked checkouts (pre barcode scanning, other stores had it).
People can master nearly anything and stand out; boring physical labour is actually one where there are obvious things to be amazing it. It may not earn people a pay raise, but there will be a noticeable and impressive difference between an expert shelf-stacker and someone killing time for money.
That being said there are a lot of jobs where I have difficulty imagining what mastery looks like; say in an automated, low choice style field like bus driving. I couldn't recognise an expert bus driver from a relative novice. But that probably only reflects my lack of knowledge about bus driving.
I fell in love with driving after that scene in Parasite movie where we takes this very-very smooth turn. I now try to roll my Skoda like it's Mercedes: I stop and start smoothly, I turn wheel so that people don't spoil their imaginative coffee. It makes me feel like I'm guiding a spaceship!
When I was a young man, I was working at a children's museum, and one of our guests got sick by the front door. I was dispatched to clean it up. While cleaning, (no customers were around at the time), I flippantly said, "Where's the dignity in this?" An elderly woman who was working as a volunteer at the museum overheard me and said, "The only dignity a job has is the dignity you bring to it."
When driving a car, I tend to optimise (my wife would say overoptimise) for everyone's efficiency, and I am sure a lot of that can be applied to bus driving — for instance, many of them will stop too close to a red traffic light, so cars in adjacent lanes can't see them when they are only on the that side of the street.
My dad sometimes works as a parking lot manager for a popular field trip location. He says the skill level for school bus drivers is hugely variable. Some smoothly traverse the parking lot, others with the same bus model have a really hard time. Some are appropriately cautious, some do not pay enough attention and are dangerous. Etc.
> That being said there are a lot of jobs where I have difficulty imagining what mastery looks like; say in an automated, low choice style field like bus driving. I couldn't recognise an expert bus driver from a relative novice. But that probably only reflects my lack of knowledge about bus driving.
Look up "Bus Rodeo". It's basically a skills challenge for bus drivers.
You'll see drivers make maneuvers with 60 foot articulated beasts that the average person would have trouble doing in a normal SUV.
There is a massive differences between a well-stocked shelf and a poorly stocked shelf. The science behind the product decisions, brand placements, etc, is well-studied and practiced. The store-shelf-stockers themselves have a major impact with their level of detail-oriented work.
I'm sure you could measure it financially, and that a nicely done shelf stock makes more money than a poorly done one.
There is a "science" behind shelf placement decisions and it has to do with height, location on the aisle, colors, lights, and of course the "fee" that the outlet asks for the premium spots. Someone who just fills shelfs (I've done that for a toystore a few decades ago, for a a couple of months).
Depends whether someone gets to just fill the shelf as per plan or has the curiosity to ask "WHY", noticing why X things fly off the shelf why Y things two shelves lower stay there forever. This curiosity builds the critical thinking 'muscle' and can motivate a shelf-filler to switch into marketing (hypothetical scenario has to do with a 17yo working part time and then deciding to studio marketing)(I didn't study marketing) :)
Having dated someone who specialised in developing and enforcing visual merchandising guidelines for an international cosmetics brand, I have to suggest that it just might.
I fixed my mum's computer a few years back (cleaned up some adware and other stuff that was making it awful to use) and did a bunch of virus scans and cleanup etc. After a while she asked "Is this what you do for a job?"
The conception of what happens inside our industry just isn't present in the wider population, and I imagine we're not unique in that.
Yes, this is a thing we see over and over. With all this extra access to learning and advancements in fields, that previous generations didn't have, there's a bit of a gap in truly understanding the complexities of various fields. We see this attitude a lot that kind of assumes anyone who isn't digging ditches is playing dress up, and anyone could put on the outfit and do it.
That's why we have things like anti-vax, and people taking these incredibly simplistic views of complex fields. Assuming that anyone who puts on a lab coat can have the same valid medical understanding as the field that has been learning for hundreds of years and learned how to condense that down into a few years of school and an internship.
It's the same reason older generations think you can just show up on time and move to the top of your field, sure it helps, but catching up to the baseline of knowledge in a lot of fields is a huge gap, you don't just sweep the floor in a factory anymore and learn how to program the robots over serial port. There's a big jump there that didn't used to exist. (though I assume there was a similar gap in the industrial revolution when we started mechanizing work).
People can't even wrap their mind around real automation, they still assume it's going to be mechanization from the industrial revolution with computers. And there's so much else in this industry that people can't even understand that affects them in every day life situations.
> People can't even wrap their mind around real automation, they still assume it's going to be mechanization from the industrial revolution with computers. And there's so much else in this industry that people can't even understand that affects them in every day life situations.
Similarly, the sheer number of auxiliary jobs. Kids are rarely told about the less prestigious jobs that surround and support doctor/lawyer/vet/etc, and if they are it's often as a fallback. This leads to a lot of high schoolers having no idea what to do if they aren't ambitious enough to want to enter the high octane kinds of jobs with years of training. I firmly believe it's a huge contributor to kids heading to college to delay figuring out what to do with life.
Have you ever thought about how school buses are routed? Every school day, every bus has to pick up some number of children, and then drop them off at a school on time. Ideally, the correct school. Some children have to walk to meet the bus, which must be taken into consideration because you don't want a young child walking close to dangerous areas, and then there are disabled children who need special buses. Deciding who walks, who gets to take a bus, and who in is some special circumstance is a logistical-legal interface which gets quite involved.
Making that all happen isn't just one job, it's multiple, especially taking into account the fact there's software to help which must be made, tested, and deployed, and which users must be trained on.
My point is, to the average person, adult or child, that whole little world collapses down to "school bus driver" and that's it. The companies which make the software I mentioned advertise, sure, but not to individuals, and school districts have no reason to advertise how, precisely, the sausage gets made, so this little world stays mostly hidden, unless the district offers parents branded software so they can track their children to and from school.
I see this any time some fresh tech person claims AI will end music as a career. They think it's as simple as generating some nice melodies. Maybe some harmony, if they even know what that is. They don't consider all the sound design, concept, and personality that goes into making and selling music.
You might persuade a computer to generate a set of passable songs for a discerning and skilled musician to choose from as a starting point. But I think I'll be dead before they're good enough to be better than just banging a few chords and presets together to see if it sounds good.
Melody and harmony are what most of these efforts focus on, but that's the easy part for any experienced composer.
And I think it would be naive and idealistic to think that the composer/songwriter/musician/performers don't have a roll in selling the music. Do I want to go to a concert where a computer is rolled out on stage and I hear amazing music, or do I want to see a performance with lighting and a performer working the crowd? The performance and the personalities of the performers are as much a part of the musical experience as just hearing sounds in headphones, in my opinion.
(preface: I worked a string of manual labor jobs before and during college)
A lot of the (now) coveted trade jobs can seem like a very tempting alternative to crushing college debt and volatile job security, but truth be told, many of these trades are plagued with physical injuries, sudden unemployment, and what not.
Furthermore, you deal with A LOT more shady people (employers, customers / clients, suppliers, you name it) than you do in white-collar sectors.
I say this because for the past few years, I've seen an increase in people advocating for people to choose trade jobs over college-educated jobs, like it's the most obvious and risk-free thing in the world.
It's not, and I'd even go as far as arguing that the downsides of trade jobs can be worse than the downsides of a cushy white-collar job.
Or young people just starting out and have only ever worked in a booming market. I worked in construction/sanitation for a family member's business from 15 to 18 summers, then 18 to 20 full time. My dad always stipulated that my job was entirely dependent upon going to night school and keeping my grades up because he did not want me to follow that path in life.
He was only a little older than I am now and was already suffering from physical problems associated with such labor. So he really knew what he was talking about. It was good advice because The Great Recession nearly bankrupted the company.
I also see people that have overinflated ideas of wages in such industries. They often quote average salaries in the range of what the BLS reports as the 90th percentile.
And unfortunately it's difficult to scale your work. You get paid for the hours you put in, and there's only so many hours. Of course, if you're lightning fast you could increase volume, but that's about it.
I know lots of people in trade jobs that make a good salary, not too far away from what their company engineers make - but the downside is that they work 12 hour days, 6 days a week to earn that kind of money. While the engineer has a cushy 8 hr workday, 5 days a week.
Work and overtime culture completely depends on the owner. I've been at shops where you were expected to work OT every single day. Start 7, 30 mins lunch 12, 45 min dinner around 3-4, then back to work and keep working until 7-8-9 in the evening. repeat. 6 days a week, sometimes 7.
It's one of the few places where people have pissing matches over who's worked the most. Guys would come in and brag about only getting 3 hours of sleep, or working 16 hr days the whole week. Weird culture.
> It's one of the few places where people have pissing matches over who's worked the most.
Probably once the work is not intellectually challenging people need to create a challenge somehow.
In my experience, when you are used to intellectual challenging work, trades feel like a downgrade and becomes unbearably boring. Conversations fall to high school level. However, if you can deal with it and the physical risk, there's money in there.
Trades are probably more measurable, if someone lays 400 bricks in a day you know they have built a wall and can quickly see whether it is straight.
If I write 400 lines of code in a day it's quite hard to evaluate the quality or even if it satisfies the requirements.
This is why intellectual work tends to create more political problems. People know good work can't necessarily be measured so they start engaging in games to get ahead.
Also you don't get to brag in trades that you spent the week removing 200 of the 400 bricks, and the wall is still as straight & as strong, while being easier to repair later.
Yep Facebook, Twitter, Amazon and google and the rest of those money hating software companies are just in it for the good of free speech and democracy. :S
Trades are OK when you're young. If I'd been a carpenter at 18, i'd be bored of it by 26 and probably be thinking about starting my own company or time to pivot into a new thing. The big downside of trades is they aren't jobs you can do forever.
I did that carpentry thing too for a year, a long time ago. Hanging down head over by the knees from the ridge, and banging nine inch nails into the rafters from below. Up to 8 floors high. Looking like an animal. What can i say? In retrospective it was much more satisfying than much of anything i did afterwards. I really built something to last, immediately visible, tangible.
Though of course it would have been hard to do that for more than five to ten years. And it WAS dangerous. Many alcoholics there also.
edit: But i really learned to use a hammer from some functional alcoholic which needed two bottles of beer first to get his shaking under control. So...prejudice be damned!
2nd edit: He, in traditional carpenters clothes, coming from Berlin and speaking that dialect. Lying in the shade of some wall, upping his level of beer.
Me, mostly clueless but agile rookie, stylelessly in military surplus chlothing somewhere in the 'Ruhrpott' in North-Rhine-Westphalia, slowly doing his thing up there.
He, 'Dude! I can't stand nor hear and see how you are hammering!'
Me, 'Wassup?! Show me then you lazy old fart!'
And he did. Effectively 'teaching in' hands on at first, then by constantly giving voice feedback from his shadow behind the wall. Like, 'Too slow, better, Jaa!, like that, go on!'
And so i did, happily banging away heads down and bare chested in the morning sun, not minding his lazyness at all.
There was more to it. It had something zen-like, because his voice from the shadow also said snidely 'Not like that, i can hear how you are holding it wrong!' , and instructed me to hold/bend my wrist this and that way. And my arm, elbow, shoulder, body. He masterfully knew the kinematics of hammering and could apply that to teaching you in an almost eerie way.
That's the thing; there are very few ways to go up in those businesses. Either you become a manager or foreman, or go back to school and return as an engineer, project manager, or similar. Or maybe start your own company if you have the papers / certs / connections. Going from a regular skilled worker to those positions can take 10 years, easy.
The guys I worked with almost 15 years ago still work in the same company. Still toil away in the same positions as before, while occasionally inquiring me about engineering school or similar.
I noticed that as soon as they started getting close to 30, got wife and kids, they started to ask around for better options.
That people sometimes do shitty things, make mistakes or let me down, and no matter what, if I squint - I can see myself.
That I'm not always right, or always better than Joe. And that: I'm not always wrong, and Bob is not always better than me.
That we might hit our deadline. And the world will still be there if we don't.
That people do things I don't understand, for reasons I will never see or be able to anticipate. And that's simply the way it is.
Dark corners are found in, or emerge from all positives. Great things are found in, or emerge from all negatives. Nothing is black and white, despite it's appearance. Everything is wishy-washy gray. What was right yesterday may be wrong tomorrow and vice versa.
Or, in summary: things are easier when I'm easier going
Computers don't work, internet doesn't work, software doesn't work. If something functions flawlessly it's because there existed a group of people who figured out a rock solid setup at one point in time, and another group of people maintaining it actively right now. Many people seeing something that "just works" and it's "free as in beer" demand a similar setup for their own business assuming that creating it requires almost zero effort and cost.
A small example: A company develops a software product for a client. The company tests the product, and tests pass! No crashes! It just works.
It works for years with no problems. Then you get a flurry of tickets in a pretty short window: the software is crashing! What happened? It passed tests, it worked for years! What changed in the environment? Are disks failing or filling up? No. Is the network failing? No. Is another program hogging resources? No. Is it a database maintenance window? No.
Well the patch window changed, but smoke tests pass after patching, so it's not patches...
Hmm, the patch window went from 2 weeks to 4 weeks.
Ok, when did the software actually crash? About 25 days after patching. Is that consistent across sites? ... Yes it is.
What happens 25 days after patching??? [Insert scramble to figure out what happens 25 days after patching]
Is there anything special about 25 days? Well 2^31/86,400,000 is 24.85 ... Aka Signed Integer/Number of milliseconds in a day
So all along there's been 24.85 day fuse in the code, but before the extension of the patch window we just happened to defuse the bomb every time. The supplier never had any reason to run a test for more than a week, so they never saw the crash either.
----
So, yes, software doesn't work. It happens to work right now, on this computer, with this hard drive, with these network settings, with these dependencies, with this database .... etc etc etc.
Fantastic story. Reminded me, we've seen similar issues back in the day when we were not monitoring memory usage as well as we should have been. Because we deployed daily or weekly, the services restarted and life was good. After everything was stable, a slow memory leak appeared that took weeks to grow to a point where the service would crash.
We used a paging/alerting product. It was intended to be fired by command line, I guess, so each run was totally cleaned up because the process died.
They added library (DLL) functionality so we could run it from a script. So the script ran and ran and ran and sent alerts, and randomly crashed from time to time.
Why is it crashing? The stand-alone worked fine! Well, they weren't cleaning up their handles, so eventually we get to the process handle count limit and die!
'The Dream Machine' by M. Mitchell Waldrop chronicles the trials and tribulations of the people who built the first computers and computer networks. Great read if you want to learn more about how computing and the internet were started!
Our software wouldn't be as good if our developers didn't meet people who work in the factory and use it.
Factory operations still rely heavily on paper. It's reliable, the infrastructure to support it is reliable, and people are willing to deal with inefficiency for reliability. A maintenance manager on the floor doesn't want to be dealing with a crashing app or network connectivity issues while they're filling out a part requisition form or maintenance report. And an operator doesn't want to hit save in the app and see a bunch of red boxes when they have a spill to attend to.
However the inefficiency of paper leads to inaccurate results, slow lead times, and altogether missed opportunities. People invariably copy yesterdays form into the new one and get on with their day. Digging up all that paper work and manually entering the data into a spreadsheet can result in more errors in the data. And doing any kind of large-scale analysis on components with maintenance reports involving those components is time consuming and laborious... and doing it across an entire conglomerate is basically impossible this way.
We have to make affordances to our interface that take the operating environment and the people interacting with it into account.
Reliability is really important.
Software isn't the solution to everything. Always have a plan B.
To me this has always been a management issue. Usually the business willingly allows for this to happen. Consequence is that you build an extreme dependency on this person. Knowledge needs to be built into the organisation through hard work, like documentation, processes and collaboration.
We have one diva who build the vast majority of the system. He is smart and likes algorithms, but doesn't write particularly easy code to follow (he values cleverness over simplicity). Any suggestion that it could be improved is met with a bit of an argument. And he isn't much of a team player compared to the other devs.
In not the gut you talk about, but... I built many systems and was always a point of failure when it comes to dependency. I still know a lot of code, even when it's years ago. But I never kill an idea that has a better outcome as the current solution has, and if it's possible to implement, we'll do it. That's leadership.
Sometimes, the people getting the most done, are either doing so based on proficiency (i.e. deep understanding of domain, system, language, stack etc) or are simply adept at finding the shortest path from a(requirements) -> b(code). These are the people I look out for, as essentially the root of tech debt. Hopefully, things like code-review will prevent people like this from pushing code that only they can understand, but that theory often proves false as these folks often out-rank you. Don't be afraid to call BS through any means available. At the very least, you need an explanation/comments/documentation explaining why simplicity was sacrificed.
Yes the business allows this to happen because it is obviously in the self-interests in the existing employees: everyone tries to build their own little empires and to keep 'invaders' at bay.
In some companies, often when there is no growth, that leads to very claustrophobic atmospheres with a core group that has been there for 10+ years and gatekeeps everyone else.
That’s what I see everyday. Insider produce crap, I criticized it as a new guy and became enemy number one very quickly. Isolated organizations enter the Lord of the Flies state. For them everything is normal while outsider has experienced more possible solutions. So it hurts seeing how bad and primitive device is made from 6 separate printed circuit boards soldered with random wires. Every amateur can do better with KiCad in a week. But in this organizations it’s state-of-art and author of this mess got promoted to senior.
I’m not saying this applies to your example, but the opposite happens too—the new guy comes in with all the answers but not knowing all the battles/design constraints that led to the current situation. It’s frustrating because the team gets to relive every design decision as the new guy brings up all the obvious stuff that surely none of the dummies on the original team thought of (but of course were the original designs before some business decision or other derailed things).
I am pretty sure, that “new guy” does not know all internals. But there some rules like not putting 2 screwdrivers into power outlet... It’s obviously should be done other way.
Running with that example for funsies. Turns out that slamming two screwdrivers into the outlet allowed you to tap the power source 6 inches away from the wall. Normally, this is a bad idea, but the alternative was tearing down the wall to extend the outlet, and the cost of that was too high at the time. The other cheap solution was a power strip, but there was no petty cash and no nearby store. Then several people tied power wires around the new screw driver power extenders (which was going to be a temp solution anyway until you could buy a power strip). Now, these critical power wires can't be disconnected because the attached servers can't go down.
Sometimes things organically grow in bad ways as cost optimizations that maybe (or maybe not) made sense back in the day. If you were to design it again, you obviously would not stick the screw drivers in the wall socket. But that was then, this is now. Instead of complaining about screw drivers, let's get a plan in place to get the mission critical services to be able to switch power sources.
Work never ends. No matter how much you get done there will always be more. I see a lot of colleagues burn out because they think their extra effort will be noticed. Most managers appriciate it but do not promote their employees.
I manage a team. The reason I don’t promote or give raises to people who overwork is because I don’t want to encourage behavior that inevitably results in burnout.
What I instead do when people overwork is I give them extra paid time off. Stayed in the office for a couple of extra hours yesterday helping a customer? Great, please make sure to take Friday afternoon off. You had to work extra last week to meet a deadline? Apologies, that was my fault for not managing your workload properly and distributing it better (and also not setting a reasonable deadline). Second, again, please take the equivalent amount of time off.
I think that's a great approach but I think the people predisposed to working longer and doing overtime are often the sort of people who won't willingly take that time off. Do you have to encourage it or it's welcomed?
I've worked in companies that did this and if those people refused to take time and insisted on working late it was viewed as a bad thing and they were told as much. People who work hard are generally ambitious so telling them it's hurting their career makes them reevaluate pretty quickly.
I mean, ALWAYS 9-5, in addition to whatever it takes to get the work done. One or the other can be totally fine but it leaves little room for wiggling with comp time.
You mean an obsession with "working 9-5 ALONG WITH whatever else it takes", not an obsession with "9-5" and a separate obsession with "whatever it takes".
If you are looking longer term, avoiding burnout and employee satisfaction will be a net positive. If you are looking short-term (12 months at most, but 3 months is more of a burnout limit), you may benefit from overworking people.
"The state of having tasks to be done is alone declared as the greatest of sorrows. When that exists, how do the two, happiness and absence of sorrow, arise?"
Tripurarahasyam (from wiki: The Tripura Rahasya (Devanagari: त्रिपुरा रहस्य, Tripurā Rahasya) meaning The Mystery beyond the Trinity, is an ancient literary work in Sanskrit believed to have been narrated by Dattatreya to Parashurama. It is an ancient prime text which is one of the treatises on Advaita school of classical Indian Metaphysics.)
Not the parent, but the fragment in question explains how the so-called mundane pleasures give no permanent satisfaction and that one should instead focus on the true meaning of life, which the text defines as the deepest level of consciousness that is present in the three modes of being (being awake, dream, and deep dreamless sleep).
People have a tremendously distorted view of reality due to their own biases. Myself definitely included. "It is difficult to get a man to understand something, when his salary depends upon his not understanding it!" - Upton Sinclair
More concretely in the field of software engineering:
Accurate, precise estimates are more expensive than the actual task itself.
If someone asks you "how long until it is done", the only reasonable answer is just as long as you've already spent, even if you're close to the end of the project. a "three week project" on week 3 will most likely take another 3 weeks, all else being equal.
Nobody has any idea, they're just making it up as they go along.
If you do the math, you're ahead of almost everyone. Most people won't do math to save their own life. Same goes for reading. If you actually read documentation or source code, you're in a very slim minority. Most people just google.
> Accurate, precise estimates are more expensive than the actual task itself.
That! That is is.
You CAN get accurate estimates. But the cost of doing so is infeasible for any significant project.
You can break things down into smaller pieces, easier to estimate. But the bigger the overall complexity, the more small pieces you will miss or fail to see. Or fail to see how parts interact. Or fail to recognize how far the influence of some element may reach.
And other reasons estimates turn out wrong.
The difficulty of software estimation was recognized in the 1960's. Again in the 1980s during the microcomputer revolution. And again sometimes more recently. When even the biggest companies, with vast resources, and billions of dollars cannot estimate when their product will be ready, how is a small software team expected to precisely do so. There was a joke of which year Windows 95 would ship in.
At the same time, a business needs some kind of timetable because many other things need to coordinate with the completion of a software project.
Maybe recognize the best you can do is have an idea of how well things are going. As a project gets further along you get a better idea of when it will be complete -- especially when there are lots of unknowns.
When constructing a building, there are lots of knowns. How many square feet. How many walls. Electrical outlets. Plumbing fixtures. Etc, etc. They can give you a very good estimate. It's all things they've done before.
Software is generally things that you've not done before. (or you may suffer the second system effect if it is)
After doing this for 25 years, I always say "you never get good at estimating, you just get less shitty at it"..
Lots of people don't like that statement, but I stand by it..
I eventually stopped trying to estimate time required to deliver a specific thing, and instead started working backwards and seeing what can be done in the time we have.
It's still estimating, but it's somehow a bit easier, especially if you're willing/able to re-evaluate along the way.
I know that's basically Agile but I removed all the ritualistic BS. ;-)
> Nobody has any idea, they're just making it up as they go along.
Ha! I came here to say this, and I'm glad you share my opinion. I realize that you're speaking specifically about software estimates, so please excuse me while I take your statement out of context and generalize it to most everything that I've experienced working in software.
I'm biased in my views on this at this point, but I tend to notice people falling into two camps (on a spectrum of course): those who are most comfortable with well-defined tasks and low uncertainty, and those who are comfortable making stuff up and running with it. That's a rough, one-dimensional reduction of many qualities, including creativity, certain types of critical thinking, pragmatism, "self-starter"-ness, enthusiasm, etc. In equilibrium, it's the people who are able to distill uncertainty into something resembling certainty that ultimately provide tasks for the people less comfortable with unknowns.
Corollary to that is the idea that "correct" is not binary but rather a measure of effectiveness by any number of shifting metrics (e.g. performance, readability/maintainability, "correctness", time and money cost, defect tolerance; all under the general umbrella of priorities).
It's one of the things I try to impress most upon junior developers that I mentor, especially when they are just out of bootcamp and haven't learned yet that most problems aren't well defined and don't have an answer in the back of the book, if you would. Essentially, our job is to "make stuff up": always "how", and often "what".
I don't think that it's actually true though. There are definitely areas where I don't have to make it up (anymore, at least). As a trivial example, implementing yet another API endpoint for a web form or something is not something where I have to experiment a lot (anymore).
It's also important to realize that in most fields, people are definitely not just making it up as they go along. A dentist or an airline pilot has extensive training, knows what they are doing and why. This is even true when it comes to estimation tasks.
I'm not actually speaking about software estimates there, I should have used asterisks or something. I mean it even more broadly - most people have no idea what they're doing in any given context, let alone in software with all the complexity. The whole world is just winging it, as a general rule.
Inaccurate, optimistic estimates are often a feature.
Many projects that turn out to be very valuable in the end would never have been started if the real time to completion had been communicated right from the start.
Yeah, when we were taught (software) project management with GANTT, I smelled bullshit due to the lack of tolerance of uncertainty in the tool. Thankfully the exam "subverted our expectations" and strongly hinted that "no plan survives contact with the enemy".
I've seen a corollary in my work with legacy system migrations and technical debt.
Often scoping the work and taking so much care to not cause any issues grinds the work to a halt. We could do well with taking a bit more of a risk&fix attitude (after all, leaving it as it is constitutes a BIG risk over an infinite time frame).
The other problem with estimates of time with regard to certain tasks is the pareto principle. Specifically, if I give it to this developer, it will take two days. If I give it to that developer, it will take two weeks. So, how long will it take?
Company representatives and management will outright lie to you about the things they claim the company values. Things like "people come first", "we work hard and play hard", "work/life balance is crucial" and "code maintenance is important". If you want to find out what a company actually values, pay attention to what it incentivizes, and also where it deploys it's leukocytes. Often, people who work for a company assume the company values some concept or principal we shall call "X". In reality, the company doesn't actually value X. Oftentimes the company could not care less about X or even disdains X. But: they value VALUING X! (Go ahead and read that twice). The meta-valuing of things often produces a much different, often opposite result on the ground than the valuing of things - an important distinction.
Also real company values are things that have reasonable opposites, i.e. things that help you make a choice. Ideally, they even make this explicit.
Example: We value having fun at work over sense of duty. Or we value good customer experience over high efficiency.
In those cases, it's clear that something generally good (sense of duty, high efficiency) is being rejected in favour of something else the company values.
Examples of meaningless values are things like "integrity" or "constant improvement" where it's hard to imagine anyone wanting the opposite. Unless you can imagine a competitor picking as a company value "we're committed to maintaining the status quo and never improving" then "constant improvement" is not a good guiding principle for you. It's just common sense!
The very worst are the ones that pick opposites and value both. Like "quantity and quality" or more subtly "independence and teamwork", "research and intuition".
The most important part of executive management is building the system, which consusts of hiring, firing, solving problems, and setting policies. There's an old joke: Can you make a better burger than McDonald's? Sure. Can you build a better burger-making system, though?
Most executives are incompetent, having little to no training in management. Rather than solving problems, they shift them to employees, vendors, even customers. This is why unions are such a disaster for most execs.
The skill of hiring is evident from the top down, be it good or bad. And it will affect an organization for decades after.
An organization will come to reflect the leadership, from the top. The people and policies will shape it into the image of its leadership. Mostly that leadership can't see itself reflected in the group.
The insane amount of work that goes into QA of consumer electronics.
I also now viscerally understand how China has a stranglehold on world manufacture of electronics. The concentration of skill, infrastructure, and related industries in Shenzhen or other Chinese industrial cities is unequaled in the USA. We have utterly given that up to Asia.
Back to QA: I learned what "DPPM" means: Defective Parts Per Million. A modern, large-scale production pipeline measures failure rates at the per-million level. Also, the amount of iterations in developing a product for mass-production. From that perspective, a well-produced thing on Hackaday barely qualifies as a proof-of-concept, from a production perspective.
It's now obvious to me that recovering this capability in the US would require decades of focused investment and trade policy. The Foxconn debacle in Wisconsin is just that, a debacle. Scott Walker is an even bigger fool than I thought. I've lost hope for the US political class to have the concerted will to enact the required policies and incentives.
On the other hand, the amount of money you can actually make on electronics manufacturing pales in comparison to the money that can be made selling software for those devices. The margins in electronics suck, and this is coming from someone who really enjoys doing electronics design.
It's also worth noting that in a lot of areas the software effort required to make things work well dwarfs the work that goes into the physical hardware, both in terms of money and engineer time. Anyone can spin up a board with some chips but actually doing all the bringup/drivers/DSP/UI requires a ton of skill and effort.
I think it's probably ok to let Asia have this and worry about staying ahead on all the tons of stuff that has to go on top.
> I think it's probably ok to let Asia have this and worry about staying ahead on all the tons of stuff that has to go on top.
Why does it have to be mutually exclusive? We should have a strong manufacturing base in addition to being strong in software and "stuff that has to go on top".
Specialization and development takes resources away from other things. Just getting people to move in any given direction alone takes political capital that could otherwise be used for other things.
That's not to say we should abandon it as there are national security concerns inherent to not being able to manufacture electronics in the country, but we shouldn't stress ourselves over being the world leaders in the maximum possible generation of plastic+FR4 shit.
> Anyone can spin up a board with some chips but actually doing all the bringup/drivers/DSP/UI requires a ton of skill and effort.
I disagree. As an embedded software engineer myself, there's a ton of driver work out there that's hacky, low-quality work coming out of cheap areas... and we still rely on it. The niches for high-value software design related to hardware are shrinking rapidly.
Mechanical Engineer here: DPPM has been around forever at least since six-sigma and Total Quality Management was touted to improve Japanese manufacturing after WWII.
Today it seems the Six-sigma fad is over and everyone is trying to be lean and agile, even in businesses that need fat and slow to management complexity.
That physical manufacturing seems like some form of wizardy to people now just shows how containerized our product ecosystem has become, people can press buy now on amazon with no understand of how the thing was made.
I kind of forget that NPI (new product introduction) engineering is second nature to me now after nearly a decade of training, but to being able to robustly deliver a designed and manufactured physical product seems hard to many.
The insane amount of work that goes into just manufacturing.
The United States prides itself by having high-value functions like design, while offshoring manufacturing. But manufacturing consumer electronics is no longer simple. We have given up on manufacturing these electronics completely.
> We have given up on manufacturing these electronics completely.
I don't think it was the American people so much as it was the CEOs who were pandering to Wall Street in their quest for ever-increasing shareholder value.
It's so short sighted because good product design and design thinking led projects need to be close to the production methods to design to and for them.
https://en.wikipedia.org/wiki/Design_thinking
For those wondering about this, I recommend some of the electronics factory tour videos on the YouTube channel Strange Parts. Even a small component manufacturer will generally have automated inspection of in-progress items on the line, automated test harnesses for functionality testing, x-ray machines for verifying connections, human QA of a subset of final products for functionality, and human QA of final product aesthetics. An interesting note on this is that it's getting noticeably more automated over time thanks to improvements in computer vision, cameras, and sensors.
Unfortunately, software seems to have gone the other direction with many companies ditching their QA departments and relying solely on "Developers Own Quality" initiatives.
People have very limited notions of what a business is. At its core, a business is just a project or activity that's capable of sustaining itself financially. That's it. There are no other requirements.
There are some super creative businesses out there, with an unimaginable number of possibilities still unexplored. The Internet has made this even more extreme. By connecting everyone on Earth to everyone else, it's made extremely specific niche businesses quite viable. If only 3 in 100,000 people are Japanese candy aficionados, then most cities aren't big enough to start a business around that. But on the Internet that business can exist, because 3 out of every 100k in a pool of billions is a LOT of people.
TL;DR - Most people are perfectly capable of creating a business that suits them.
Life is fleeting. Most of us here are 1/3 or more of the way done. Divest yourself as much as possible from your job. Find other sources of identity. You don't need that fancy car or to buy a boat as much as you need that ejector seat savings account.
And when you realise that conditions have evolved to a point where you're not having fun anymore (and they always eventually do), eject yourself and go spend far more time with family, friends and your other sources of identity.
Life is definitely fleeting, but we (or most of us) have to work in order to live. The key is finding work to do which doesn't feel like work, but the difficult part to this (for many people but not all) is making enough of an income to live comfortably. In this case, I would say it is perfectly okay and probably a good thing if your identity and your work are one.
It is crazy to me to think that so many people spend such a large percentage of their lives doing something (usually just for money) and don't consider it to be who they are, especially if they hate the work that they do. Your work is a huge part of who you are. It affects everything about your life. It isn't something you should do just to do it or because you feel like you have to. It's a path that people should choose carefully.
For way too long I latched onto the first opportunity or idea that came along. I'm 32 now and find myself constantly wondering how much different (maybe better, maybe worse) things could have been if I had taken a step back and considered more possibilities for the future. Now multiple times per day I try to consider where each decision might lead, no matter how big or small of a decision, ranging from hours from now to years from now to thousands of years from now. This mindset is less stressful/neurotic than it sounds, and I would suggest more people try this approach. Good, well thought-out decisions lead to a better future (for everyone). Imagine that.
That doesn't mean that you shouldn't take risks. Sometimes a risky path is the best possible path to take. The potential rewards should always be worth the risk, so that is something to always be considered. You usually learn a lot more in a shorter period of time this way.
Family is the most important thing in life. Material things don't matter. Sure, nice things are certainly nice to have and it can make life more enjoyable, but if you have no one you love to use these things with and spend your time with, life feels pretty empty.
Spend your time wisely, and try to do things that, when you look back on your life on your deathbed, you think to yourself, "I am so glad I made that decision."
>Family is the most important thing in life. Material things don't matter.
Aye, but there's the rub.
Do you want your kids to live in a safe and healthy town with good schools and a decent home? Do you want them to have nice things and great life experiences? Do you want to be sure they can go to a college that matches their abilities?
Even if you're personally a minimalist without the need for status and luxury, it still costs a lot to give your kids the stuff that makes them flourish.
Your time is probably the most important thing you can give them however, so now you're faced with an optimization problem. How much time with family vs how much money will make for the ideal family life? It's not easy to know.
Since many of us can't find a job we love that pays enough to optimize family well being, there's a need to sacrifice one value for another. You can't always "have it all".
That project page is really short on details. I'm left wondering when did it start, what the projected "long-term" target might be, how the results are going to be compiled, and if any of the data collected so far might be available.
Any idea if there is more info somewhere online without having to email the professor?
Definitely agree, and this is even more of a problem in the United States than most other western nations. Work life balance should be a priority for all human beings, and Americans have much to learn to catch up in this area.
I agree. Americans get almost religious if you propose to only work a day per week. Much better to claim that the rest of your week was already fully booked, even though in reality you just don't need the additional money.
> Americans get almost religious if you propose to only work a day per week.
That depends on the American. There is no unified American culture anymore, which makes generalities like this almost universally false. Case in point: I've lived in America all my life and nobody I know would object to only working a day a week if they could actually live off that little money.
It was the marketing ploy used to sell consumerism and futurism. The reality turned out that now productivity expectations just got higher, rather than everyone getting more free time.
Work life balance is a priority for most people but the issue is that everyone is only concerned with their own work life balance, rather than society as a whole. These people work themselves to death and trample on others in order to reward themselves with work life balance later on in life. Then you realize that if only everybody helped each other out and stopped trying to compete with each other, we wouldn't be in this situation. Unfortunately this is how life works and is a classic case of Prisoner's Dilemma [1].
So much this. Our time on this Earth is so short. I used to love video games, but now I'm trying to make up for the time I wasted playing Everquest. There's so many experiences out there waiting to be had.
Why do you consider the time playing Everquest wasted? It was what you wanted to do, you did it and had fun. Now you want to do something else and that's fine.
I think that if you do something for large amounts of time, but doesn't bring you much value then it could be considered wasted. The problem is people probably don't realize it's been wasted until later.
I used to play a lot of video games, and while not all of the time I would consider 'wasted' I definitely could have used some of the time doing something else that would have made my life better today.
There is an opportunity cost to everything you do. Time is the only truly limited resource in life, you should try to use it as wisely as possible. Everyone needs some leisure time, but it shouldn't be the majority of how you spend your life.
Sometimes you can get caught up in a 'grass is always greener' syndrome. That is, imagining that your life would have been so much better had you done X instead of Y.
Chances are, in an alternate reality, you'd just be stressing about a different set of things.
I agree and I'm sure that for everything you do, there could always be something better in hindsight.
I was mostly referring to things that you put lots of time into, but don't get much long-term value in return. For example gaming grants you short-term fun, but (for the most part) doesn't give much for long-term. Money/reputation/progression doesn't mean much outside of the game/s you play. In some cases you could "sell" your account, but the amount you get would probably be less than .25 cents/hour that you put in.
I _really_ enjoyed the first year of WoW. It was a childhood fantasy come true to explore the world I grew up with. The rest of the years it was just something I knew, a routine I was in, and where my social life was. Looking back, I really wish I walked away much sooner.
I eventually found the right woman, and started a family. But that could have happened anyways.
I'd say it's more that I exercise more now. I discovered that I like woodworking. And I started creating more things myself on the computer. I've deployed a few Android apps to the play store, and I discovered that I like Rust.
Excellent advice. I would also suggest reading the book "Your money or your life" by Vicki Robbin about achieving financial independence as early as possible.
Regarding the "ejector seat savings account", do I receive something like unemployment benefits when I quit my in the United States? If yes, does it matter whether I quit or was fired?
Sorry if that question sounds naive, but from what I read here on HN I'm often not quite sure how the system works in the US.
Here in my corner of the US (Michigan), Unemployment is granted when you can show that you were fired or laid off, not entirely your fault, and then have to continue to answer a series of questions, at specified times, designed to help you fail. One of those questions is proof that you are looking for work, not just sitting around and taking the money. And when you get the money, it's usually less than half of what you were getting when actually working. Making an error usually resolves in not getting any money for that week, and the right error means no more money for the claim. There is a state-backed job search service, MIWorks, that you have to show proof of using, but it isn't as expansive as other job search sites. But they have offices with available computers and people to help search and/or build a resume, which is nice. But the big lesson here is if you lose in Michigan, you lose.
generally speaking, if you quit or were fired you would not be eligible for any unemployment assistance. it's different state to state, but quit is your decision, and 'fired' is usually for something negative/bad. I've been 'laid off' - terminated but it was reported as no fault of mine - and received unemployment assistance - this has happened to me twice.
the 'ejector seat savings' the GP was referring to just means 'have enough savings that you can walk away from any situation if you want to'. GP probably wasn't meaning 'walk away from all work forever'. I can say in my case even when I qualified for unemployment assistance, it was pretty small, and took a couple weeks for me to even get a check, then another few days for the check to clear. Mind you this was 15 years ago - the situation might be 'faster' now, but... having savings now means I wouldn't care one way or another, but at the time, I had very little, and it panicked the heck out of me not having a 'regular check' coming in.
25 years ago, I was earning... about $700/week. The upper cap on unemployment assistance paid out around... $300/week (and I didn't even qualify for the full amount, IIRC). I had been earning $700/week, but then had to wait close to 3 more weeks to get a check from the state for around $200. It wasn't close to a sustainable situation.
Thanks for the detailed response. Tbh that sounds pretty hard to me. I guess for people who can easily find a new job (e.g. tech) that might not be a big deal, but I feel sorry for all the people who don't have that luxury (e.g. unskilled blue-collar worker).
yep. again, my experiences were from over a decade ago - I'm sure a bit has changed, but probably not all that much. That was from 2 different states as well.
I'm in a position now where I have ... probably 18 months or more of living expenses lined up that I can tap whenever I need to, so I don't think I'll ever have to be in that situation again. BUT... I still remember have $0, owing money, having no job/income. Scary as a single person, probably doubly so if you have a family to support.
I agree that unemployment benefits aren’t the metaphorical ejector seat here. But, regarding “fired” vs “laid off,” at least in California, you’re generally eligible for unemployment benefits even if you were fired, as long as you weren’t fired for illegal or malicious activity. In particular, if you didn’t care about losing a reference and burning bridges, you could get fired for poor performance and still collect unemployment. I can’t think of a plausible situation where it would be beneficial, but you could certainly do it.
thinking about it again, that's possibly closer to the mark. I did let an employee go years back, and he then filed for unemployment and I had to answer some questions from the state - did I agree, or want to deny the claim or something like that. It was for poor performance, and I was probably at fault for the poor performance on his part (not as much as he was, but still partially).
I'm pretty sure you have to pay income tax on any unemployment benefits. And the state/county doesn't withhold tax, so that next April 15th you might get an unpleasant bill.
Having 3-9 months of fixed expenses money in the bank is pretty liberating. You know it's there and available, so your attitude at work becomes less about "OMG how am I going to pay my bills if I lose this job" and more about actually accomplishing something.
I believe you have to be involuntarially let go (i.e., fired or downsized) in order to collect unemployment. If you depart of your own decision, including them talking you into doing so, you do not get to collect unemployment.
Why not fully get invested in your job? You spend the better part of your day working so it's almost futile to divest. Instead of wasting that part of your life, why not make it worthwhile?
This isn't advice, it's what I learned for me. So it may not make any sense for others.
You can and should endeavour to love your job and do it very well. But I discovered that my first job is where all my friends were and was where I exercised my creativity and mentorship skills. That was all great but it meant I lost a lot of identity when I walked away from it.
I have now found non-work outputs for all those things. So if one day my job makes a left turn and it no longer fulfills me creatively or I have to walk away from it, I'm still a whole person.
1. Look at things in entirety--from end-to-end, when you see the complete picture, it becomes much easier to grasp anything.
2. Research matters A LOT. I remember an incident where my Design lead called us all into a room (about 12 people.) He gave each one of us a chocolate--none were of the same kind. Then, he asked, "how many of you don't like what you got" Couple of us raised our hands. He then said, "go ahead and exchange it with someone"--people unhappy with their chocolates exchanged. Once everyone was done, He asked the same question again. This time only one person who did not like the chocolate raised their hand. Then he said "Welcome to user research 101" -- The biggest mistake companies make today, is shovelling down what they think is right onto their users, just like I did. Now, when you guys exchanged and got what you wanted it just goes onto show that it's not like you don't like chocolates, it's just that you wanted a different kind. About the one who did not like anything, he asked her why--She said, she doesn't like chocolates; for this he said--well, there also are people, who don't want your product at all!
These two have really helped me understand things better.
I think there's a side lesson there in allowing users to engage in fixing their own issues. Whether it's open source software, Wordpress plugins, a marketplace/platform like eBay, or item trading in an online game. It's powerful and engaging if you can get the balance right.
The interview process is where the challenges are technical in nature. The only time I have been asked to implement a sort algorithm after university was for interviews.
Generally I find that many companies have a small amount of difficult problems. The trick is to become the person who gets to solve them when they come up.
At one of the places I worked, I got to implement a request batching algorithm using dynamic programming, at another place I got to implement a nurse rostering algorithm (this is not as easy as it sounds, and is an active research area), and at a third place I implemented the recursive tree algorithm that keeps a lookup table of user permissions up-to-date in a situation where roles inherit permissions from other roles.
Let me recommend to you "Peopleware: Productive Projects and Teams" by Tom DeMarco & Timothy Lister (go with the 3rd edition) and "The Mythical Man-Month" by Frederick P. Brooks Jr. (go with the anniversary edition). Both books expound the idea that most software projects fail not because lack of technology or innovation, but rather due to the mismanagement of people and a lack of understanding how teams work.
I haven't read the 2nd one, so I should have just said that read the latest that you can. The main contents can feel quite dated for any edition, but there have been updates to fit the times that I'm not sure are in earlier editions than the one I read (i.e. the 3rd edition).
On the contrary, my job taught me that desktop software can be extremely reliable and does not actually break all the time. Many of my customers use versions of my app that are a few years old without any troubles. When the user is in control of their environment, software doesn't suddenly break.
That's not to say software doesn't have bugs. Only that bugs don't appear suddenly.
Most bugs are caused by two things:
(1) Changes to the code that accidentally break unrelated stuff
(2) Changes to the environment (eg. OS vendor releases a new version which changes how some API behaves)
I think (1) is more common.
So I think that the reason why SaaS have problems all the time is that typically devs are changing stuff all the time and accidentally breaking things left and right, not that software is inherently unreliable. And since users can't keep using an old version that works for them, they'll stumble across every bug eventually.
Most old desktop software is happily deleted in favor of newer versions because it's full of bugs and/or almost impossible to use, and the one that is not is the actually not too buggy one.
I have a slightly different take: Software quality is fairly consistent. But when software changes infrequently, the user can create work-arounds for the broken stuff. When software changes frequently, you don’t have sufficient time to create work-arounds, leaving you frustrated with bugs you can’t deal with.
> I think that the reason why SaaS have problems all the time is that typically devs are changing stuff all the time and accidentally breaking things left and right, not that software is inherently unreliable.
While I'm sure that some developers go rogue, this feels like a business or management issue. Teams pushed to release fast and early. I wonder how often the developers in teams that release buggy software have asked for time to improve processes and legacy code, and been denied.
If developers really are going rogue and changing code on a whim without testing processes picking it up, this is still a management issue.
It's not a management issue, it's deeper than that.
Whenever you change something, you risk breaking something. It doesn't matter if you have unit tests, integrations tests, code review, staged rollouts or whatever else. Every time you change something, you risk breaking something. It does not matter how good your QA process is.
> improve processes and legacy code
Refactors are also a major source of bugs, so you should do that only if there is a serious problem with the old code.
The problem is that the code is constantly changing. With SaaS, customers have no choice but to always use the latest version, so eventually they'll run into a bug. Because constant change means that errors slip through eventually.
With traditional desktop software, customers aren't forced to update. They can just keep using their version of the software, and rely on the fact that it's not going to break suddenly.
No, they just aren't affected by the old bugs. Most bugs affect only a small fraction of users, because bugs that affect many people are usually found during QA. So the majority of your users will not be affected by the existing bugs.
If a customer doesn't change their workflow, they aren't going to suddenly stumble over an old bug.
But if you keep pushing changes, eventually you'll introduce a new bug that does affect them.
There's no way around it: The more you change software, the higher the risk of introducing bugs.
That applies even if the changes are just bug fixes for old bugs. Every time you fix a bug that I wasn't affected by, you risk breaking something that I do use.
I had this conversation today. The more dependencies outside your control and the less concerned the maintainers are about about stability the faster the code rots.
Today I helped a former customer build code that hadn't been touched since 2013 with a compiler released in 2010. And it just worked. Also today my coworkers dev system stopped working because Chrome didn't update properly.
I do wonder if some of it is down to the platform. It seems to be a weekly occurence that I log onto an application and I'm presented with a blank page. No doubt some trivial JavaScript exception has borked the whole thing.
You can burn a bridge with no repercussions. It’s a small industry, but burn that mo-fo down if it’s required to maintain your self esteem. Makes for a good drinking story afterwards, and really, that’s what you want at the end of your career.
That failure is ok. As a software developer, you are going to receive all the smoke. Whether failure means missing some arbitrary deadline, delivering something that doesn't meet requirements, has bugs, is not extensible, or not delivering at all. Obviously, none of us want any of that to happen, but it's a reality you will face at some point in your career. Your management probably does not care about the myriad of challenges that led to failure and will shift the blame to you to save face for themselves. Doing your best is all you can do. Failure means you are challenging yourself and working outside of your comfort zone, and this is where growth happens. Be honest with yourself, and honest with your team. You can take responsibility for your actions, but there are so many variables which you can't control. From poor planning/management, legacy systems, infrastructure, tooling, unrealistic deadlines/deliverables, funding, initiative, the work of others. These represent systematic issues that have their own inertia, and expecting them to be solved by a single overworked developer is simply asking too much. Learn to recognize when too much is being asked and say something. Recognize all the variables which you can't control. If you have a solution, go ahead and propose one if it is one that you can implement with reasonable confidence, otherwise, leave it to somebody else. Sometimes the hardest thing to learn, is learning what NOT to do.
Companies are not your friends, no matter how much they try and pretend they are. When your employer says "we're a family here" or something like that, that's simply untrue. I don't think that the people that say that are "lying" exactly, since "lying" implies intent, and I think most of the time when your manager tells you that they do think it's true.
If being a worker at a job were really "family", they wouldn't fire you off the second you start underperforming, or the second the economy tanks, or the second that they found someone cheaper to replace you; if someone's mother or father did that, you'd rightly think of them as a jerk.
I agree that some managers may be full of it, but there's the inverse danger of letting mistrust keep you from meaningful workplace bonds.
Our current startup might not be a family, but we are like a sports team. We spend most of our lives together, working toward mutual goals. Yes, if there's a persistent under-performer, we'll have to say goodbye, but there's certainly a bond here that makes you want to fight for your colleague's happiness and sense of meaning.
I apologize if I didn't make it more clear; I'm not saying you shouldn't like your coworkers or manager or anything like that. Obviously you spend eight hours a day with these people, you should probably be with people you like. I'm just saying that you shouldn't treat a job like any more than it actually is; at the end of the day, this is a transaction. I sell my time and experience for some amount of compensation, the company pays me for it, and if they don't like how I do or for whatever reason decide that it's not in their economic interest to keep paying me, will terminate my employment.
I should also make it clear, I'm not saying that this is necessarily a bad thing; it's the agreement we all make when taking a job. It's just not "family".
I wrote something because I was convinced that you were saying that I implied no families are disfunctional, and I was going to explain why I didn't say that, but then I realized that you might be referring to companies that say "we're a family", in which case I think we're in agreement :)
Finance jobs teach you that you should always be ready to "cut your losses". Whatever time/money you invest in anything, you should always re-evaluate your position and see from where you are now if your project is worth pursuing.
Conversely, the value you place on some endeavor may be completely unrecognized by everyone else, ie. the market. That does not mean the endeavor is worthless.
I'm a resume writer and former recruiter. As a recruiter I was required to 'judge' candidates based on their resume, and didn't spend much time with candidates who had resumes that didn't show what I was looking for.
As a resume writer, my job isn't to judge the candidate, but to make the candidate look as strong as possible on paper.
My work as a resume writer has led me to believe that much of the talk of worker shortages in skilled employment markets is directly related to poor resumes (and not a lack of qualified candidates).
I get a lot more personal satisfaction out of helping people write resumes and coaching them on job search strategy than I did as a recruiter. But my work has also convinced me that there are lots of people out there who are qualified for the jobs they seek, but simply aren't capable of expressing that qualification in writing.
Just out of curiosity, what do you considered as poor resumes? I did/do a lot of first round interviews in the hiring process for my company. Most resumes I see tell me nothing about what they did for their jobs, just a bunch of tech stacks, and generic projects (for example: I lead a team of SRE for our company web site with 100K visitors per day).
I'm trying to avoid those mistakes when I start looking this year.
Cheers!
Poor resumes don't list any tangible accomplishments or lack the proper context to let the reader even figure out if the accomplishment was useful. If you read a job advertisement, that's a list of responsibilities - a resume should outline responsibilities (especially if the responsibility is critical), but also describe unique accomplishments.
That's the main thing, but there are lots of other factors.
For your example, leading an SRE team for a busy site is a responsibility, and it's useful to know - it seems kinda important. If you actually built the team, established their processes, led changes to some of the processes, implemented new tools, etc. that resulted in increased site reliability, that would be an accomplishment.
When you are an employee at a job you don't like, but you keep staying because you think you are irreplacable, you worry about your colleagues, or for whatever reason: just leave.
The only reason you stay is a feeling of responsibility.
But you are not responsible for the company or it's employees.
You are responsible for your own life and your family.
You have the power to touch many people—most of whom will never cross your path—even with work that may not seem important. This is an honor and a responsibility, bordering on the sacred.
I like this part of the job. The other side is: everything you use everyday is the product of a lot of design work by many people who mostly cared about their users.
If you can prevent being cynical and take that effort into doing actual work, your skillsets quickly compound. If the job sucks, take your improved skillset elsewhere. But do not sit idly and complain - it does nothing, hurts your career, your colleagues and your life.
How little my personal variance in performance actually matters. The only ones that can tell a good day from a bad day by looking at or listening to (I am an orchestra musician) the result is me. The only time it really matters is for big orchestra solos.
I am a much worse programmer than bassoon player, and for programming amount of work put in matters a lot more. I still churn out mostly bad code, but the spectrum is a lot broader.
Public services such as power plants, aqueducts, waste disposal and garbage collection require a whole lot of money and manpower yet rarely are even noticed. They just "exist" and "work" until they don't.
A similar thing is also true in many situations. On a big team many people had bugs that eventually got discovered by others. I'm sure it won't work but I often think I wish that when that happened the person that wrote the bug was required to drop everything else and fix the bug along with the appropriate test.
I know that would have issues. What I find though is there isn't a strong enough incentive IMO to not leaving a trail of wreckage. Move fast and break things sucks for all those who have to clean up after and there's no appreciation for the cleanup. There is only appreciation for the new features. And so, bugs get checked in and it's now someone else's problem. Even fixes get checked in with no test so it will likely break again in the future. In other words even the fixers have no incentive.
- A vast majority of "cloud security breaches" are just a small setting/toggle that's misconfigured, sometimes intentionally for testing or otherwise, and never corrected until it hits the front page of a news site.
- Imposter syndrome can be incredibly crippling. It can affect just about anyone at any senior level. Also, some have no problem taking advantage of that in others.
- Appreciation of efficient code/design can be directly correlated with how much runway exists.
- I can't say I actually like programming. I like problem-solving, and programming is a neat medium for that, but programming also includes looking and maintaining legacy code. There's often a lack of documentation and things that you expect to take X time will more likely take rand(4) * X time. That rand() can itself be randomly inclusive/exclusive of 4. It can also be another number, you'll just find out when you do.
While you may not think you're senior or perform at a certain level, your manager may see otherwise and use/expect that performance while suppressing you from a promotion/raise.
The most effective team member is the one who amplifies everyone's output. If you can improve a 5 member team's output by 20%, it's the same as if you'd added a 6th member for free.
The least appreciated team member is the one who amplifies everyone's output.
> The least appreciated team member is the one who amplifies everyone's output.
I'll never forget the first time I saw a person like this get fired. At a previous job, we had a senior engineer who was an expert in the type of work we were doing who spent most of his day answering questions, helping others, making sure builds were running smoothly, etc.
Eventually, he was let go by management because he didn't close as many tickets in the bug database as the other engineers. Big loss to the team.
How we tend to overvalue and overinvest in reason and undervalue and underinvest in intuition.
Intuition is powerful, mysterious, and a pleasure to wield. But developing and then trusting intuition is anathema to our metric-fixated process-consultant-ridden professional world, so we keep doing things the ugly hard way.
Luckily I think day-to-day corporate dynamics and complex LOB business apps, where I think most of us earn our daily bread, are less likely to confuse our intuitive powers than something like mathematics or physics or philosophy.
I'm a developer like many people here. One thing that people who don't program don't realize is that its a laborious job. It seems like its a fun job with lots of 'hanging out' but its more like 4-5 hours a day / 5 days week looking at a text editor and a terminal trying to focus and not be distracted. At the end of the day, I'm exhausted
I've done all kinds of jobs. I'd take a 14 hour physical labor job over a 8 hour mental labor job anytime. Mental labor is painful... in the form that stalling the main thread of something is.
But that's data entry. Development is much less mental labor, and I'd agree with the 4-5 hours/day assessment.
Most people can't actually do this, which is why a lot of people hate math. Math class is dealing with intense focus on a poorly documented thing. Development has little to do with it, but it's the same soft skill.
I have done all kinds of jobs too, and I will take a programming/middle management job (no matter how soulless) over a 14 h, or even 8, physical job, every single time. Most of the blue-collar workers will tell you the same. Your skin suffers, your knees suffer, your lower-back suffers, honestly I doubt you have done it for a long time, it is people in that category who naively fantasize about how cool is to work 14 h under the sun or in a plant/warehouse/construction site.
Second this. I barely made it a week at a construction site when I was younger, and I was convinced the experienced shaved a few months off of my life expectancy. I was also just as exhausted coming home from work as I would be from an equivalent amount of time spent thinking about hard mental problems. At least for me, it wasn't even in the same universe as sitting down in an air-conditioned office and writing code all day.
>I'd take a 14 hour physical labor job over a 8 hour mental labor job anytime.
No you wouldn't. Physical labor varies in difficulty somewhat depending on the type of work, but many blue collar jobs are hell. Forget the anecdotes you read here; they are the exception and not the rule.
That's not to say that coding can't be difficult. But physical labor can be much, much worse.
Yeah, I think the repetitive part is what drives us crazy.
The worst jobs are probably done by prison labor and slaves. 8, I would actually classify as dangerous labor, things like how prisoners are made to peel garlic which corrodes their fingernails and teeth.
> Math class is dealing with intense focus on a poorly documented thing.
I like this and think it's accurate. Funnily enough, it gets better if you go on to major in maths. The quality of pre-university maths teaching is just unconscionably bad. (Then it gets bad again as you reach graduate-level maths, but this is because you're expected to be able to deal with that at that point.)
1. You are expected to work 8 hours, while your body/brain is just made for 4 hours of extensive mental work. Afterward, concentration and productivity plunge.
2. Office cultures are rarely made for Deep Work. Instead, you are expected to participate in meetings, communication and presentations.
I think both problems are somewhat solvable, but in many companies, the office culture doesn't make it easy to fit in while solving those factors.
Related to that: On many people's mental maps, programming seems to be closeby other things like installing a driver, changing configuration and such. That it is an powerful tool for anything that you do with your mind completely escapes the bystanders.
I have been saying for a while now that "programming" is basically a blue collar job. The vast majority of programming jobs these days are just brainless CRUD duct-tape programming positions that have no need for thought or creativity. Corporations literally just need a monkey that can sit in a chair and churn out code for hours on end.
Software development is a very young and immature field compared to many fields/industries.
I mean, the Hippocratic Oath and _some_ form of organised medicine has been around for 2,500+ years.
Modern manufacturing has been around for a few centuries.
etc.
Yes, they all change and develop - and use software within them to drive some of that change - but many industries are mature and stable.
Software is not.
5 years ago you would build a frontend website one way, now you'd use a completely different set of tools/technologies. Wait 5 years and it will have completely changed again.
It's a similar case with software development methodologies, backend approaches/languages (etc), too.
Plus many industries have some form of enforced standards or monitoring, whilst software certainly does not.
> 5 years ago you would build a frontend website one way, now you'd use a completely different set of tools/technologies. Wait 5 years and it will have completely changed again.
This is certainly true of web front-end work, yes, but that's the most fad-driven area of software development.
Operating systems' kernels are still written in C, though, just like in the 70's. (Well, a different version of the C language, granted.)
> Plus many industries have some form of enforced standards or monitoring, whilst software certainly does not.
Indeed. Only in a very few specific sectors, such as aviation, are there formalised standards.
Incidentally, modern medical ethics are very different from the Hippocratic Oath.
Probably the most important of the thread. Working smarter > working harder and communicating about your work and its impact is as important (sometimes more) than the work itself.
How much feel good and drinking relationships matter in upper management. And on the downside, how little facts weight in when compared to a manager's gut feeling.
Enthusiastically presenting a (factually wrong) solution can be a winning strategy. In high school, I thought I was a math genius because all of my solutions were judged as correct. Turns out, I was just a good presenter and nobody made any effort to check my results.
Managers in big companies will be happy to buy your product if it helps themselves save face, even if it is a net negative for the company. That's how they end up with so many useless initiatives that get canceled after a year of burning money.
Consultants are paid to be a straw man parrot. You tell their coworkers what your contact wants them to hear, so that they can blame it on you if their idea goes wrong.
The same source code given to different product and marketing teams can be a 100x difference in revenue. If the sales team is not rich, run. They either cannot sell the product, or they could not sell themselves to get commission.
Customer support matters a lot less than people think. A buggy 10-year-old software without support can still sell like candy if it solves a real and valuable business problem.
BTW, I just remembered another consultant story the other way around. I was trying to do a banking deal and they sent me a draft that had the requirements listed as checkboxes.
[X] Form 123-AB has been signed
[X] Project duration less than 2 years
...
[ ] Company financials have been audited and confirmed
And the offer was timed to expire within days. At first, I thought this was a joke in bad faith, as there would be no way to have all company financials audited and legally confirmed by a certified accountancy within 7 days. But then I just called some random accountant offices, told them my story of needing a quick audit for the bank and asked for a quote and their time frame.
One company offered to do it as same-day service. I faxed them the documents in the morning, then his assistants would check them, then the certified accountant (the guy running the company) would confirm that everything was in order and then I'd get my result in the evening.
When I drove there in the afternoon with my paperwork for them to confirm and stamp it, I was told that their head guy was on vacation and had never been in the office. But one helpful assistant stamped and signed all of my documents "i.A." = "in absence". The whole audit cost me less than my usual daily rate.
Next day, I told my contact at the bank how things had gone and he chuckled and just said: Yes, they know that we just need the audit to tick a checkbox in our liability insurance form.
In other words, while I considered what the accountant guy did to be a rather low-effort incomplete job, he did exactly what was expected of him by the bank and what I needed to get my deal done.
> In other words, while I considered what the accountant guy did to be a rather low-effort incomplete job, he did exactly what was expected of him by the bank and what I needed to get my deal done.
The degree to which everything runs on this sort of system is kind of horrifying, once you're exposed to enough things like this for that to sink in.
Relatedly, I guess my contribution to the broader thread would be:
Almost no-one knows what they're doing, let alone is much good at it—so few, in fact, that society and the economy (and everything else) basically run on a massive and super-serious game of playing pretend. Yes, even that big important organization (public or private) where you expect everyone to be pretty damn competent. The difference between them and some normal place is that 5% of their people are impressively good at their jobs, rather than 2%.
This is what becoming an adult has taught me. I'm still baffled that things work as well as they do given the incredible levels of incompetence you find everywhere.
Growing up, I had this idea that adults always know what to do, at least within their specialities, or at least know how to figure out what they don't know. So far from true. The vast majority is just winging it. To the best of their abilities, of course, but it's still all improv.
Right—that significant amounts of labor (=human life) go into this kind of waste that everyone involved knows is a joke, and that the non-joke variety is rarely treated much differently, both contribute to what's scary about it.
I agree that the non-joke variety not getting the serious treatment it deserves is scary, I just don't agree that it happens as often as you were implying.
>The degree to which everything runs on this sort of system is kind of horrifying, once you're exposed to enough things like this for that to sink in.
So? It clearly works.
People want everything to be high quality master craftsman type work but almost nothing is and it almost never matters. People like to think that the auditors are going over the papers with a magnifying glass and that their landscaper is applying exactly the right fertilizer for the soil conditions. In reality the auditors are skimming the papers and the landscaper is just using whatever brand has worked decently in the past.
Most work done most of the time is little more than the minimum and that's all the world needs. You can either look at that as sloppy and low effort or efficient allocation of resources.
It works right up until it doesn't: see 737 Max, mortgage crisis...
Perhaps the best thing that can be said for pro-forma processes is that they usually put people on notice that they may be held accountable for their actions -- though, of course, that is not always the case.
And look at all the planes that don't fall out of the sky and all the financial products that don't cause crisis.
The "even rare failures are unacceptable" line of reasoning is simply too conservative to permit our modern society to exist. The resources we would have to dedicate to preventing these kinds of things (don't forget the 90/10 rule) in every case would be astronomical. Imagine if every bit of software had to be written the way NASA rights their software for human carrying vehicles and if every financial transaction had to be strictly scrutinized. Software would be so expensive that it would be used far less than it is today and all the good that brings would not exist. Credit would be far, far less accessible to just about everyone you could fill a library with books that have been written about why that is bad. And those are just two industries(!!!!).
It's really east to say "But the MAX" or "but the mortgage crisis" but occasional failures like that are simply the price of a reality where normal everyday people can travel thousands of miles in a day and have access to credit.
People don't just "ignore their responsibilities" out of malice. Generally people "ignore their responsibilities" either because they are pressured into it, or because they are lead to believe it is the right thing to do in that situation.
Either is unacceptable, of course, but the boots on the ground are rarely to blame.
Kind of ironically, pulling out 3 anecdotal examples of well-known system failures doesn't make a very high-quality argument that most things being done sloppily most of the time doesn't usually work out fine. The real argument is, that while those 3 things were happening - and the War on Drugs goes back ~100 years - roughly 3 billion other things were also sloppily done, and most of them worked out well enough.
If it didn't work, we would all be starving and dodging lions in a jungle somewhere, instead of writing posts on an internet forum about how a few well-known things were sloppily done, yet didn't really cause that much damage in the great scheme of things.
tpxl and you are using different definitions of "work out fine".
Incarceration and systemic discrimination against an entire class of people does not count as "well enough", in my opinion.
And it's specious reasoning to conclude that if a society made up of untrustworthy actors committing fraud isn't starving and dodging lions, then it's worked out fined. One can go live in a country with low societal trust to see what that's like (Brazil, India, Pakistan, Somalia, etc).
I posit that it's the proportion of trustworthy actors in the system, along with a healthy dose of conveniently timed technological advances as well as luck providing resources at the right time that leads to a prosperous society. There are countless examples in history of a society doing well enough, and every time there is a tipping point where sufficient trust is lost and it starts degrading, or in some cases, collapses.
> tpxl and you are using different definitions of "work out fine".
I suppose we are. I'd argue that mine corresponds to reality in every modern nation that currently exists on the planet. I think they're all doing pretty well indeed overall, compared to the historical record and the current conditions of some of the countries and places that aren't doing so well. Comparing current reality to an imaginary utopia is a whole different ballgame.
There's nothing wrong with recognizing the problems, mistakes, and injustices that we do have now and working to fix them. We just need to keep a little perspective - despite the problems, things are still going pretty well one the whole. Plans that talk of tearing the whole system down to fix a few small problems aren't a good idea, and have historically mostly led to things getting much, much worse.
Change is inevitable. I merely hope to slow the change caused by corruption by doing what I can to prevent it.
The only way to stop or slow corruption is by shining light on it. I support all efforts to increase transparency. Put all those spreadsheets online so people can audit each other. Perhaps it is inevitable still, but it’s the best chance we have.
> The economic crisis of 2008/9 could have easily been prevented.
That's not clear at all. There are systemic changes one might have made that could have reduced the impact at the margins, but ultimately the cause was too much much money chasing too few assets and I have yet to see any plan that would have changed that.
The bit about math homework reminds me of how I started getting better grades in grad school as immediately after I started doing homework in LaTeX. It’s not that I got any smarter, and I don’t think my work improved significantly as a result of using LaTeX. IMO, it was just that my papers literally looked more convincing when they were typeset like preprints rather than handwritten.
I spend a lot of time making my consulting invoices look good, because it seems to justify my rates and impresses the payroll department, who then pays me sooner.
Same way legal departments dress up what are more or less informal requests in high language and good production values.
Old manager coined it "the power is in the template", big difference in response rate between an informal handwritten request & a proper looking 'official' request to comply.
My go to as a freelancer was to buy a nice template (spend $50, it's worth it..) and customize it appropriately. You want something approaching "savvy yet professional" most of the time.
> Consultants are paid to be a straw man parrot. You tell their coworkers what your contact wants them to hear, so that they can blame it on you if their idea goes wrong.
I'm not sure I follow. Is "you" the consultant in the above scenario? A consultant is hired to pitch the idea of someone who's hired them, to the person's who's hired you colleagues. If the idea ultimately falls through, the person who's idea it was originally gets to shift blame on you. Oh, ok. While writing this I figured out what you meant by straw man parrot.
I was surprised by the number of times I've seen the most-voted comment on HN was outright wrong, or so off the mark it was not even wrong (in subjects at the periphery of tech where I have personal experience). I think managers & tech workers figure "Since I'm really good at X & Y, I must be good (in general). I have figured out how the world works (or can figure it out, after giving it a few minutes thought)". It's hubris.
Support is interesting, I've found that I get about one support issue for every sale. The interesting thing is most people who raise a support problem never buy the software and most people who do buy the software never raise any issues.
None the less I do find it a valuable source of information, in particular identifying bugs and deficiencies.
Customer support is super important when the product is immature. It keeps customers paying, and it produces a list of issues, clients can even help you prioritize them (at least if your clients are other businesses).
Yes, once that program has been working for 10 years, it's likely that any bugs are easily worked around, but while the software is in development, it's likely there are no work arounds and customer support can take a beating from the customer and try to make the customer feel better, this stretches out the timeline for fixing the issues.
You're not wrong, but this is the fully cynical point of view. Having good solutions and proven outcomes usually does matter. It's just that giving people confidence in your solution is also very important and can be done regardless of it's actual quality. The confidence game will eventually blow up in your face.
> How much feel good and drinking relationships matter in upper management. And on the downside, how little facts weight in when compared to a manager's gut feeling.
This is because management is ultimately a job about people, and manager to manager relationships demonstrate one's skill on that axis. I think all of us would rather work with a coworker or boss with middling competence but who is nice to us, rather than a brilliant asshole.
That is the reason the world is burning. Instead of running from where you don't see it, run to attack where you do see it.
It's better to fail as a good person than to succeed as a charlatan, and a bit of money can't plaster over the faculties of the mind drying up, among that the ability to resist charlatans in other contexts, including the political. "Business sophistry" is simply sophistry, brownnosing your boss is just brownnosing, and either you feed sophistry and naked emperors, or you don't. Everybody has "reasons", but more importantly, every day new people come into the world, and they deserve a clean shot at life more than crooked people deserve respect and comfort. Save your soul, you just have the one.
> Act only according to that maxim whereby you can, at the same time, will that it should become a universal law.
The forces of chaos certainly seem to be in the ascendant in the West. A British woman makes thousands a month taking her clothes off online and selling her bathwater to perverts etc., yet if I call this out I'm liable to being labelled a dinosaur, misogynistic, hateful, etc. etc. In today's society possessing what were once considered traditional morals is liable to leave one at best socially isolated and at worst destitute.
There is a very good reason for that - "traditional morals" frankly are full of horrifying things accepted without comment and harmless things called the great Satan.
Wars of colonialism, soldiers paid in plunder and rape, massacre of those only trying to defend their besieged home? Fine or even righteous when we do it. When others do they are foul invaders.
Meanwhile, anything remotely lurid or new culturally is treated as an apocalyptic issue and the well of all sins. A streamer making money selling bathwater and being widely mocked doesn't even belong on the map of moral problems even when compared to petty examples of actual problems like parking ticket fixing rings. While limited in impact they are a clear warning sign of growing corruption.
> actual problems like parking ticket fixing rings
Personally I'm more worried about this, which I suppose makes me a hateful bigot: 'Asian grooming gang free to roam streets because officers were told to 'find other ethnicities' to investigate, detective claims '
What's a blackpill? Is this a twist on the Matrix's shtick with red and blue pills, but with a black one, signifying that this truth is somehow morbose or dark?
Redpill was a community of 'involuntary celibates', who were bad with women, and reacted to it with women hate, claiming that they were woke and saw women as manipulative. It took off, had a strong number of supporters.
Blackpill is a derogatory term for a similar pattern - people who are bad at something and respond by being 'woke' and dismissive.
I suppose the classic English term is "sour grapes".
A quick internet search will show you lots of dumb and incorrect things. It's a bad idea to define concepts based on what a quick internet search shows you.
It's the overall uselessness of life, being lied to about rules of society while brutal, cruel natural law is in effect, like people getting ahead by lying, bullying, kissing up, schmoozing, murdering, having sex with etc. and one's competence doesn't matter at all, unless it's for increase in work/punishment. It leads to nihilism, suicides and murders as "nothing really matters" and is quite common in 50+ and lower-strata society folks "that have seen it all".
From a quick research:
Blue pill - believe what society says, have okaysh life and ordinary dreams driven by collective narrative, zeitgeist, then burn to the ground later when somebody catches you off-guard and takes advantage of you
Red pill - be a selfish bastard you are supposed to be, use other blue pill people because they allow you to, argue using other people is what they truly want (mainly related to women, i.e. assuming women are attracted to emotionless men that are using them then throwing them away once no longer attractive), have a firm and rational grip with actual technical aspects of reality around you with good behavior prediction rate, often practicing stoicism/Zen Buddhism
Purple pill - mix of blue and red pill, having some societally-injected ideals while adhering to solipsistic consequentialism in using other people, but still being driven by societal rewards and the need of approval by others
Black pill - nothing matters, you or other people could be already dead, it won't change a thing, universe is random/pointless or created by an evil demiurge in order to torture conscious beings; whatever you do, whether good or evil, is pointless; people use each other all the time, given large enough reward there is no moral rule that couldn't be bent, there is no point in generosity and ideals, just in interests, and they are pointless anyway
White pill - universe was created for a reason that is good and everybody wants to get into a meaningful state/end, assuming overcoming obstacles by practicing virtues is necessary in order to reach some noble goal, likely maximizing utility/happiness of everybody, often associated with religion
Honestly, I am not sure how one could fight either of those pills as all historical civilizations had their own share of unrealistic myths and there were always groups of people seeing through their facade and taking advantage of better information, validating many of these perspectives and making them common meta-strategies of life.
This is, thankfully, not true. The truth is that you need to have some baseline level of competency to survive in corporate world. Sometimes it's quite low (for scrum masters, business analysts etc.), but still, these people know a lot more about software than say random person from the street outside the building.
The sad part is that, beyond this baseline level of competency, further competency does not help nearly as much as the being good at company politics.
HN pill - There could be an app for everything, every activity, and every device could be connected to the internet. Your life is a SaaS subscription. The least valued tech company should be worth at least $1bn.
It's what Schwarzenegger does when being offered a red pill in Total Recall (1990) : put a bullet in the guy's head. (The bullet being the "black pill".)
:P
(P.S.: Yes, I know that it is not what it means...)
That money is debt. In a very fundamental, literal and practical sense, debt or credit (i.e. someone owing somebody something valuable) is what money is. The traditional definition of means of unit of measure, means of payment and unit of value describe how money is used, not what it is.
Like, knife is a sharp edged tool used to cut things vs knife actually is steel.
(This also being my main reason objecting cryptocurrencies. Idea of current cryptocurrencies being money is to me very much cargo cultish until there is a proper way to manage credit within the cryptocurrency system.)
No, that's not true. Money can be either debt-based or non-debt-based.
The current government issued money is based on debt. It means that in order to create new money, someone has to be in debt for that amount. I.e. someone has to promise to create value in the future. When more promises are made, the monetary base inflates and money loses value. Money is created at the central bank (public/national debt) and in commercial banks (private debt).
The alternative is money that is based on value that was created in the past. The distinction is that the work already happened and there's no promise to be held. Such money can be anything that requires work to obtain, and can't be created in any other way. Examples of such money are gold and bitcoin.
> No, that's not true. Money can be either debt-based or non-debt-based.
Well, you are right in that money _can_ in theory be non debt based. However, currently it is not, and I am quite confident that if you tried to come up with money that is non debt based, first, it would work horribly badly and second, there would emerge almost immediately a debt based money. You see, it is practically impossible to forbid a debt based money. If I have three friends that trust me, I can write on a paper that "if you give this paper to beefield, he will give you five apples". Now that paper is literally money between my friends. And there is very little you can do to stop that. You see that also in crypto world. Crypto people are vehemently against fractional reserve banking and anybody being able to generate money. Obviously there are now instruments that are newly created money supply for all practical and theoretical purposes (e.g. tether and exchange deposits), but somehow the cognitive dissonance seems to be too strong to admit that.
Debt and credit are useful and necessary tools, I'm not against them. Tether and exchange deposits are obviously not cryptocurrency and I think lots of people understand that. They require trust, which has been breached many times already.
There's a saying: 'not your keys, not your coins'. Cryptocurrency makes it possible to actually own your money when you hold the keys, and it's impossible to take it away from you.
> Tether and exchange deposits are obviously not cryptocurrency
As you say, that is obviously true. Almost as obviously true should be that they are (or at least very hard try to be) _money_. And that should roughly as obviously point to the conclusion that one of the central tenants of cryptofolks' philosophy, fixed money supply, is broken. Fairy tale. Utter crap. Or whatever is your favourite idiom for something that simply, completely, demonstrably and blatantly untrue.
That's the core concept from that book and I found it really interesting. It tears down the common school example of barter based economies preceding money. In most societies people kept an informal ledger of favours owed in their heads and had a rough idea of commensurate value over time. Direct barter was relatively rare.
First, the "own money" in the bank is not technically his money in the bank, but money the bank has borrowed from your friend. So the bank is in debt to your friend.
Now, in order for the bank to be able to be able to pay its debt to your friend one day, bank has assets. I.e. someone has borrowed money from the bank (e.g. mortgage), and those assets can be used/solde to pay your friend if your friend really wants the bank to settle its debts to him.
It kind of is turtles all the way down. Someone needs to be in debt for there to exist any money. Money is a really weird kind of bearer note. It just means that if you have money, you are owed some valuable goods by other people. And you are pretty free to choose who pays that debt to you from them who is willing to take that bearer note from you as a payment.
Note that debt is also how money is born. Technically everything a bank does when it adds for whatever reason money to your bank account is that it increases your balance in the database and boom, we have new money. Of course, usually banks are not stupid, and in order for them to increase their debt to you, they want something from you in exchange. Typically a promise to pay back a bit more some later day.
(As a disclaimer, money is really tricky to think through. So I give no guarantees my thinking is correct, but so far thinking money as a debt has been most useful way for me to understand it.)
I guess I don't see it like that at all. I see it as the olden days where banks (or countries) actually had gold reserves for the amount of money that exists. (I know it doesn't work like that anymore)
I also don't really agree that the bank owes my friend that $100k. They're just holding it for him. If you store your car at my house I'm not in debt to you. Your car is just sitting at my house for a while and you can come and get it whenever you want. It's no skin off my nose, and it doesn't impact me financially, because I'm not in debt to you. In the same way when I put money in my bank account the bank is just agreeing to store my money for a while. They are not in debt to me.
Sure, you owe him a car for the duration, the fact that he can get it whenever he wants doesn't change much. If the car you stored goes missing (and you set up a contract) you'll find you now owe him money.
Another interesting thing is that you (a bank) will typically store not one but a hundred cars, and you will lend 90% of those to other people at any given point, in exchange for money. So everyone thinks their car is stored in a garage and they can get it whenever but they probably can't. The system only works because people don't need their cars that much.
The bank doesn’t store your money, it turns around and lends it to someone else, hoping that the interest it receives on that debt (eg. a mortgage) is greater than the interest it pays you.
While I don’t agree with the overall ‘money is debt’ statement, it is definitely true that you lend your money to the bank. You don’t park it like a car. This is why there can be times that you ask for your money and they don’t have it (the reason for FDIC insurance).
> I also don't really agree that the bank owes my friend that $100k.
I am sorry if I sound blunt, but I do not see this something that is a question of opinion or something one can feasibly agree or disagree with. This is pretty much true by definition.
Yes, I know it feels different if you lend your money to a bank or to your friend, but it is only because you can use the debt of the bank as means of payment more easily.
1. Frontend guys, who worked for the internet before, think that users are complete idiots, even if the project automates a coworker’s job which they do manually right now (or less automated). Focus goes on things that are completely irrelevant to the main problem we try to solve. Small changes are a tragedy. Moderate changes are a terror.
Nothing of this is real/important when you give up negotiating, take frontend in your hands and do damn work yourself.
2. Users are very shy or unaware of the fact that their convenience is my duty and you can just message me and ask to move that button, tune the tab order or relayout a form. You have to investigate and monitor their work to get a feedback. I think it comes from the complexity mismatch. If a user asks for a complex feature, it is simple. If they ask for a simple feature, you’re in trouble. Maybe it comes from the false belief that I know better.
3. Bigger competence comes from lesser control.
4. Being a full-time software developer means you’re socially, mentally and willpower-y dead at the evening to some notable extent.
People with strong opinions usually don't know enough in their field. (Mount stupid)
There's no one perfect tool/solution. It's always tradeoffs.
People are obsessed promoting their favourite tool/framework etc.. Eventually you realize it's more about the patterns behind them, not the individual solution.
> People are obsessed promoting their favourite tool/framework etc.. Eventually you realize it's more about the patterns behind them, not the individual solution.
I do find working with some technologies or languages a lot more pleasant than others. JavaScript based work is always a pain in the arse.
I am of the opinion that the software industry could improve by closer looking at the industry of producing physical goods. I have yet to conduct further research, but if you glance at it; Agile has been an idea since the 1940s over there; factors like longevity, safety, security directly influence quality of the product and its creation process. Also, greatly standardized methodologies, procedures, metrics (think: 6sigma, Lean).
The main challenge I see is that software development is not a commodity and cannot be as planned as a physical good.
It’s mostly a thought experiment right now and I value any opinion.
From a startup perspective: Getting new combinations of stuff to work, even "enterprise" grade stuff, can be a messy horror-show, at least initially.
There's no point-and-click, no slick GUI, no whizzy installer. Instead there are bugs, blog posts, mailing lists, snowflake configs, and a fair amount of frustration.
If you're lucky and given enough time, you get to understand it, tidy things up, and document it.
Development isn't like installing an app on your shiny wafer-thin Mac that "just works". It's complex. If you want to do something new, you can expect complexity.
I learned at my first web dev job that no one outside the dev/marketing sphere knows just how much of their visit to e-commerce sites is tracked.
From technologies like Hotjar that record your mouse movements on a given webpage, to simple IP address logging (who visited this page on our site, from what referrer, etc.), people really have no clue how closely their actions are being monitored.
However, as with lots of data analysis, their personal information alone means almost nothing. Their data in the aggregate of all visitors' data is valuable for analyzing conversion rates, if and how their banners are working, etc.
I can't speak to the ethics of this, nor do I care to. I don't believe it's right to track so much interaction without duly notifying the customer it's happening, but I have very little aside from a sense of common courtesy to back that belief up.
The experience has given me a new appreciation for JavaScript blocker extensions, which before I had believed are no longer really needed. It's also given me an insight as to the value of an e-commerce page over a physical store location.
For example: Say I go to my local Target. If I'm looking at cameras, and the sales person asks if I need any help, or whatever, and I say no, they go away, and the interaction is over.
But lets say I go to their website. Immediately, a personal session with this page is created for me, even though I don't know it. I'm tracked from the home page, to their electronics sections, to the Camera subsection. My movements in figuring out the search filters is being tracked, my mouse movements over the available products is tracked, all adding data to create a "heatmap" of that webpage.
Even if I don't buy a thing, I've given them little pieces of information to be used in analyzing their site. My visit will be considered a failure to their marketers, and the data surrounding my failure to buy will be used to retool their site in the hopes of getting people like me next time.
The level of tracking on internet is reaching all time highs (just like stock market).. Right from big guns from FANG to the site that was just launched.
I've seen presentations where the user's mouse journey were captured and decisions like making page faster(so they dont wander around while it gets loaded) and putting important stuff on top left corner since most of the users click or point there first..
The future looks only terrifying, esp when when a new "pied piper" level internet consortium gets formed by/between FANG(wildest dream) and they share the data among themselves (this is nutso level dream) ... but only future can tell
I'll probably lose 20 points of karma for daring to defy consensus, but: I really don't understand the terror around my mouse being tracked as I hover over a page, or around on an commerce site. Why is this supposed to bother me so much? And judging from the ads I'm served, they aren't figuring out very much about me at all. The most that happens is that if a female friend sends me a lingerie link, then I see lingerie ads everywhere for a week. Lately I've been served ads for Jewish religious garments. I'm not Jewish. They aren't collecting enough information on me, frankly.
It's about whose hands this information gets into. When all the data that is being collected on you is combined and cross-referenced with various data sources, you can end up finding all sorts of information about someone like their habits, their lifestyle, medical information, location history, among other things. All this data is sitting out there being sold and brokered to companies or governments who are definitely not using this data in a way that benefits you. Not to mention most of these datasets are not being protected and getting leaked all the time. You may not be a political target or religious dissident where this information can you killed but you are still not benefiting from these data insights being available on the open market. At the very least, you should be able to choose or get paid for this valuable information.
Thanks for your comments, just want to discuss one piece:
> However, as with lots of data analysis, their personal information alone means almost nothing.
I think this is not true because of fingerprinting -- sites and services want to track who is the same visitor across multiple visits and locations. In other words, the situation is even worse than you've described because it's not just used in aggregate, but really to track you personally as well.
If you work in a field where you and your coworkers are not employed as coders, coding is frequently a superpower. When I worked in aerospace as an aircraft structural engineer, I could do a lot of things my coworkers simply could not because I could code. This translated to faster deliveries, happier customers, and good leverage for increasing my comp.
So my advice to anybody who wants to get into a not-coding occupation and really distinguish themselves is: Get good at coding.
Most people pay for mistakes they or their parents made in the first 20-odd years of their lives, for the rest of their lives. That's a lot of unrealized potential...
Kind of obvious one, but I wish more people knew that — critical thinking.
On the one side it helps to avoid bad/stupid things in life: quackery medicine, scammers, bad investments, etc.
On the other side it allows to peep deeper into things and see more choices even in ordinary life. After some practice you gain nearly magical ability to peel couple of additional layers from reality and to see non-obvious things everywhere.
I doubt there are books that could teach you critical thinking. It requires to spend lots of time observing and learning stuff, trying out possible solutions and getting meaningful feedback.
Also from my experience it helps when you stop judging people and stuff, labeling things as good or bad, black or white. Just try to understand different points of view and outcomes as they are.
And take the rest with a bit of salt given that this was Kahneman's comments on the research in that chapter: "Disbelief is not an option. The results are not made up nor are they statistical flukes. You have no choice but to accept that the major conclusions of these studies are true."
Rationality: from AI to Zombies is largely based on Daniel Kahneman’s work, with a bit more influence from Judea Pearl’s causality work. The rationalist subculture has a writing style and trends that might be a bit polarizing, but I found it enjoyable. A good bit of it is about how to quantify uncertainty in real problems, and that this uncertainty only exists in the observer, not the universe. It also considers controversial examples like cryonics, race and politics.
The Skeptics' Guide to the Universe: How To Know What's Really Real in a World Increasingly Full of Fake by Steven Novella. There is an audiobook version, or any episode of their podcast, now over 750 episodes to choose from.
It's easier to leave people frustrated then help them empathize or adjust their expectations.
I can only explain it by example:
Some people complain that they have a lot of trouble getting a job in the software field. Other people complain about why it's so hard to hire.
The reasons are very difficult to explain, but more importantly: No one wants to know the truth or bring empathy to the discussion!
I've had both struggles. (I've struggled to find a job, and I've struggled to hire.) If I try to explain why it's hard to get a job, from the perspective of someone who's hiring, I make people angry. If I try to explain why it's hard to hire, from the perspective of someone who's looking, I make people angry.
The simple, non-offensive answer, is that both job candidate and hiring company's expectations are unreasonable. More importantly, though, it's easier to leave people frustrated (in their job search or employee search) than to help them adjust their expectations.
Whatever job we think require the very best in the field are often not performed by the very best. You'd think a book on topic X is written by an expert in X, but the truth is that it only takes enough skill to fool the average reader to sell books.
TV chefs? Mainly have to be good at talking.
People who write libraries, compilers, OS kernels and so forth? All sorts.
So never ever assume that someone is an expert just because they do something "expertly".
We do our scientific work at millihertz frequencies (one cycle every 1000 seconds or so). The age of the universe is ~13.6 billion years, which corresponds to ~10^-18 Hz. Thinking about the zero-frequency limit is a useful crutch, but all things are always changing. Materials creep, the Earth deforms, temperature changes, aging happens. There is no DC.
2) Small forces for long times yield great change
We study torques as small as 10^-18 N-m acting on ~100 g objects. A willingness to apply a very weak force for a long time can often yield measurable, often large results.
DC generally means time-invariant/the zero-frequency limit. Offhand, I can't think of a measured physical quantity (aside from the physical constants, so-far observed to be constant within uncertainties) that has been constant for all time.
but that's like saying there's no such thing as a 1 or 0 (or any number at all). of course. but given enough time/money/effort you can get close to zero frequency right? just add enough smoothing caps and wait right?
People ready to pay stupid money for trivial things as long as the message is right.
A lot of people don't know how to use Google.
Finance companies staffed with tons of mediocre and incompetent people.
People do need to be protected from themselves occasionally.
People, i.e. you and I, are inherently irrational much of the time; even those with sharp reasoning skills. And we're hardly ever able to see our own irrationality, tho we discern it in others constantly.
We're also ingenious; even those with poor reasoning skills can be ingenious.
Realizing that you're adrift in an ocean of ingenious, irrational beings will not increase your happiness, so do your best to forget what I told you, and return to pondering how miraculous you are ;-)
Working in VR, the state of the art is closer to Pong than to the Holodeck or the Matrix. That doesn't mean there aren't useful applications for the technology but we won't see anything that passes for reality in my lifetime, or perhaps ever.
> but we won't see anything that passes for reality in my lifetime, or perhaps ever
maybe not that passes for reality, but VR already has a powerful "reality feeling" even with the crappy resolution we have now
Get someone to load a VR game and try to walk off a cliff - they'll find it very difficult to do. Even someone that's played a lot of VR will have to override their instincts to not step off.
Presence is possible, although my experience is that things like the cliff effect get less potent the more you use VR. You have to be a willing participant though to buy into the alternate reality and agree to play within the rules. True interactivity is what's really lacking and the thing we're furthest from being able to simulate. Reality just has an astounding amount of detail when you can interact with it rather than just look at it.
None of this is to say that VR can't be useful, valuable or entertaining (I still work in the field and believe in its potential) but we're nowhere near the Matrix and maybe that's not a bad thing.
Out of college, I worked at an engineering company and was an extremely fast programmer that built lots of cool things. I was quickly recognized by the leadership, and got an "engineer of the month" award at a company-wide meeting. Despite it being "of the month", they only did this twice a year.
I was happy about it, called my mom and told her the news.
What I didn't realize is that a large group of senior engineers were not to happy about it. The went through every one of my commits, identified every time I broke a validation, broke the build, or otherwise caused someone else a headache, and then took this information to management without me knowing about it.
I'm sure jealousy may have played a factor, but today, I largely think they were correct. I was a cowboy coder fast and loose with my code. When I broke the build, even if was for 10 minutes before I fixed it, I basically stopped a dozen or more engineers from being productive.
It took time, but I learned how to be more of a team player. I created my own build environment that would only commit changes if everything passed, and built a far more robust validation system. Quickly I changed from being the biggest cause of bugs, to the biggest reporter of bugs in the company.
Finding and reporting bugs in other people's code also did not help my standing.
The truth is that any organization is made up of humans, and simply being the most efficient at creating new features, building validation systems, or reporting bugs, is not going to be enough. You have to actually talk to your peers, build a relationship and a mutual respect and trust.
There are people who simply cannot be effectively replaced. That does not mean that the powers that be will not replace them. For example, a startup might have a critical engineer who happens to know how everything works or holds everything together. They can be replaced, although this may have a severe impact on the startup, including the failure of the startup.
To your point, even if someone is critical to the success of an organization does not mean that they won't ever be replaced by poor management.
I took it to mean that smart people sometimes have low-status jobs, and conversely people in high-status jobs are not always smart. That's definitely something I have personally experienced given my career has taken me from working as a building labourer and factory worker through to being a C-suite exec, with stops through the trading side of investment banking and Silicon Valley on the way.
It's a huge mistake to look down on and make assumptions about someone just because they have a "bad" job.
As the years go by, I find myself craving a job with a physical labor component to it.
A friend of mine studied enology (wine making) at Cornell and his job is about 50% business management and 50% wine making. Some days he has to wear a suit to work, other days he comes home in a wine stained smock. It seems like a good balance.
Some here. 12 years in IT, and I dream of a job where I get to be outside in nature, perhaps forestry.
I have friends who work in various construction fields, so I know it can be miserable and cold and dirty and hard on your body, and that people tend to romanticize outdoor jobs. Still, I've never been one to be bothered by cold or reasonable amounts of rain, as long as the appropriate clothing is available.
12 years in IT here too - now working for an AgriTech
After spending a few days bolting heavy steel pipes into place in the scorching sun I realised I quite like the comfort of the office ;-)
Though it is fun to go onto the absolute front lines and get your hands dirty and the feeling of satisfaction on completing a physical job can be very high.
My SO and I recently bought a house with a garden and some trees (pine, spruce, poplar, beech, one apple tree), at the outskirts of a village, close to the woods.
Working on the house has so far given me a lot of satisfaction (also some stress and shorter days). Any work we do on the house is work done for us. We can't do everything ourselves. We hired an electrician (a friend) to do some electrical work and got a company to do floor grinding in one of the rooms. Her father helped us oiling the floor, my father helped us when we redid the insulation in a part of the house (still ongoing). We planted some garlic and some raspberries. We're going to plant some strawberries soon (not really the right season, but we got them for free).
Working on your own house and garden could be an alternative to a career change if you feel the need to work with your hands.
This is why I always cringe a little when people here say they want to create an app on the side or an open source project. If you spend your work time staring at a screen then it's probably better to find something to do with your hands in your spare time.
Traditional view: Jobs with a high amount of physical labor are low skill, so people with more skills (i.e. intelligence) have jobs with less physical labor.
Your parent's opinion: This view is incorrect, people with higher social status, not higher intelligence, receive jobs with less physical labor.
My work in open source and many different-sized companies (in finance sector and outside) has taught me that there are two categories of people. Those who create value and those who capture value.
Most people are on a spectrum but will lean more towards one group or the other but there are people who are more on the extreme ends of the spectrum.
- People who are fully focused on capturing value have a tendency to take everything very seriously; they are often pessimistic and will find problems in the smallest things (even trivial aspects of their daily lives) and blow them out of proportion. They don't tolerate external criticism well. They are more likely to have fits of anger. They may have narcisistic tendencies and may lack empathy and are prone to hypocrisy and cognitive dissonance. They tend to focus exclusively on social politics for self-enrichment and don't spend any time thinking about the well-being of society. They believe that personal interest is the only force which drives value creation in society. They see value creators as sheep who need a shepherd to guide them to the right path. They are unable to distinguish value capturing from value creation; to them, they are the same concept.
- People who are fully focused on creating value have a tendency to not take anything too seriously; they tend to be optimistic and may shrug off problems altogether, they rarely get angry and they appreciate criticism. They are calm, altruistic and highly self-aware. They believe that altruism is the main force driving value creation in society. They may see value capturers as parasites on the system which exploit value creators to force them towards arbitrary directions which allow value capturers to claim credit and amass profits for themselves. Value creators see a very big difference between value creation and value capturing and their ability to see the difference means less cognitive dissonance, less hypocrisy and more emotional stability.
The other thing I learned is that our fiat monetary system benefits value capturers at the expense of value producers. Since fiat was introduced, through natural selection, humans have been getting worse at creating value and better at capturing it. Value capturers are better at figuring out where to place themselves in order to capture all the new fiat money that is constantly entering the system. This is why there are so many monopolies now.
We used to have a system which benefited balanced individuals, but the current system benefits extremist value capturers.
The best coworker I ever had taught me this. Anybody can do this. This guy wasn't the person with the highest technical ability in the company, but they were the best at this one thing, and this one thing made them exponentially more successful than people with more technical skill...
Whether your boss or colleagues think you did a good job (or not) is all about expectations.
Therefore, the most important part of your success is managing other people's expectations of your work.
That's not to say your work can be shit or that you should sandbag it by setting low expectations, success is simply a matter of defining what success is and then meeting that threshold. Either way, setting those expectations is important and many people don't do it at all. Then they wonder why, regardless of what the data says, some people thought the project was successful and others think otherwise.
that perception is everything. no matter how good you are, but if your work doesn't get noticed by the right people, then your career will suffer. People with good social skills who may be mediocre developers will move up much faster than you, and you will think why is it that you get left behind?
Example: You're a senior supporting your more junior devs whenever they run into trouble, and you hardly get credit for it because the business side doesn't even realize it. All they see is tickets moving.
I've kind of learned this the hard way and even before learning it, I actually luckily took advantage of this without even realizing it in a previous job.
Make sure that the work you're doing is credited to you in front of top brass. But you can't be too overt or braggy about it otherwise it will get annoying to your coworkers and then you will suffer. It seems like an art form almost.
Once I got an unexpected praise from a customer for some proxy work I did. I was overjoyed and exclaimed something to the lines of "see, that's how is done." A few days later I didn't get the recommendation letter I was supposed to receive by the same customer. There might be other things at play here or maybe he overshot with the praise. I don't know, but ever since, I don't make much of such praise. I just say thank you and move on.
You can get burned out in any kind no matter how great it seemed when you started. People grow and their priorities change. There isn't necessarily anything wrong with the job or your boss or your colleagues or with you.
Sometimes you just need a change of scenery and a breath of fresh air, sometimes literally.
It actually extends to the entire economy: The public sector debt is exactly equal to the private sector savings, because they are literally the same entity. Check out MMT Economics for the balance sheet math that demonstrates this.
Many of the stories we get told and tell ourselves are often orthogonal to reality.
With complicit naïveté it's us then who keep these stories alive so we can cope with the most profound dissonances for all the glorious incentives and self-imagery.
The price we pay for it is still pernicious to the greater environment and to the person "keeping the dream alive".
A more explicit scenario: Neither your bosses nor the investors or most of your colleagues might have drunken the kool-aid for real. The likelihood of you being just a happy yet replaceable cog in a make-believe-machine is very high.
Wear and tear is inverse proportional to cog size.
There is no real risk of burnout at the higher levels of the oligarchy.
People are not optimal machines. Instead, they make decisions based upon narratives. An inferior product can win based upon a superior narrative or because it was seen more often and recently than a competitor's product.
Generally, a consumer is only looking for one or two features to match their needs. Producing a very simple product with fewer features to match the needs of a key segment is a great way to start building an audience. If people complain about missing features, it's a good sign that they have some interest in using your product.
I've learned that small businesses generally have high expectations for relatively small amounts of money. As a result, I stopped doing freelance work unless there is a lot of money involved.
Venture Capital doesn't work the way founders and startup employees think it does.
1. A VC's job isn't to "pick" startups like you might pick stocks on the public market. It's almost besides the point, which is why junior associates and analysts get the most face time and source a lot of deals.
2. Venture Capital isn't a meritocracy, it's not fair, and it sure as hell isn't a competition. Most founders realize this after their first go around, but it's worth repeating because too many first time founders get wrapped up in getting funding, as if it's like getting into college or doing well on a test.
3. While angel investors are well advised to try picking potential unicorns or decacorns, VC funds most often don't. The reason the internet thinks this is that the biggest funds spend the most money on PR, because they have the biggest budgets, because management fees scale with fund size. These big funds invest later and need the biggest valuations to make money. There are many models a fund can operate on, and in fact most institutional limited partners will allocate capital to a number of funds with different models and strategies. To be a successful VC, you don't need to pick the next Uber, you need to pick a model, strategy, market focus, or technological thesis that fits within the broader strategy of your LPs and isn't a duplicate of their existing LP allocations.
4. If you invest in a founder, the total percentage of your interactions with them that include startup pitching will trend towards zero. Most experienced VCs will give your formal pitch less weight than the sum of their other interactions with you. The reason formal pitches are so important is because the investment committee (which tends to vote on and discuss investments at length) is mostly made up of people who haven't had much interaction with you. The real goal of a pitch is to not be objectionable to anyone whose opinion matters.
People greatly underestimate how rapidly expertise can become ramshackle as one moves away from the small areas where that expertise is actively exercised and tested. Few would ask a "Doctor" of medieval literature for cancer treatment. But people are surprised by first-tier business school students having middle-school misconceptions about Earth's seasons. Or by first-tier astronomy graduate students pervasively getting wrong a five-year old's "what color is the Sun ball?" (with half-ish of the few exceptions having learned it studying astronomy education, common misconceptions in, rather than from their own, atypically extensive and successful). Or by many first-tier medical school graduate students having no idea how big cells are.
Similarly, many people underestimate how badly science education is working. But that's a longer story. But has a speculative corollary, that most everyone is underestimating how awesome science education could be. It's sort of the inverse of the swiss-cheese model of reliable system failure. Holes of success are so unlikely to line up, that the light of understanding currently never makes it very far into the cheese.
I think other people also realize this, but my main learnings as a 45 year old software developer are:
That how little college education contributes to success in life. (at least success as I define it). That education became commodity. The real value is in finding the interesting opportunities / ideas / people / networks, the right topics at the right time.
That my knowledge and way of thinking is still too 'academical'. (although I am constantly working on this.)
That beyond a level big-picture thinking is more important than being good in details, I need to progess in this front a lot.
That scratching your own itch is the best startup walidation method: but me as a software developer have mostly developer problems. Creating developer tools is a hard business, but I could not find out a better alternative for myself yet. (I am also a gamer a little bit, but indie games are an even tougher business.)
That living in Eastern Europe is bad for your career but the upside is that you can live really well off of a (by western standards) relatively low income.
I was taught it by a former colleague but it was probably coined by someone else. We often think that if two views do not agree, one must be right and the other wrong when in most cases, every idea is a trade-off and everyone is therefore a little bit right. We might be able to find a middle-ground solution or just accept that our idea isn't always chosen.
You need to choose a cartel and find a good position in that cartel.
Find a large community of people who has growing power and influence and try to make yourself relevant in that cartel. Pick a cartel that is growing in influence as opposed to a large one that is stagnating or closed to outsiders. If the cartel is not working for you, maybe it's too late and you need a different cartel. You can still keep some ties to the old cartel if you like aspects of it.
I was trying to join the Y Combinator cartel before and met some interesting founders and had interesting opportunities but ultimately I couldn't achieve what I wanted. So I became involved with cryptocurrency, which I think is going to be the next high growth cartel. I found a way to be somewhat relevant in my crypto community so now I'm just pushing and trying to help the cartel gain more power and influence.
- Conflicts are resolved by asking questions, not by providing solutions
- Salary and coming to work are anti-patterns
- People expect perfection from a team, but readily accept mistakes of an individual
- Every job is easy, lest one should be held responsible
- With every person leaving the company - even after all the documentation, KT and handholding - a large chunk of knowledge leaves the company (or say wisdom); pretty much everybody is irreplaceable
- It's extremely hard to get your idea across. If you want your idea to get accepted, sit with one person at a time, before revealing your big idea. People still would not understand it, but they would accept it when discussed, again, in a group
- It's easy to work if there is a trust among the team members
- If you have KPIs and OKRs in your company, be ready for cross-functional conflicts, the introduction of time-wasting processes, and ultimately erosion of all the trust - giveth number, taketh soul
People are really glued to "I'm right and you're wrong" and evidence has nothing to do with it: core beliefs are really strong. About amazing things! About upgrade policy, or mysql vs postgres, or language choices, you name it: evidence based decisions are really thin on the ground.
That agile-let's-hold-hands-together-and-sing type of development is total and utter crap which doesn't improve the workflow in any way and simply acts as a shield from the management for everyone that loves to slack about and is scared of taking even minor decisions.
That nearly everything in software development is a waste of time. This will probably end up below the fold, but here are some reasons why:
- Trends force wheel-reinvention and relearning every 3 years, based on ideas from 20, even 50 years ago (or more) that were ignored because the market wasn't there yet. So the more cutting edge you are, then the more you feel out of place and suffer if you're not profiting from your knowledge. Your best work will simply be discarded just 3 years later.
- The profit is in application, not theory. So again, even if you know a better way to do something, most likely you will get reprimanded for it where you work.
- As you acquire more programming knowledge, you eventually reach a point where new hires can't read what you are writing. This comes down to the simple vs easy dichotomy. Again, being an outlier won't help you in a corporate environment, and even if you find a smaller agency that's willing to take a risk on you, their generosity will eventually come to an end and you'll be on your own again.
And the biggest one of all:
- Programming careers usually end by 40. There may come a point where even though the money is good, you don't believe in what you're doing anymore. If you don't make the jump to management, be prepared to start over in another field.
The root causes of all of this are wealth inequality and the underemployment which causes it. This is not the future that academia anticipated. This is a capitalist's dream. So we have a technologically illiterate aristocracy dictating terms to an indentured underclass of gullible loners who will never organize for their own benefit.
You will come to forks in your career path more than once. Do not underestimate the importance of choosing what makes you happy. Do not overestimate the benefits of choosing what brings in more money.
In short: choose happiness over money, most of the time.
Money has diminishing returns. The more you make the more you'll get taxed, the nice things you buy stop bringing joy once they become too easy to acquire has been my experience.
Were wired to be happy when surrounded by loving family and a few really good friends.
"That fake it til you make it" is 99% of what successful people do. Doesn't matter that you don't know what you're doing, no one is the wiser. So NEVER be afraid to take a shot and learn as you go.
Competence is an illusion. Want to be dismayed and acquire a hopeless outlook for society: take anyone and give them a non-trivial task to perform, such as produce a passport style photo of themselves. Sounds easy-peasy, right? 80% of the general population will not deliver. Oh sure, you'll hear all kinds of colorful reasons why, or why what they give you is "better". The facts hurt: people don't listen, they do what they think they heard, their self-conversation is a convoluted mess, and the fact that we have not destroyed our planet is a miracle.
The most important skill for a senior engineer (or, really, any job in a large organization) is... Political skills.
What projects / technologies / customers / designs are considered important? Who are the potential allies? Who are potential obstacles? What are their motivations? What is the best plan of action the benefits the group? How to get everyone's alignment?
Never hire anyone who's bad at communication. The bottleneck in a large organization is always politics. Whether you can attract skillful engineers to begin with is also a question of communications and politics.
An organization that determines its beliefs by voting can have inconsistent beliefs even if each voter has consistent beliefs and votes honestly.
For example, imagine that "(A AND B) logically implies C", and every voter agrees with that statement. Imagine that 1/3 of the voters believe (A, not-B, not-C), 1/3 believes (not-A, B, not-C), and 1/3 believes (A, B, C). If you hold a vote, 2/3s of voters believe A, 2/3s believe B, and 1/3 believes C; so the organization as a whole will hold the contradictory set of beliefs (A, B, not-C).
SCADA software is crap to develop on and significantly more painful to build a GUI for and no one can actually find a solution to this. Even if you did, you would have a hell of a time selling that solution.
1. In climbing the corporate ladder, don't focus on where you need to ultimately need to land, focus on not overshooting it.
2. Under promise and over deliver, actions are more valuable than words.
3. Sometimes even when you're right, never forget the value of keeping quiet when big egos are busy speaking.
4. Eventually after years of others coming and going, you end up being the smartest one in the room that others look to for answers, then it's your turn to do it all right, instead of being like those you had to fight against during your climb.
Past work portfolio, companies you've worked with, your qualifications - give it 2mins max, then spend the rest of the time talking about their project.
That developers are the only people on earth (possibly with the exception of flight controllers? I just don't know any) who actually understand what time is and what a clock does.
Everything you do in work is a performance for an audience. Know your audience (it's probably not your actual customers), and know what they are looking for
Good veterinarians (and doctors?) understand a ton more about how the body works than just about everyone else, and yet also know how little they understand.
Large numbers of the people who made your corporate-created entertainment are underpaid, overworked, and probably got stiffed on the last few checks when the subcontractor they were working for closed up at the end of the project. They may end up having their work uncredited, as well.
Only a tiny percentage of anyone involved will get anything from that corporation's attempt to make money off of every time that content is replayed.
If you're building a short term project that doesn't require much work go for a smart and lazy co-founder, he will get the work done robustly as fast as possible. On the other hand If you've got a long term project that requires perseverance your ideal co-founder is an average intelligence hard-working dude, he will work hard for long time since he has low opportunity cost.
That work which benefits society goes unrewarded while work that is actively destructive towards our planet and our democracy is very lucrative. That most technical people seem to have no ethics, no morals, no empathy, and no scruples. That corporations are psychopathic parasites which do not have our best interest at heart. That nonprofits can be refuges and forces for good.
Just spent 6 months in London at a hypergrowth Fintech as VP Growth. Learned a damn lot about failure, hiring, the new SaaS workflows, training the next generation and ambition. Summarized it here https://link.medium.com/jJfvmCq2e3 Hope somebody finds it valuable.
I learned to think in terms of incentive structures and risk when communicating. Transmission of an idea that has real implications on a design or project on the roadmap will receive unscientific criticism due to internal office politik.
So word choice is as important as superiority in an idea for solving a problem
- Groupthink is a very real thing, and stronger than most people realize. People in a group will hold and defend beliefs that they would never individually hold, simply because they're (perceived to be) part of the group's beliefs.
- Being results-oriented can be detrimental to doing anything useful.
For many of us, there's no real reason to work full-time, cutting your expenses and working less is great. Also: it's economically irrational how little time we spend optimizing our investments vs. our salary/work-skills (i'm still a sinner).
That PowerPoint is the backbone that keeps organizations together. It's like drawing books for toddlers. Keeps them busy for hours, everyone knows how to do it, when it's well done they are complimented and have silly talks about what they did.
What you (the customer) think is a painfully obvious and blaring bug is not always that blaring to those that built it. People are really good at finding different bugs when you don't have the tunnel vision from developing it.
Solving a problem in a technically competent way is easy, once you’re technically competent. What’s really hard is solving the right problem. Lots of systems are very well designed but they solve a problem the user doesn’t have.
“Smart-work” > “Hard work” is BS. If you want to get things done, train yourself to do focussed work over a period of time. In developer lingo, be in the zone as much as possible. There’s no smart-work or any other shortcut.
there are relatively few people writing constructively to companies and while some companies suck bufallo wings, the good ones are good and will use your feedback to make their products better
If you make yourself about the job you do, losing the job doesn't mean you are unworthy. Remember that you are more than the job, and you have no obligation to continue doing it if it upsets you, either.
Clean air and clean water make a huge impact on your health.
Purified, high quality fluids make a huge impact on the performance of processes, products and materials - only 1% of what is possible has been achieved technically.
Many of those who probably should know or who give the impression that they know, dont actually know or even want to know how the sausage is made. This can be both a good and a bad thing.
People have no real idea who the valuable employees are.
Occasionally you run into situations where a single person is replaced by multiple people, and then they catch on that the person who left was pretty good.
Doing standup and communicating effectively. Its made me a better storyteller in my social life. Also understanding shareholders / team leads point of view in the software dev lifecycle
The amount of work to know anything in meatspace with any certainty is huge. And this is why everyone trusts their favourite anecdotes: the alternative is not getting anything done.
That even in the most technical endeavors, many skills more often associated with the humanities - e.g. writing, speaking, basic psychology - are often the real keys to success.
People will take your idea and make it theirs if you don’t publish them (e-mail should suffice). It’s worse when they move up the corporate ladder on the basis of your idea.
In every field, work culture matters as much as knowledge. At some point, knowing the shortcuts or the dos and dont of your job becomes your most distinctive skill.
When you talk about about a big company, you're really talking about thousands of individuals. Each with their own goals and values.
When a big company does something wrong, often it's just one to five of those thousands of people who did something wrong.
Hatred for a big company is very similar to racism. Some of the people who work at a big company may fit the profile you imagine. But many of them don't. Sometimes the large majority.
That people will take a conspiracy and run with it because they'll believe a publicised scare over any number of actual experts.
I saw it with the introduction of EMV (Chip'n'Pin) credit cards in the UK, and again with contactless cards a few years later, and you still see it with Apple/Google pay.
They're not safe, people will steal all your money, you shouldn't have to use your PIN in public, they'll get cloned, I microwave all mine just to be sure. All while ignorant of the real improvements these technologies bring.
I imagine anyone reading this that's ever worked with/around vaccines and vaccinations is thinking "you don't say!" right now...
But it seems to me those conspiracies often only affect a small (but vocal) minority of the people.
I recall a similar issue when they started to introduce a prescription database in Austria. There was a lot of fearmongering in the media, doctors spreading pamphlets against dangers of surveillance, etc.
But when I talked to people about it, nobody really cared about it. People might have read some article in the newspaper, but I don't know anybody who actually bothered to opt out of the system.
I think the problem is that journalists like reporting on controversies, so they end up writing a lot about issues that only bother a few people, and if you read the article it looks likes it's a major issue when it's really not.
Perhaps so, though I've met a few older people who just don't trust contactless payments, even after I've explained that a fingerprint protected phone is more secure than any card they might have used.
And with some things it just takes time for that reactionary impulse to wear off.
OTOH I brought up vaccines for a reason - sometimes such things don't go away.
That the only thing you can really control is yourself and your reaction to the world. To me, this manifests most in how I "talk" to myself about things.
This quote is one that has been on my mind a lot lately.
"Let's think of the positives as personal, general, and permanent. Let's think of the negatives as impersonal, specific, and temporary. Let's actually go out of our way to inject these things into our discussions."
I don’t count it as lying unless there is intent behind it. But it is certainly true that many people’s deeply held beliefs are not as true as they think they are, myself included obviously. The more experienced you get, the fewer absolute truths there are.
I think I agree more with the parent than with you, particularly in engineering.
Lying in engineering means saying anything that's not true with any certainty. I wouldn't hold it against someone, but I would ask them to think carefully before speaking, to make sure what they said is true, as it can lead meetings to decide the wrong actions if nobody present happens to be able to contradict it.
Outside of engineering, all the same outcomes can occur, but proving the truth is much more difficult. And thus, while it may still technically be lying, it is impossible to tell and unfair to call someone on it.
Lying in engineering means saying anything that's not true with any certainty.
It’s funny because that’s exactly an example of what I mean. Real engineering is about compromises and those are highly subjective. What’s the feature we should work on next? What tools should we use? What’s the priority of this bug? Should we refactor this today or take on more tech debt? Ask 10 people and you will get 10 answers, all of which are just as true as any other. Recognising this comes with experience.
Those are all things that fall into the second category (subjective stuff I wouldn't call lying). But saying that something works in X case when it doesn't (or even when you don't know for sure), and everyone estimating four stories based on that assumption, is a big problem.
Lying typically refers to intentional deceit (as in you know what you are saying is false, or at the very least you don't care if what you say is true or not), so you can not be unaware you are lying.
First impressions are much, much, much more important than anyone can imagine. You've been told they are important, but you may not realize how true that was. People like to make a decision about a person and it's incredibly difficult to change it once that happens, especially when that impression/decision was also shares among others. If you start a new job and do really well at the onset and everyone thinks highly of you, it's insanely hard to get rid of that even if you were to completely botch something. You could come up with some reason and everyone is likely to assume that reason is true and needs to be addressed rather than the problem having been you. Similarly, digging yourself out of a hole from a bad impression is perhaps even harder.
The value of hard work is also understated. Most people do what they need to do and that's it. They also don't really internalize the challenges the company faces. If you take that one, you are far more likely to succeed in your job. It's not just about "hard work" but an entire mind set that most people simply don't have. If you have it, it seriously pays off.
Related to the previous point - working a bit longer also really pays off. This is different but related to the previous point. There is definitely a non-linear increase in earnings once your surpass the standard work hours. Spend an extra 5-10 hours a week on your job or side project/business pays off much more.
You can either work "smart" or work hard. Technically, you can do both but hardly anyone does. The few that do, however, are absolute rock stars.
No one checks anything. Everyone just assumes everyone else is doing their job and doing it properly. Even if checking things is part of someone else's job, it's usually done half-assed. Actually verifying the important stuff (and sometimes the less-important stuff) opens up a world of potential where your business discovers all kinds of missed opportunities, incorrect work, etc.
Most people are bad at math. And most people are also financially illiterate. Which by extension makes a huge majority of people really, really terrible at personal finance and financial planning (for themselves or their business). This also applies to a lot of smart and successful people.
Every organizational structure that human beings create yields towards tyranny/abuse over time. Doesn't matter what you are talking about - government, business, anything. Over time nearly everything somehow seems to become these oligopolistic style structures where there are a few hugely powerful entities and then everyone else.
Related to the previous point, far more things follow the pareto distribution than I could have imagined. In fact it seems to apply to anything that either has any creative aspect to it at all or to non-creative endeavors if they have any sort of scalability to them. There's a small group of people that are so insanely efficient and productive that it's almost impossible to comprehend. For example, I used to work with a guy who was working full time with me and started his own side business which was an online SaaS that he paid someone to create for him after he wrote up all the requirements and he did all the testing. While this was going on he also spent every free second trading cryptocurrencies and made a small fortune doing that. When the product was ready he launched it and manually sought out retail (end consumer) clients one by one via things like Discord chat rooms where he would pump his software that was tailored to individuals. He spoke to literally thousands and thousands of people and convinced them to sign up. Then he had a recurring monthly revenue which dwarfed his (already high) salary so he quit to pursue it. He continued to get clients and now has north of 15,000, most manually acquired. He's working on launching a sister product now. It baffles me how he can even do like half of what he does.
In business, managers are very hesitant to grant permission but much more likely to grant forgiveness for not following procedure. So in many cases it is usually better to just do whatever it is you think is best for the business and try to improves things however you can if the rules are (or will) prevent you. The personal boost here is also that your manager also thinks your plate is fully loaded with whatever it is they've already assigned to you. Then you shock them with this big thing you've also been working on and they're shocked you were able to take that on. Win/win.
There was more that I had, but I forgot it while writing the rest above. But I suppose that's enough blather from me today.
Everything is a system. The economy, society, relationships, nature, traffic.
You don't need math to reverse engineer a system. You just need to pay attention to it. You can say the right words to make a date happy. You can figure out which lane is the fastest route, better than Google Maps can. You don't need an app or data - your brain is a wonderful data processing machine.
Don't be angry at the people who are benefiting from a system, or at the system itself. Most just end up that way, the same way a river meanders towards the sea, or an electrical current tries to find ground.
Fixing/improving a system often requires deep understanding of it. An action here will cause a response there. People often document it, but few will do a proper design.
If you don't fix a system, few will. Most people are reactive to it and try to live with it as background noise.
If you don't control a system, it will control you. You don't have to change its fundamentals, just move out of the way of harm.
Neatness/order is a way to understand a system. All systems tend to fall to disorder. Disorder is not always a bad thing. Order is very expensive, and only serves as better documentation to those who do not understand it. Very often, excessive order is a symptom of someone who does not understand or control it.
> Don't be angry at the people who are benefiting from a system, or at the system itself. Most just end up that way, the same way a river meanders towards the sea
This is absolutely brilliant, going to favourite it and steal your quote!
The only thing I'd contribute is to also think about the system from your perspective, wherever you've ended up. Zoom out. Think about how you got here.
How much of it is truly deliberate and chosen, how much is the default path of least resistance? How much did you create, how much did you accept and learn from others? How much is earned, how much is luck? What do you want to change, what can you change? Are you able to help others change? Are you able to help others by changing the system itself?
Things how they happen to be now aren't necessarily how they ought to be. Indeed probably as a rule they aren't. It's not the natural order of things just because it's been that way all your life, or you've been a part of it all your life. At any moment, you have the ability to put your head up, think critically about things, act deliberately and independently, and change yourself and the system around you for the better.
I mean if a system is bad and anger helps to change it for the better, then it seems like that's fine. Anger, outrage, etc are all systems as well, that you shouldn't be "angry" at, right? The rejection of the utility of emotion is itself irrational.
Anger is a way for your body to pool resources for a fight. It destroys the body in a sense, for short term gain. If you do not act upon that anger, it becomes less effective, and only serves to sabotage yourself. Save the anger for actual wars you intend to fight.
I have rarely seen people solve problems or make changes out of anger and outrage. Everyone can be angry because victimhood is easy, but only few who are able to rationalize, understand their goals and understand the resistance they'd need to go through end up taking actions to make changes.
I would add that, when asking yourself questions, make sure it’s your intellect and not your ego answering. They’re part of the same machine, but sometimes they give very different responses to the same question. Be suspicious of any answer that’s easy to accept.
The only type of person who will like this kind of quote is someone disproportionally benefiting from the system in an unfair way.
Let me tell you absolutely that if such people exist in the system then the system is flawed, unfair and such a person is indeed exploiting the system.
Systems can be made fair or unfair, that is what you must derive from the fact that everything is a system. It is pure stupidity to accept that all systems are unfair. This is not true and is nearly an obscene belief.
Think about it. The logical consequence of people disproportionally benefiting from the system means someone must be losing. If you must accept this, then you must accept that people working 3 jobs to stay afloat or people in poverty are just part of the system at work. Don't get angry at those facts.
> Systems can be made fair or unfair, that is what you must derive from the fact that everything is a system.
Or conversely, as the OP suggested systems end up that way. Not necessarily designed fairly or unfairly, they can become that way over time.
> It is pure stupidity to accept that all systems are unfair. This is not true and is nearly an obscene belief.
Where did anyone say that all systems are unfair? Where did anyone say you should just accept the way they are? Those do seem stupid and I don't see where anyone posited those ideas.
On the other hand it does seem very useful to understand that unfair systems do exist, how and why they came about. And if you have no control or influence over a system, then you need to accept it. Those are all pretty obvious truths and is what the OP highlighted...
This post seems to imply such unfair systems are emergent in nature. Possibly so. But is the system emergent among a group of human beings who are fully aware of the actions they are taking?
No. That's like saying global warming is an emergent phenomenon of human society.
Right, it is emergent among a group of human beings who may or may not be aware of the actions they are taking as is the case with global warming. Although nowadays more and more people are aware of what causes global warming and how they contribute.
That also doesn't mean that some people aren't trying to keep the status quo or rig a system. Just that if a system is unfair, that could be something that was not necessarily designed or intended, but happened anyway.
I mean, frequent rain harms some and benefits some. But you wouldn't get angry at the people who benefit from rain. You'd deal with it, get an umbrella, build a roof, change your plans, and so on.
Angry tweets won't dismantle capitalism any more than it would stop the rain. The people who benefit from capitalism didn't invent capitalism. Capitalism might have poverty as a side effect, but the system doesn't need to be dismantled, it needs to be patched.
If there's anything we learn from software engineering, it's that destroying something and rebuilding it completely causes more unexpected bugs. Patches can be messy and ugly, but are often the best solution.
Let me be frank. If you are a plutocrat, you are at fault.
You are at fault because you have the ability to redistribute your wealth which you know was unfairly gained. No amount of work by a single person can generate the wealth possessed by the top 0.1%, for someone to be that rich you had to have people work for you and you have to exploit their work and take an unfair share. That is reality.
The people who benefit from corruption and theft didn't invent theft or corruption. You don't need to invent something to be morally unjustified in exploiting it.
"Many economists would have you believe that their field is an objective science. I disagree, and I think that it is equally a tool that humans use to enforce and encode our social and moral preferences and prejudices about status and power, which is why plutocrats like me have always needed to find persuasive stories to tell everyone else about why our relative positions are morally righteous and good for everyone: like, we are indispensable, the job creators, and you are not; like, tax cuts for us create growth, but investments in you will balloon our debt and bankrupt our great country; that we matter; that you don't. For thousands of years, these stories were called divine right. Today, we have trickle-down economics. How obviously, transparently self-serving all of this is. We plutocrats need to see that the United States of America made us, not the other way around; that a thriving middle class is the source of prosperity in capitalist economies, not a consequence of it. And we should never forget that even the best of us in the worst of circumstances are barefoot by the side of a dirt road selling fruit."
For your first part, define "unfairly". A billionaire or multimillionaire might be benefitting from many advantages in life that others didn't get but this does not negate their capacity to organize capital and labor in a way that creates a business which otherwise wouldn't exist in the first place to give jobs to all those workers. This is not something just anyone or some collective of workers can pull out of a hat or easily continue to run in most situations. A single factory employee might work very hard but their marginal utility will make little difference to that company's survival. The CEO or founder simply ceasing work definitely could ruin the business as a whole though. So again, define unfair and why you have your definition.
Furthermore, Wealthy people in most developed modern economies didn't simply steal most of their wealth out of some giant pie that someone else created They instead organized capital and labor to create something others wanted to exchange value for. For this same reason again, I'd love to see you define how you measure "fair" and "unfair" share in a business or society.
As for the second part in italics, the idea that a middle class somehow can exist at all before a capitalist economy developed is absurd. Other parts of that quote are emotional dreck and as for said "plutocrats" being job creators, well, in many cases this is exactly what they are, whether you like it or not. This doesn't mean they're above criticism, but cheap, populist class warfare arguments are no good solution to anything economic or social.
You can tell it is unfair just by the outcome. It doesn't matter how clever you are or how hard you work, you are not personally creating 10,000 times as much value as the next bozo. You lucked into a good deal, and the only moral behavior is to spread the good luck around.
You cannot manage a big income without creating or supporting some number of jobs, so there is no virtue on it.
Even when they "lucked" into it, you have to think about the actual physical creation of that wealth and the fact that it cannot be created by one man.
Taking unclaimed gold sitting on the ground untouched by anyone is luck.
Taking 10 billion dollars sitting on the ground is not just luck. Other people had to create that wealth with their work and for you to own it means you are taking it from them.
10 billion dollars compared to the amount of work a human can output in his lifetime is obscene in scale. Anyone who owns that much money might as well have "taken" it from the ground as no amount of work from one man can justify that much wealth.
Yes. Besides blinding amounts of luck, billions also need a heavy admixture of coercion. Microsoft didn't just luck into its monopoly, it also maintained it through decades of strong-arm anti-competitive abuses. Amazon has driven tens of thousands of small, local businesses into the ground, and continues abusing its employees. It would be very easy for Amazon to treat its employees well, but it chooses not to. It would be somewhat less easy to root out counterfeit merchandise, but it instead participates in deceiving its customers. Is that luck? Hard work?
>As for the second part in italics, the idea that a middle class somehow can exist at all before a capitalist economy developed is absurd. Other parts of that quote are emotional dreck and as for said "plutocrats" being job creators, well, in many cases this is exactly what they are, whether you like it or not. This doesn't mean they're above criticism, but cheap, populist class warfare arguments are no good solution to anything economic or social.
It is emotional dreck, I'll give you that but that's not the important part of the quote and that's not why I posted it.
The important part of the quote is that the person saying it, is a plutocrat himself.
I agree w you mostly but you extended this form of systemic analysis to "making a date happy" which I think is a fundamental misunderstanding of relationships. To everyone reading this: please don't go around treating other people as systems to be optimized!
If you wish to think about relationships as systems, you really need to understand that you are a partial component in social systems and therefore a flawed observer. It is impossible to objectively "diagnose" social systems without communication, empathy, and collaboration. It is far more than "saying the right words"
Yup, it was oversimplified. Relationships are incredibly complicated, but they are still systems.
I do believe you should optimize your relationships. Phone your parents. Praise your employees and your boss. Buy things for your spouse when it's not their birthday. Hug your kids and watch their favourite Saturday morning shows. Don't say things that trigger your uncle.
A big part of being good in relationships is the 'process' of consistently being a nice, honest, genuine person.
Systems are not a bad thing. They exist whether or not we want them to. You don't have to engineer everything. But if we don't pay attention... we'll fail to understand why some things happen. There are habits like how someone offers you a snack and gets annoyed when you accept. Sometimes you help someone and they resent you for it. Sometimes someone doesn't say anything and resents you for not helping.
The last point still stands - someone who tries to be manipulative, controlling, or forcing a structure suggests that they don't get it. You can't just treat someone like it's Stardew Valley.
>I do believe you should optimize your relationships
I agree with your sentiment, but I would reword this to "optimise your responses". All you can ever control, especially in social situations and interpersonal relationships, is what you say and what you do. As such, there are important things you can do to your 'social engine' to optimise your responses for good - essentially adding modesty, kindness and thoughtfulness.
1) Optimise your classifier when meeting new people to be as cognitively cheap as possible while still protecting you from harm. With the lack of knowledge, assume the best of people. Often a positive opening gambit can make the whole relationship easier.
2) Optimise your conversation. Talking to people doesn't need to be stressful or anxiety inducing. If you don't know the person, listen to the words they say and ask questions about them. You don't have to always be thinking about how to make a joke out of the conversation. You don't always have to come up with a relevant anecdote. Let the things you say be positive and affirmative - sarcasm is fine but overuse is expensive the listener, both emotionally and in cognitive load to process it.
3) Optimise your thoughts so that your load becomes more manageable. When you cull out the noise, streamline your inbox/todo/notifications (digital or otherwise) and reduce mental overhead to prioritise tasks, you will find that it's easier to be thoughtful, to think 'outside the box' and to manage a wider range of things.
You will find it easier to remember birthdays, be present with your loved ones, buy better gifts, sleep more etc. Do without doing and you will find there is nothing that isn't done.
> I agree w you mostly but you extended this form of systemic analysis to "making a date happy" which I think is a fundamental misunderstanding of relationships. To everyone reading this: please don't go around treating other people as systems to be optimized!
I think people who say this kind of thing have a fundamental misunderstanding of how a certain type of people think.
Of course people are systems to be optimized! What else could they possibly be? It's like people who object to love being a chemical reaction. What else could it be possibly be? And why in the world would love being a chemical reaction and people being systems to be optimized rule out treating people with respect, empathy, and kindness? What kind of straw Vulcans do you think we are?
> It's like people who object to love being a chemical reaction. What else could it be possibly be?
Did you learn that by study, or did someone tell you that? Where else have you looked for love?
You might find “love” contained in the electrical impulses in a computer program. It might be in the words of a screenplay. A complicated mechanical automaton might experience love. You could notice it in a melody, or in the pattern of behavioral incentives among a society of human beings.
None of these things are chemical reactions in any systematic sense. You may notice chemical reactions everywhere you find these things, but that’s just because chemical reactions are contingently intrinsic to your own cognition. You’re only noticing yourself noticing the subject, and what you learn from that is almost entirely arbitrary.
Heartbreak is a form of neurotransmitter withdrawal, and it can be treated in similar ways to substance abuse issues. That’s because “love” is a “chemical reaction”. But that’s just a random fact about earthlings. It won’t help you write a pop song, let alone make a friend.
This is the reason “reductionism” has become a bit of a dirty word in philosophy. You feel like you are understanding the world better and better the whole time you are decomposing it into its constituent parts. Then you get to the bottom and you realize that the universe is made of many kinds of constituent parts, and you have decomposed a useful idea all the way down into nonsense.
somefamousperson (shrug) once said (I roughly paraphrase) that you could be handed a picture, and you could analyze the makeup of every square millimeter of it without ever seeing the picture.
What does it gain? I can never know anyone. After long effort, I've made some progress knowing myself. Yet we manage to have some kinds of relationships. We can enjoy (or suffer) them, but comprehension is a fantasy.
I can have empathetic and respectful goals and use systems and optimisation to achieve them.
Take sex for example. As a heterosexual man, I’ve no idea what’s intrinsically pleasurable to women. I think that giving sexual pleasure is a respectul, empathetic intention. Given this goal, I can use systematic approach to satisfy it (find pleasure trigger points and apply them).
Where is your systemic approach and optimization in this example? You haven't given any information on the approach other than find pleasure points. That's not using systems and optimization, so no it's not dehumanizing.
If on the other hand you carefully studied adult films, read the kama sutra, and practiced this at every opportunity you might have a systemic approach. And if your partner learned about this I don't think anyone could be called silly for feeling dehumanized by it. This is basically the approach that most people take to some extent, but that doesn't mean you want to advertise how you looked at a huge population and deduced effective methods of sexual pleasure. Of course some men or women may have no problem with this approach, but that is highly dependent on the individual and many people would feel dehumanized by it or uncomfortable with it. Sex is actually a good example because there are often strong personal feelings, even love associated with it.
Again it might be counter-intuitive, like how else are people supposed to figure these things out? But at the same time that fact can be very dehumanizing and seem disrespectful to disclose your "process" if it involved a lot of systematic optimization. Not very lovey dovey.
Not porn and Kamasutra in particular, but yeah I’ve read books, blogs, Reddit, ... definitely experimented a bit (not at every opportunity though).
Just because people cringe at some information doesn’t make the whole thing dehumanizing. You’re right though that most people don’t want to know how the sausage / burger is made...
I agree if someone goes about this approach and is respectful of everyone along the way it's not necessarily dehumanizing and there's nothing wrong with it, but regardless it may feel dehumanizing to the person to find out about since that's more about recognizing and optimizing patterns, and less about their individual uniqueness.
For most people it's not really that extreme and to some extent this has to be allowed for. That's the tricky part especially with sex, you want someone who is good at it, but that typically comes with experience. That may make some people uncomfortable. Find a good balance and just call it what it is, young people living life. But it's also a good warning to not "over optimize" and spend all your time going down that route because then some people would rightfully question that kind of behavior. I know I don't want a partner with thousands of sexcapades.
> That's the tricky part especially with sex, you want someone who is good at it, but that typically comes with experience.
My experience is different. Not very extensive, so I don't want to generalize it... but what I've learned is, that experimentation (i.e. systemic approach to exploration) trumps experience. It's true what they say, "every woman is different" (well, maybe not every, but there's a surprising (to me) amount of variance) so what works for one doesn't (necessarily) work for another. I don't think that experience (as in each additional partner) has really given me anything except maybe confidence.
Have you ever told a woman, after coitus, how you ran the same Game on them that you've run dozens of times before? Did they get pissed and never talk to you again? I'm going to guess "no", at least neither I nor anyone I know has had that happen. They'll usually just laugh it off / not take it seriously. The empathy and connection has been built successfully, and no amount of ex post facto chastisement about "hey you were just dehumanized and disrespected" tends to register.
I’m beginning to believe people is pissed because the example was dating, and now they think the whole argument was how some people can be made to do/feel things, instead of a miserable simple example on how even people is a system that can be analyzed (to a certain extend)
HN gets weird about dating-related subjects IMO. Any other topic seems to embrace analysis, exchanging and comparing anecdotes/techniques, and "life hacks", but sex and relationships? Whoa boy, better don your flame suit first...
That's a terrible example and yes many people would be offended by that and not "laught it off", that is highly dependent on the individual and situation. Just because you made a connection doesn't mean you can't destroy it just as easily, by say pointing out the shallow nature of your connection.
>>>That's a terrible example and yes many people would be offended by that and not "laught it off"
Here's the thing: there is a HUGE gulf between how people SAY they will react in that (or a similar) situation, and how they ACTUALLY react. That's why I explicitly asked for actual experiences, not hypotheticals. It's the same thing with the legion of women on Tinder who put "No hookups" in their profile and still have sex on the first date. Actions speak louder than words. Anyone who takes their profile at face value would draw erroneous conclusions about their dating proclivities. Conclusions which are easily debunked by accumulating a significantly large base of in-the-flesh (pun intended) encounters.
>>>Just because you made a connection doesn't mean you can't destroy it just as easily, by say pointing out the shallow nature of your connection.
How are you making a determination that a connection built (however-quickly) on well-rehearsed techniques is "shallow"? Is a connection shallow if years later the other party is still blowing up your phone pining for you? What are the metrics used to assess shallowness?
Are you seriously asking me about metrics? You're entire post is a bunch of anecdotes. I'm not basing my response off of any real data and neither are you.
> The empathy and connection has been built successfully, and no amount of ex post facto chastisement about "hey you were just dehumanized and disrespected" tends to register.
This doesn't even make sense. You call it chastisement but then put dehumanized and disprespected in quotes. Why? Are you disagreeing that it's dehumanizing? Or that it actually is dehumanizing and disrespectful, but that doesn't matter at this point?
I can tell you personally that
1. If it's the case that you disagree in it being dehumanizing. Fine, that is your opinion. I disagree and think it is dehumanizing and if someone said that to me after sex I would be pissed and lose interest. How about myself for a reference no data needed. This isn't just about Women on tinder.
2. If it's the case that you agree it's dehumanizing, but because empathy and connection have been built it doesn't matter. Again it's your opinion that it doesn't matter after a connection has been built and I disagree strongly. If you think I'm the only human who disagrees ok... I don't know what the numbers are, and I even stated in another post that there's nothing wrong an approach like this, but some people will clearly see it differently
Those guidelines are the best on the internet and has stopped me from writing many comments! But sometimes still someone ticks me the wrong way and I venture down to the low levels and fight the ogres ogre-way. When that happens I usually feel appropriately ashamed and quit internet a couple of days to be able to return with the energy required to follow the guidelines again!
People who say such things seem to think that abstraction and reduction to components inherently carry a moral valence. They don't. People think that if you think of love as a chemical reaction it must mean that you think it has no value. I think that it only shows their narrowminded arrogance in thinking that chemical reactions can have no value. One man's modus ponens is another man's modus tollens and all that.
We all take on different points of view depending on what's most useful at the time, and what patterns of thought come naturally to us. If you're a specific type of person, it's useful and natural to think of people as a system to be optimized. And if you love the people you're modeling, what you're optimizing for is their happiness and dignity. But some people can't conceive of this being the case. They see someone saying sciency words about mushy feelingy topics and pattern-match to the first supervillain they can think of. "People are just atoms, I guess that means I can blow you all up! Mwahahahaha!" Perhaps the people who wrote that supervillain never studied refraction and realized that it made rainbows more beautiful, not less. But probably they just didn't care. They needed a flimsy excuse to justify the awesome fight scenes they wanted to write. And that's all the reader was looking for too, It doesn't take much to let someone suspend their disbelief.
What OP means is (I hope), yes, people are complex entities, each with their own nuances, but our behavior is not something astral, magic, that cannot be analyzed and figured out just yet. In fact we can be (to a certain extend, at least) profiled and we can act and plan upon such results.
Making a date happy? Sure, at first there can be some luck/lottery if you don’t know the person, but if you know your game you will try to know as much from that person as you can in order to do/give/say things that will make a moment turn out better for you, or for both even.
You may not like some people think like that, thinking they are just thinking of people as systems, but some of us actually just use that information to complement our spontaneity. Also, I don’t see what fuzz is all about, just because there was an example with people relationships.
People will straight reject reality if it doesn't fit their worldview. Go tell your wife love is just chemistry. Your words will haunt you for years :)
If that's what you think you should be able to say it. Otherwise one or both of the next things are true:
-You married the wrong girl
-You need to regain your manhood
On the other hand, you do need to look for a good time and a good way to say it, and that just goes to being empathetic and caring about your partner.
"Saying the right words" is one step in "fake it till you make it", when it comes to the practical application of charisma to relationships. And it works. It's why people develop their own personal repertoire of pick-up lines and flirtatious stories that they employ repeatedly.
Re: systems optimization....I've found it often DOES help guys, mostly engineers, to think about their dating attempts as an equation. It puts dating into a conceptual framework that their brains can better understand. Sure, you have incomplete information about the variables and their coefficients, but the variables you CAN control, you can optimize for such that you maximize your chances when interacting with the broadest spectrum of the female population. Once you've made those optimizations, THEN you apply empathy and communication to tweak the remaining variables on a case-by-case basis with each individual.
This explanation goes over better with struggling guys than "I get more women than you because I look like Will Smith and you don't."
> Re: systems optimization....I've found it often DOES help guys, mostly engineers, to think about their dating attempts as an equation.
That’s great! I think there’s just concern that people tend to easily forget that a model is an approximation for reality, and in the case of people, that’s an objectifying mistake.
It's less about "treating other people as systems to be optimized" and more about understanding the "system". Calling people systems may sound cold and calculating, but using that particular word doesn't mean you're uncaring.
I'll interpret the original commenter to mean: Everything is a system with it's own rules. You'll be better off learning the rules instead of fighting the system. Do more of what works and less of what doesn't.
That 100% applies to people, even if you don't like the term "system".
> If you don't control a system, it will control you
I'll go one further, and say the people controlling the system will control you, often to your detriment.
You are also part of many systems, and your actions affect others in those systems.
And finally, the complexity of all those systems is such that your understanding is always an incomplete model. It's fine t try to change the bad systems with an incomplete model, as long as you seek out better ones as well.
Any given system will have many different models that are all relatively accurate, and you will get the best results not by picking the one that seems most accurate in some instance, but by using the one that is the most applicable to the situation. Models are not truth, they are lenses, and having more options means you can more easily find the one that provides the clearest picture.
Any system of axioms complex enough is incomplete, and starting from axioms is unneccesarily complex. Find the model or foundation that is closest, and make it easier.
> I'll go one further, and say the people controlling the system will control you
Some times, yes. But as a generalization, you are granting too much agency to people. Most systems simply have nobody controlling them (even powerful people), people are satisfied to just live within them and not do the labrorious task of gaining control.
What I noticed is that every discipline invents their own lingo to describe the systems in play at the ethos of their discipline and they often manifest as some sort of law, principle or concept.
What I'm really curious about learning is to see if there's some sort of overarching discipline that focuses on these sort of systems as a meta and finds improvement points or market opportunities based on a given principle.
Take Moore's law for instance. It essentially describes a relationship between the most atomic component of {system} and the price of the commodity that is offered by that {system}. (system=hardware)
Now apply that to any other field. How about energy production? Is there a correlation between amount of cells in a solar panel and the price of energy at large available to consumers? This is still in the field of engineering so I'm guessing there will be some sort of relationship, but I wonder what taking it further into business and design for instance would look like.
I don't know how that would look like but to clarify I don't expect any of these laws to illustrate a similar pattern, but I do expect them to define how further along or behind any given "system" is, assuming that they are somehow comparable.
I've thought about this a lot, it's my goto "one day I'll write a book about this".
I frame the problem slightly different (heh):
Different disciplines, branching out, will (or so says my hypothesis) discover the same topologies, but express them differently due to different scopes (perspective, dimensionality, DSLs [...]).
What I'm thinking about is: how can we parametrize the manifestations of these scopes, and, ubiquitously, reverse-engineer them, thus linking all the systems?
Then: which systems are topologically identical? If there are classes, how many? How do they differ? Are they (the systems OR the classes of systems) related?
If so, is there a hierarchy (or are there multiple hierarchies)?
My urge for this came from the intricate geometric representations for arithmetic problems; different scientific disciplines and industries just appear to fall into the same pattern.
If someone knows a book that touches on this topic, please let me know about it, this thought is haunting me for years now :-)
“Multi modal” system representation in graph format. You can represent an electric, hydraulic and mechanical system in one graph. Anything really by relating them to the substituent energy and power. Its representation allows you to easily extract the differential equation. Neat stuff.
FWIW, control system theory resolves similarly. The response of a system (whether electrical, mechanical...) has the same basic concepts related to the energy of constituents defined by the differential equation of that system.
For example, specific systems have fairly well understood corollaries like a compressed fluid behaving as a mechanical spring within a system. Further, mass is akin to capacitor (stores energy), a spring is akin to inductor (stores energy), a damper is akin to a resistor (dissipates energy) in terms of their representation on the differential equation of their response. You might find some control theory an interesting read but I don't know if it speaks to exactly what you're looking for in terms of the broadest applicability.
> What I'm thinking about is: how can we parametrize the manifestations of these scopes, and, ubiquitously, reverse-engineer them, thus linking all the systems?
> Then: which systems are topologically identical? If there are classes, how many? How do they differ? Are they (the systems OR the classes of systems) related?
> If so, is there a hierarchy (or are there multiple hierarchies)?
To what end though? How would you even begin measuring success in such a vast context?
Don't get me wrong, I appreciate the art for arts sake, just curious to hear more.
>To what end though? How would you even begin measuring success in such a vast context?
Well, so far it's just mindgames, so while these are very valid questions, I never thought of an exact goal... But I'd recognize it when I'd see it. The best answer I can come up with right now:
First, I'd want to understand what components are necessary and sufficient to make up "a system".
From there, these components and their relationships would need to be understood from a mathematical perspective (maybe graph theory, but I'm not 100% sure).
Then, one could look for patterns in nature that reflect such components, and rule out which of those patterns are valid components of such generic systems, and which not, based on heuristics that were developed/explored in the previous step.
The following step might be to investigate how the interplay of a given systems components is mapped in human language, and how similar or topologically identical systems differ in spoken representations with respect to the different parametrizations of the aforementioned scopes [...]
(Etc.) - is this a satisfying answer, or does it just lead to more open ends? Anyway, that's the process as far as I've mapped it so far.
Operations Research is related to this. I majored in Information & Systems Engineering which is analogous. The focus is on business, manufacturing, and operational systems and a section of the study is modelling a system and using RNG to simulate chaos / disorder
I work in a fabrication shop and have done some modeling of some of our processes. I think it's more related to Chaos Theory (the underlying patterns and rhythms aren't truly random because they fall within certain ranges, even if they're unpredictable).
What we are selling on the market as a fabrication shop is our ability to absorb variance and to build things that have never been built before (and will never be built again). Our whole business is built around variance. However, variance is not the same as randomness. If I look at the productivity of one worker, it has a certain rhythm and falls within a certain range, and what makes it chaotic is that no matter what scale I look at (worker, team, dept, shop), the variance is consistent.
Just getting into this line of work and trying to make predictions about it has blown apart a lot of the ways I used to look at the world. The systems I study and work with are beautiful because they're chaotic, and just predictable enough to be relatively stable, but unpredictable enough to stay challenging and interesting.
very interesting. I want to note that for models and simulations "unpredictable" = random. There are many different ways to model random variables so as to get that kind of stability you are referencing (or other kinds of stability) to show in the model. I agree it isnt a perfect match for reality (no model is) but a production stream with variance is a common model
This is generally what people mean when they talk about "economies of scale": The more of a thing you make, the faster and cheaper you can make it. Moore's law (indirectly) names the constants on this curve for a integrated electronics, which is a field where the exponential relationship is more pronounced and continues over many more orders of magnitude than in most disciplines.
This is exactly what I was looking for, thank you!
Just looking at learning curves per industry, do you think its possible to make educated guesses as to which would stand to benefit more from improvement?
You could take a look at System Theory https://en.wikipedia.org/wiki/Systems_theory and especially the works of Niklas Luhmann. It doesn't touch the topic precisely in the way you are thinking about it, but it might give you some concepts and terminology for further development of your ideas.
"Order is very expensive, and only serves as better documentation to those who do not understand it. Very often, excessive order is a symptom of someone who does not understand or control it."
Pretty good description of my current management. Could also apply to a codebase that has grown organically but would be just prohibitively expensive to rewrite.
I recently read "An Introduction to General Systems Thinking" by Gerald M. Weinberg [0], which may or may not be in the same vain. These concepts are hard to wrap my mind around but they are appealing. I'll try your recommendation too, thanks!
I highly recommend this as well. Coming at this with a background in mechanical engineering, ie, familiar with formal definitions of control systems, feedback loops, delays, etc, this book did a fantastic job showing how all those same concepts apply to nontraditional systems without requiring any deep technical knowledge of control systems.
It's a bit like saying everything can be modeled. What do economists, biologists, and traffic engineers increasingly use to do their work? Models. An awful lot of things are actually nail-like for this particular hammer.
Applying it to relationships and society feels like a slippery slope. People are still people. But there's definitely cases where the analogy is useful, and maybe even spot-on.
I am almost through the book "Attached" by Amire Levine, on 'advise' from HN last week. It talks about the spectrum "fear/insecure - safe - avoiding" in relationships. It is very systematic in its approach and it opened my eyes to this way of looking. It is about the interactions between people on that spectrum inside a relationship.
I look at my past 2 relationships now quite differently. I am mostly safe attached, and tend a bit to avoiding as well. My first relationship was with a fear/insecure someone, which ended with a lot of drama. My second relationship, I wanted to avoid drama, and ended up with someone who was avoiding. That pushed me more in the direction of fear/insecure, but since I am more on the side of avoiding than fear/insecure, there wasn't enough glue to make it last. Now I am with someone who is mostly safe, but has some fear/insecure tendencies. We do manage quite well I think :)
I tend to look at it like this; people are individual and always unique. When you bring together 2 unique persons, you end up with a unique relationship. But there are still systems that you can discover there.
Agreed - good examples. I've never been into the arts much, but I loved a class I took on Shakespeare once, because I found there was a lot of value in those stories for forming these models of relationships. You could identify similar patterns and identify with certain characters and it was very useful for helping articulate otherwise abstract thoughts and feelings. Not only for communication, but for my own thinking as well.
> What do economists, biologists, and traffic engineers increasingly use to do their work? Models.
One of my favorite comments from not too long ago was from an Ask HN on biology: The sooner you get used to believing that "I can't prove anything, but we have a pile of mostly not contradictory evidence that suggests that most of the time this idea is a pretty good heuristic and our error bars are reasonable", the better you'll do and the saner you'll remain ... And if you like, I can provide a basically endless stream of papers of the form "we thought X did Y and we knew what X was; it turns out that X actually does Q, it also turns out we don't know why X does anything at all, but when we do X we sometimes get Y so we've been confused for the past 50 years"
The whole thread is a gold mine of how defined "systems" fail to model biology at a useful level. At some point, a system gets so complex that it's indistinguishable from chaos. Then your toolbox just has instinct, wisdom, whatever you want to call it. But you can't ascribe it to explicit rules, you have to start firing from the hip without exactly knowing why.
That's reductio ad absurdum if I've ever heard it. People often follow behavioral patterns, or respond somewhat predictably to various events. That is all.
that sentiment is exactly how many people have gotten convicted for murder. Because it was believed there was a specific way one should react to ones SO getting murdered, and it was wrong.
In all seriousness, though — what alternative do you propose? When nothing seems to violate the laws of physics, we can make sense of things using our understanding of those laws.
Alternative could be, sometimes things don't form a system, because 'system' could imply more order and predictability than there really is.
Sometimes stuff just happen, and if you try to look for the system behind, you would see patterns that are not really there.
I would say this is what leads to magical thinking, right?
And I even like magical thinking, all those little nudges where I take a wrong turn, but then meet an interesting person and thing to myself "turns out I was supposed to be here", despite the my second thoughts being buzzkill about "that is not how world works!"
It's not always who profits - often it's who will it cost to fix it and generally what will the effects of fixing it be. Inertia is powerful, so perceived cost will result in people who are actively harmed by a broken system deciding they don't want it fixed.
If it profits them, it isn't entirely broken now, is it? ;)
It's a matter of perception. We profit from the cattle industry. Most of the world doesn't - the climate, the cows themselves, ecology. But we wouldn't 'fix' it, nor would the cows.
The cattle industry could be done so much better. But as it is, it works. Nobody will change it as long as it accomplishes everyone's goals.
I can figure out which lane of traffic on a given route is faster (which is something that Google Maps doesn't even attempt to do as far as I can tell). I agree that Maps/Waze can figure a better real-time route than I can, especially in unusual situations.
Google Maps has tried to route me through closed off bridges in the relatively recent past. I don't have a huge amount of confidence in the validity of its data.
If you know an area well, you almost always can find at least slight improvements to the Google Maps route. When I know there's a closure or accident, I often look at Google Maps to figure out which way it's recommending and intentionally avoid that route.
Give you an example: A highway in my neighborhood is congested often but if you can put 3 people in your car, you are eligible to use the HOV lane and usually you can watch the cars next to you moving slowly while you can go in 50mph. Google won't know you are eligible for HOV lane and assume you are not.
This is key! I think one thing that is missed is that the systems that exist at a given point in time tend to be successful (at least in a Darwinian sense of the word) and stable.
>The same way a river meanders towards the sea
This is something to keep in mind when trying to change it. What if the aspect you are trying to change is key to its continued existence as a successful system? It probably will resist this as it probably gravitates towards its own stability.
Of course, some people understand this and yet would like to see it be destroyed. To them the only question I would ask is: Will the system you build in its place be as stable/successful? Then again, many of them in their overconfidence will think so. But let's just say that I would bet a system that developed more or less organically and succeeded will be possibly more adaptable and resistant than one that is centrally imposed.
The river metaphor is appropriate here. Many people adjust systems to fit their needs, not necessarily the needs of others within it.
Often you can just add a 'plugin' or 'extension' to it without modifying the system, to extract more out of it but not change it. Ironically, when too many attempt to simply patch it, that's what causes real changes.
Have you seen the Black Mirror episode with the Uber-esque tech company? The CEO is trying to placate a man in crisis over the phone. The CEO's support team starts feeding him via Slack de-escalation bullet points from their psychological experts. The man, bewildered and frustrated at the mechanical responses, stammers at him, "Why don't you talk like a normal fucking human being?!" The CEO then drops the "systematic" approach and talks to him like a person, from instinct, the heart, or whatever. Now you'll say that's a system too, but at some point the system is so riddled with exceptions that it becomes indistinguishable from chaos or intuition, and no longer is a useful system that can be described in any explicit way.
Seconded. It's now titled "The Systems Bible". As humor, the book is a bit dry, but as (perhaps cynical) insight, it's gold. Read this and the entire collection of Dilbert strips, and you'll know 90% of how the world works.
(Amazingly, it wasn't written by a computer guy or other engineer. IIRC, the author is/was a medical doctor or something like that.)
My criticism can be summarized as "map is not the teritory".
The reality is messy. Sure, we can think in terms of feedback loops and interactive modules and it can be helpful sometimes. We just have to be aware we are imposing our puny models onto the infinitely complex beast.
The model will break down at some point. Recognizing the correct model and extrapolating from it is not useful unless we know the limit at which it breaks down.
It is also hard to be objective about our mental models, we tend to apply all kinds of favoritisms and observation biases when evaluating them. In machine learning (google maps) those biases are still present, but at least they are not our personal biases so they are easier to spot and correct for.
I'm arguing for "most things can in most cases be considered through lens of simpler system" instead. "Everything is a system" to me implies that every phenomenon maps to exactly one comprehensible system, which is far too strong statement to make.
At any moment, the employed model used to understand a given situation is local. The model is adaptive in the sense that you only need to concern yourself with what is immediate, and concerns about how the effects might propagate are limited to the interface between the immediate moment and the external ones.
Also, many models can be used simultaneously and overlap in the analysis of a particular situation. It isn't necessary to Have It All Figured Out and keep it all in memory simultaneously, just to have a set of methods to draw quick conclusions. Ensemble methods tend to work best IME.
> You can say the right words to make a date happy.
If the partner doesn't like you, you can say all the right, do all the right things, etc and still be passed-over.
Then another partner comes in and does all the wrong things. Still he gets not passed-over.
There's chemistry involved in relationships as well. From smell to much more subtle things. It's a function with infinite variables. We can create models that help us understand society, economy, etc. But these are social sciences, the outcome is affected by the observer ;-)
The problem is that this sometimes isn't good enough. A cell is certainly a system, but cells are far too complex to model with current techniques. The usual next step, breaking the cell down into a group of smaller systems, doesn't work either. No such decomposition exists. In cells, everything interacts promiscuously with everything else.
And it should go without saying that cells are important. If we could debug cells like we debug software we'd all be immortal right now.
I'd rephrase it as 'most people are not systems thinkers'.
A more cynical view is that they are systems thinkers on a tiny scale of only solving for personal gain. Because they are only solving for personal gain, they don't stop and think 'who put these thoughts of personal gain into my head, why do I want to own a house and think Mercedes is better than Toyota?'. Because most people don't ask these questions, advertising works extremely well and society is constantly in a state of broken-ness - a system can't function well by the virtue of self interested jerks acting in their self interest - sorry Adam Smith.
The only way to make the system less broken that smart people have figured out is either making humans act like robots so as to limit their natural desires (personal gain) or literally create technology to do the jobs we want done.
The way forward for humanity, is to eliminate humanity as we know it. Most people don't know it because it doesn't compute when all you're concerned with is personal gain.
The river meandering towards the sea may flood my home if we don't maintain dams and levies. So, disagree; I'll get very angry at the system and those heading it if they do this, or let it happen.
No one claimed that every system can be changed; traffic will be traffic. The same applies for the rules of politics [0].
Not sure how you get the idea that "capitalism" is a bad thing, the majority of educated people (and not just Americans) would strongly disagree; there is a reason why all credible attempts at non-market-driven growth failed, see China and Russia.
You may look at the struggle in the world and link it to the perceived epxloitation of the poor, but if you'd ask the people who e.g. work in the textile-industry in "3rd world countries" wether they'd prefer not to have any job (because that's the sole alternative within our system) or keep on working under current conditions, they would prefer to keep feeding their family.
The riches we enjoy through what you call capitalism aren't merely the number in your bank account: wealth includes the services we provide for another: being able to get a haircut at any time, etc. -- see what "being rich" without a functioning economy did to Venezuela, which was flowing in oil-money, distributed it among its people, and, in consequence, failed to keep up with the rest of the world.
The system isn't what it is because of money and greed, but because it's the best we came up with, the implications of political workings notwithstanding.
Venezuela did not distribute it's oil wealth among it's people, or if it did so, it did so highly unequally, which, arguably is a natural consequence of state socialism, as predicted by Tucker and Bastiat.
Capitalism is the way a system set of connections between subsystems and politics is a way to reorganize a system from within itself.
> can the system still be simplified enough to grasp it well enough to change it?
That would be a model of a system not the system itself, and as George box said "All models are wrong, but some are useful"
> where would an individual who has grasped it find the power to change anything?
If an individual is able to change connections between subsystems, they can change the behavior of the higher level system. But the impact of the change is dependent on the systems being changed.
> That would be a model of a system not the system itself
also worth keeping in mind that a more cybernetic model is totally fine with complex black boxes within the model. This way sometimes you can find truth going from big to small.
It's clear it doesn't work perfectly - depression rates in capitalist countries are very high, salaries are still a problem, even when GDP improves. The Communist revolution took off all over the world, but later everyone learned that communism isn't better.
All change takes time and energy.
I think we're still missing a great economic thinker who can try to solve it. We've put a lot of our energy into things like electronics, computer, medicine in the past century, because that's where all the big problems were.
It's likely someone will revise capitalism soon enough, especially given all the computing power we have to make models, and even the data that can be pulled from things like MMOs.
I think it's going to be impossible to improve on price being determined atomically by buyers and sellers agreeing on an individual basis what something is worth. That's the heart of what makes capitalism so effective. What this individual is willing to pay for that individual item is almost impossible to predict down to more than a pretty broad range of pricing. So many variables factor into what one person will pay for an item. And that determination changes even for that person depending on timing. I might be much more likely to make an impulse buy on payday than I am on the day before payday. The decisions around how much something is worth is too unpredictable to be centralized or predicted.
"Let the market decide" is a misdirection from what makes free markets great: individuals deciding, for themselves, whether to make a purchase after a seller has suggested (or demanded) a price.
No central planning algorithm can take the place of that, which is why attempts at centralizing an economy are always undermined by black markets.
> All change takes time and energy.
I think we're still missing a great economic thinker who can try to solve it.
We’ve known that the economy is an intractable problem for a lot longer than I’ve been alive. Capitalism approximates an efficient solution. There’s a large economics and computer science literature on this if you’re interested, or for a fictional treatment you could read Red Plenty, Francis Spufford, which is an historical novel covering the theory in the historical background it was developed in[1].
> The socialist calculation debate, sometimes known as the economic calculation debate, was a discourse on the subject of how a socialist economy would perform economic calculation given the absence of the law of value, money, financial prices for capital goods and private ownership of the means of production. More specifically, the debate was centered on the application of economic planning for the allocation of the means of production as a substitute for capital markets and whether or not such an arrangement would be superior to capitalism in terms of efficiency and productivity.
Spufford’s treatment of genetics is so shockingly mathematically ignorant in that book (whether Raissa Berg had anything to do with his depiction of her crusade or not) that that book was on thin ice with me even before Cosma Shalizi’s review
You know how there are so many shitty technologies - frameworks, programming languages, that are obviously bad, and your chosen tech stack is obviously so much better?
With all likelihood, the same thing exists in other areas of work, too. For example medicine.
So if you walk into the wrong clinic, they may give you the "PHP treatment", or treat your infection with "NodeJS, running on a Windows 7 server". (I mean not actual programming languages, but the medical treatment with a similar level of issues and opinions).
I find that a scary thought.
(Edit: not to bash PHP or JS. I personally like JavaScript and I've heard PHP has gotten a lot better. Just examples for controversial technologies).
To look for brain tumors, most US doctors will use a CT scan, which can cause brain cancer. Meanwhile, MRIs don't cause cancer and can be used to look for everything CT scans can be used for.
This is repeated often on HN, but I feel like it generalizes too much and is not always accurate. My last company specifically had "We're a team, not a family" as a core value. The company and team always had an air of arrogance around everyone and while nothing stood out as a giant red flag, it was never really that comfortable of a place to be in. My current company regularly uses the term family to describe themselves, but the overall vibe feels a lot nicer than my last place and it does not have an overwork culture; it actually has great work life balance.
[Edit] It's not a time thing. I was at my last place for 1.5 years. I've been at my current place for 1.5 years now and am happy to stay for long term.
Corollary: Any company that holds "retreats" one or more times a year doesn't give two shits about you. They don't respect your personal time, your family, or your life outside of work.
Every time I get a job candidate excitedly asking whether our multi-state company holds annual retreats or get-togethers, they're under 30 with no family.
It's not a vacation, folks: It's an obligation. One that doesn't respect your life or plans outside of work. If you want a trip, choose a job that gives you plenty of paid vacation time and go wherever you please.
It is also true that a CS bachelor's is not and never will be equivalent to actual experience working as a software engineer.
For example, in school nobody ever taught you what it's like working on a team of 30 on a two-decade old code base with a million lines. You have different kinds of problems due to the scale - problems that school never taught you how to handle.
In my entire career (35 years), "foundational knowledge" has been important... maybe twice? Maybe once? Guessing, because I don't actually remember any instances.
(I need to back away from that a bit, because you mentioned SOLID. That's important. The rule of 3 (now 5) is important. I didn't regard them as foundational, though, because I started in 1985, and SOLID wasn't really a thing then, and the rule of 3 wasn't part of the foundations then. Back then, it was big O and structured design. I would agree that now, SOLID is part of the foundations. I didn't learn it that way, though. I learned it 10 or 15 years into my career. And no, that didn't lead me to making messes earlier, because we weren't in an environment where it mattered.)
But even not knowing SOLID won't lead you to making big messes in the kind of environment I was talking about. (It may lead you into little messes.) The big messes come from designing an API badly, naming it badly, creating something that fits badly with the rest of the code base, changing things that you think need changed without understanding what impact that has on all the code that uses it, and so on. Mistakes from SOLID, in contrast, tend to be fairly localized to one module.
Disclaimer: I don't actually have a CS degree. You may regard that as justification for ignoring my opinion on this topic. But I've seen some fresh CS degrees over the years, and I stand by my statement that they aren't very prepared for being software engineers.
Proper API design is software engineering, not computer science. And it does come with experience, but it's not necessary to start from zero.
Schools are coming around to the necessity of software engineering principles, and they're including an awful lot of solid software engineering content in their CS programs even at the undergraduate level nowadays.
If we did a little more gatekeeping and a little less bootcamping, we might have the respect and autonomy afforded to doctors, lawyers, and actual, P.E. engineers. Instead, we're just an annoyingly expensive cost center.
What we do isn't easy. We can't pretend that it's easy, that it can be learned in six weeks, or that it's possible to be truly great without earning the foundational knowledge. That pretending hurts all of us.
There are plenty of crap doctors, they just pay more to find out.
And doctors layers and engineers all got titles and accreditation after the fields really pulled their shit together 200 years ago after having buildings fall down, cases fail and people die in surgery for hundreds of years previously.
software is a very new field. it'll be fine. Also no engineer I've met wants to really do front end development for a shopping site. There's a market for people who start out with enthusiasm and a handful of knowledge.
This is a silly, silly attempt to knock down a point that should be self-evident. Success in life isn't a formal proof.
Exercising every day, keeping your weight down, eating a Mediterranean diet, not smoking, having healthy relationships, and sleeping eight hours a night do not guarantee that you'll live to reach retirement age.
It's not that silly. Just making the point that I've met plenty of people without degrees who are absolutely great engineers. And my company somehow comes up with plenty of badly engineered systems, despite being full of people with CS degrees.
Is it possible that there's some sort of cognitive bias going on with your and mine strong, opposing feelings on this subject?
Since we're being pedantic: analogies aren't reality. Saying that a healthy lifestyle could improve your longevity doesn't in any way support the argument that a CS degree makes one more likely to understand big O.
just today I talked with a colleague of mine and told her that you try and do the best work possible and put a lot of effort in it and will be considered shit by others. And, you do a sloppy job with minimum effort and it will be regarded as awesome. Is it luck? Even if you like what you do and are passionate about it, there's just element of chance, though "luck" is never a thing to consider or even mention at meeting and in plans. Common consensus holds it that you you should always "try and do the best work possible and put a lot of effort in it" but that's just not the case since when everything's awesome nothing is awesome and doing something repeatedly is in between shit and awesome. You just gather feedback on what works and try to repeat it and stop doing what has negative feedback (you change according to feedback)
Much of my job has become translating and mediating between stakeholders going around in circles, because each one believes their viewpoint represents the entirety of the issue. They can not understand one another because they assume the other understands everything exactly as they do. The engineer sees the issue as a technical problem, while the BA sees the issue as a process problem. They're both right, but each is only seeing half the issue.
Forget what you think you know about someone, shed your own views, listen very closely to what they're saying, and interpret what they're saying not through your own lens, but through theirs. Their viewpoints are formed through their experiences, not yours.
It's not easy and you'll get better at it the more you know someone, but there are plenty of shortcuts you can take based on your assumptions about them. Just be sure to update your mental model of them as you learn new information, usually gained by listening to what they're saying.