Ask HN: What has your work taught you that other people don't realize?
Inspired by PG's tweet - https://twitter.com/paulg/status/1215673204125073408?s=19
727 comments
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.
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.
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.
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.
(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.
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.
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
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.
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.
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.
The people who get the most done are not the smartest, or the most skilled, but the ones who are most familiar with the organization they work in.
To outsiders it looks like they end up with compromised solutions, but to insiders it looks like they achieved the impossible.
To outsiders it looks like they end up with compromised solutions, but to insiders it looks like they achieved the impossible.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Everyone _wildly_ undervalues their time.
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.
Everyone _wildly_ undervalues their time.
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.
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.
The most challenging and important problems to solve in an engineering organisation are rarely technical in nature.
That almost all software is unreliable and SaaS products only work because there are engineers behind the scenes fixing it all the time.
The Wizard of Oz nails it:
"Pay no attention to that man behind the curtain"
https://youtu.be/YWyCCJ6B2WE
The Wizard of Oz nails it:
"Pay no attention to that man behind the curtain"
https://youtu.be/YWyCCJ6B2WE
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
- 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.
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.
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.
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.