
Ask HN: What has your work taught you that other people don't realize? - yarapavan
Inspired by PG&#x27;s tweet -  <a href="https:&#x2F;&#x2F;twitter.com&#x2F;paulg&#x2F;status&#x2F;1215673204125073408?s=19" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;paulg&#x2F;status&#x2F;1215673204125073408?s=19</a>
======
nkrisc
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.

~~~
prometheus76
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.

~~~
nkrisc
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?"

In my marriage and in life in general.

~~~
ra7
> 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.

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

~~~
badtuple
Not only that, but the incredible depth of pretty much every field. Not every
practitioner dives deep, but the masters of any job leave me speechless.

~~~
collyw
Having worked filling shelves in a supermarket, I disagree that it applies to
every field.

~~~
roenxi
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.

~~~
bykhun
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!

~~~
__initbrian__
Skoda Electric Bus [https://www.skoda.cz/en/references/elektrobus-s-
rychlodobije...](https://www.skoda.cz/en/references/elektrobus-s-
rychlodobijenim/?from=prod)

------
TrackerFF
(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.

~~~
coffeefirst
Ever notice the people who advocate this are almost all in white collar jobs?

~~~
mywittyname
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.

------
beaker52
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

~~~
9diov
Looks like you discovered Taoism on you own

~~~
coopdis
Such is the way... universally apparent, yet difficult to see.

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

~~~
csours
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.

~~~
sethammons
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.

~~~
csours
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!

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

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

~~~
makach
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.

~~~
collyw
My current workplace.

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.

But he knows the system inside out....

~~~
SeriousM
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.

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

~~~
enraged_camel
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.

~~~
jaynetics
A rare but cool approach. Surely tracking extra time in such a way is a bit of
extra effort?

~~~
winrid
Much less than dealing with an employee that has burnt out...

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

~~~
pandler
> 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".

~~~
WJW
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.

~~~
daze42
This seems accurate to me. Maybe the parent is speaking from a place in the
Valley of Despair on the Dunning-Kruger curve.

The good news is, they're just passing through.

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

~~~
kqr
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".

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

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

~~~
kccqzy
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.

~~~
president
> 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.

~~~
kingkongjaffa
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](https://en.wikipedia.org/wiki/Design_thinking)

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

~~~
spinlock_
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.

~~~
lowercased
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.

~~~
spinlock_
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).

~~~
lowercased
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.

[https://fileunemployment.org/unemployment-
benefits/unemploym...](https://fileunemployment.org/unemployment-
benefits/unemployment-benefits-comparison-by-state)

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.

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

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

~~~
hnick
I really like that chocolate story.

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.

------
darkr
The most challenging and important problems to solve in an engineering
organisation are rarely technical in nature.

~~~
Rerarom
I think this has become a cliché here (a true one, however).

The interesting question is what sort of jobs contain a lot of challenges that
_are_ technical in nature.

~~~
collyw
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.

~~~
aliceryhl
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.

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

~~~
quickthrower2
Made me chuckle.thanks.

------
cdoxsey
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](https://youtu.be/YWyCCJ6B2WE)

~~~
jakobegger
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.

~~~
austinjp
> 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.

~~~
jakobegger
> this feels like a business or 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.

~~~
UK-Al05
That old software is full bugs, they've just figured out to work with them.

~~~
jakobegger
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.

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

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

~~~
curo
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.

~~~
tombert
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".

------
d--b
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.

~~~
mathgenius
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.

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

~~~
AnimalMuppet
If you're in that position, _it 's a management failure_. It's their fault,
not yours.

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

~~~
aynyc
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!

~~~
fecak
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.

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

~~~
sbergot
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.

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

~~~
ipnon
You can think of bad jobs as an opportunity to learn how to be effective in
dysfunctional environments.

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

~~~
ipnon
A corollary is that you can hold a facade much longer than you can function.

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

~~~
gfxgirl
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.

------
alpha_squared
\- 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.

~~~
o-__-o
>Also, some have no problem taking advantage of that in others.

what do you mean? can you provide an example?

~~~
alpha_squared
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.

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

~~~
jcadam
> 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.

~~~
loco5niner
Wow, what a foolish move by management.

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

~~~
akeck
My experience from applied math:

> Intuition is powerful, mysterious, and a pleasure to wield

until it lies to you. Then you have to crack the whip and reign in the horses.
So maybe the price of powerful intuition is eternal vigilance...

~~~
m_fayer
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.

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

~~~
MaxBarraclough
> 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.

------
Antoninus
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

~~~
muzani
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.

~~~
cambalache
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.

~~~
csallen
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.

------
tempsy
Little correlation between effort and reward

My biggest payday came from a junior role at a startup I got extremely lucky
at

~~~
tasogare
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.

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

~~~
pmiller2
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.

~~~
pgt
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.

~~~
eyegor
How do you make an invoice look good? Fancy letter head?

~~~
Psyladine
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.

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

~~~
grecy
I'm not sure I understand you.

Are you saying that _all_ money is borrowed from _someone_?

What if a friend has $100,000 in the bank of his own money, and he pays me
$1,000 to fix his car?

He's not in debt, and neither am I. I'm confused

~~~
beefield
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.)

~~~
grecy
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.

~~~
schindlabua
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.

~~~
anticensor
Fractional reserve car pooling is one of the best business models for self-
driving cars besides car soldierity, that I have read about.

------
fuzzfactor
An individual can have an outsized impact while maintaining a low-profile or
non-networking approach. . . .

Commodities do not usually exist for the benefit of ultimate producers &
consumers. . . .

You can't fix stupid but you can come up with some appropriate workarounds if
you put in the effort of long-term repair anyway.

~~~
anotheryou
can you elaborate on the first?

------
wruza
Depends on who ‘other people’ are.

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.

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

~~~
collyw
> 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.

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

~~~
r0rbit
Ever tried 'The Phoenix Project'? It's a good read that implies this idea

~~~
cygned
Thanks, will do.

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

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

~~~
MockObject
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.

~~~
president
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.

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

------
bostik
Being good at your job is rewarded by others shoveling ever more work for you
to do.

~~~
slx26
oh, and don't even try to bring important issues to light, some people will
perceive that as _you_ creating new problems out of nowhere

------
Gnarl
How almost no one understands that simply trading your time as units for money
is ridiculous.

~~~
ipnon
An equally terse generalization: You're trading your labor for money. Your
time is marginally valuable.

~~~
Infinitesimus
It's often about time instead labor for those not self-employed though.

Time has a universal ceiling for us humans and is the ultimate boundary

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

------
slumdev
Some number of years of experience is _not_ and _never will be_ equivalent to
a CS bachelor's.

I'm done explaining why an undocumented O(n^2) solution that violates most of
the SOLID principles is a Bad Thing.

~~~
AnimalMuppet
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.

~~~
slumdev
Imagine approaching that codebase without basic foundational knowledge. What
sort of mess would you get into then?

~~~
AnimalMuppet
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.

~~~
slumdev
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.

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

~~~
joseph2342
Any Book recommendations ?

~~~
demonshreder
Checkout Daniel Kahneman's Thinking, Fast & Slow -
[https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow](https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow)

[https://www.youtube.com/watch?v=uqXVAo7dVRU](https://www.youtube.com/watch?v=uqXVAo7dVRU)

[https://paulminors.com/blog/thinking-fast-slow-book-
summary-...](https://paulminors.com/blog/thinking-fast-slow-book-summary-pdf/)

~~~
champagneben
You might want to skip chapter 4:
[https://replicationindex.com/2017/02/02/reconstruction-
of-a-...](https://replicationindex.com/2017/02/02/reconstruction-of-a-train-
wreck-how-priming-research-went-of-the-rails/)

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

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

------
NohatCoder
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".

------
louisswiss
I teach (technical) founders how to do sales at SalesForFounders.com.

What my work has taught me is that...

a) some founders are motivated by improving their customers' lives

b) some founders are motivated by building the best solution to a problem
their customers have

c) 'a' founders are more likely to be successful and less likely to give up
than 'b' founders

------
ISL
1) There is no DC.

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.

~~~
throwlaplace
> There is no DC.

what does that mean? just because there's ripple doesn't mean it's not DC. DC
doesn't mean flat and AC doesn't mean non-flat (AC means periodic).

~~~
ISL
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.

~~~
throwlaplace
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?

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

------
networkimprov
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 ;-)

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

~~~
shawabawa3
> 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.

~~~
mattnewport
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.

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

------
makach
You can _always_ be replaced.

~~~
jfim
I'd both agree and disagree with that statement.

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.

~~~
2rsf
While I agree that "never" is a strong word, we usually over estimate ours and
others importance and irreplaceablity.

Sometimes replacement of a critical engineer might even do good to a company
by forcing them to break the silo.

------
brudgers
Physical labor correlates to social status not intelligence.

~~~
Maven911
Unsure what that means, can you elaborate

~~~
seanhunter
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.

~~~
andykx
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.

~~~
KozmoNau7
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.

~~~
lvturner
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.

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

~~~
tome
That's interesting. Personally I match roughly half of your first description
and roughly half of your second!

------
brohee
Our infrastructures are incredibly fragile, and the world is only holding
because no one competent is trying to shut it down.

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

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

~~~
animesh
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.

------
Wump
The people you choose to work with is a first-order decision. The ideas,
money, technology, or impact of your work are deriviatives of that:
[https://vishalkapur.com/people-first-decision-
making/](https://vishalkapur.com/people-first-decision-making/)

~~~
AnimalMuppet
Also true of the people you choose to associate with outside of work. But it
shows up in character, not in money or work impact.

------
austinjp
Everyone expects designers to work for free. Don't be a dick. They can do
something you can't. Pay them.

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

~~~
ipnon
There's some amount of money that's worth a burnout or total meltdown, but I
doubt it's less than your salary.

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

------
jraedisch
Public budget is a big part of private companies earnings.

~~~
agsilvio
Interesting. Care to elaborate?

~~~
iamflimflam1
There is a huge amount of public funding/grants/tax breaks available to
small/medium enterprises.

I know a lot of companies that would not function without this help.

~~~
jraedisch
Exactly.

------
AmericanChopper
Nobody’s going to force you to learn anything. If you’re comfortable with your
existing skill set, you can probably get by on it for a very long time.

------
calewis
Not everyone works at your pace, and sometimes matching someone else's cadence
can be a healthy exercise and an opportunity for growth.

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

------
Symmetry
Building robots has really given me an appreciation of just how awesome my
body is.

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

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

------
codegladiator
Tools/tech don't fix people issues. Only process issues.

------
mister_hn
Doing always your best for a company never brings joy or sense of fulfillment,
if management is bad

------
temporama1
That almost all software is FUCKED.

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

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

------
lbriner
"Everybody is a little bit right"

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.

~~~
peteradio
Somehow related: Sometimes the compromise is worse than either extreme.

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

------
joddystreet
\- 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

------
duxup
Not being a bother to your boss is more valuable than the quality of work
provided you don't seriously suck.

------
bobosha
That even the best experts are winging it.

~~~
marcus_holmes
Came here to say this.

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

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

------
monkin
There's nothing free in the world, even free software isn't really free.

Don't waste your time on companies with "we are next unicorn" kind of
bullshit. They die quickly.

Best money comes from non-tech-savvy average Joe's, and not your "maker"
friends or developer tools.

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

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

~~~
jaimex2
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.

------
lbriner
The fact that a Consultant is paid to "tell you what you already know" does
not nullify their value.

Don't under-estimate how many times we need an unbiased external view to
confirm what we already thought but were too unsure to implement.

------
thrownaway954
"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.

~~~
president
In general this works but if enough people do it, society suffers.

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

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

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

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

------
tunesmith
The best lesson of programming is humility!

------
jtolmar
The earth shifts up and down by about a meter twice a day.

[https://en.wikipedia.org/wiki/Earth_tide](https://en.wikipedia.org/wiki/Earth_tide)

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

------
kerrsclyde
Clients only care about getting their job done.

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.

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

~~~
BlueTemplar
As someone with a degree in Physics I'm all hears ? This is actually about
time zones, isn't it ?

------
circlefavshape
All the world is a stage

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

------
hyko
‘Management’ and ‘process’ are mostly based on pseudoscience.

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

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

------
cyborgx7
This thread is bleak.

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

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

------
franze
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](https://link.medium.com/jJfvmCq2e3) Hope
somebody finds it valuable.

~~~
davidwitt415
Thanks for this, lots of good nuggets of wisdom!

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

smth like that

------
RobRivera
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

------
drongoking
\- 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.

------
keyle
Do great work and charge equally for it.

------
einpoklum
> What has your work taught you that other people don't realize?

That my country's supposed worst enemies are actually valued customers for
arms and security services.

... and now I don't even feel like calling it "my country" anymore, I use "the
state" instead.

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

------
1337biz
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.

------
jgresty
Software is bought based on how big the vendor is, by people who will never
use the software.

~~~
devurand
This is painfully on point where I currently am.

------
RocketSyntax
Success is not just the hard work in the things that ultimately succeed.

It's more than meets the eye. It's also about the hard work in failures and
decisions about things you decide not to do.

For example; trying 3 different workarounds to get 1 buggy piece of code to
work.

------
kagenouta
If you expect to reliably be able to fix something -- especially at scale --
you need to understand how it works.

Specifically, you need to understand how it _should_ work, where it's
deviating from that, and what you can do to address it.

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

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

------
lewisjoe
“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.

------
awinter-py
definitely write in when you have a problem

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

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

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

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

"Ignorance is a bliss."

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

------
hyperpallium
[https://twitter.com/paulg/status/1215673204125073408?s=19](https://twitter.com/paulg/status/1215673204125073408?s=19)

------
Kagerjay
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

------
kissgyorgy
Human interactions are way more important for solving technology problems than
technology itself.

Software development is more of an art than science. They don't teach you this
at Computer Science classes.

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

------
gijoeyguerra
Computer programming is more about people than it is about computers.

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

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

------
foobarbecue
You are not capable of sensing temperature; only heat transfer.

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

------
jerome-jh
Work is much easier than studying, much more boring as well.

------
nottorp
Probably nothing. Things that _I_ didn't realize, yes. But there aren't so
many new things to discover under the sun...

------
bitxbit
That 95% of the workforce is there just to collect their checks and they will
do everything in their power to protect that privilege.

------
thewanisdown
Fortune 500 companies are held together by paperclips, bubblegum, and a whole
lot of wishful thinking.

Sometimes metaphorically, sometimes literally.

------
ng-user
Everyone (a lot of people) thinks their current project is the most important
thing at this given moment for their organization.

------
rnernento
Do not fear large companies. They are inefficient and not necessarily well
guided in their decision making processes.

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

~~~
justatdotin
> Hatred for a big company is very similar to racism

you win this comment section (and that's not a good thing)

------
jb775
That humans are simply animals with highly evolved brains, living in a very
complex web of social interaction.

------
itpragmatik
I am grateful to have a job that allows me to have respect and enjoy many
luxuries that life has to offer.

------
jklinger410
Providing a service sucks way more than having a product if you value your
work-life balance.

------
gaspoweredcat
a huge amount of the items you buy "new" have actually been opened multiple
times.

~~~
ta999999171
Why would you work for such a company?

~~~
gaspoweredcat
they paid me well and i enjoyed what i did so why wouldnt i

------
sebringj
There is a ton of work to make abstractions seamless or mundane or taken for
granted.

------
bshanks
The division of the cerebral cortex into cortical areas is somewhat
subjective.

------
rovr138
Date and times are hard.

Every job I have I keep finding more ways that make me go crazier.

------
phorkyas82
Every human action and interaction is inherently social. So is coding.

------
sillypuddy
People booking doctors appointments spike after new years.

~~~
anotheryou
why?

~~~
UserIsUnused
you should always do regular checkups. New years is a good reminder that you
haven't got your check-up this year.

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

~~~
jakobegger
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.

~~~
Nursie
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.

------
bshanks
Rational thinking is computationally intractable.

------
triangleman
Hey man, I had a great retort for your self-loathing comment on that climate
change thread. And then you went and deleted it!

~~~
crimsonalucard
I didn't see it. I deleted my comment because it was getting negative karma
and I'm hovering on the borderline right now.

------
bilekas
That I am better than everyone. ;)

------
beernutz
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."

TLDR: We are what we think.

------
senectus1
Everyone lies, all the time. even when they think they're not lying they often
are.

~~~
goatinaboat
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.

~~~
tehwalrus
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.

~~~
goatinaboat
_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.

~~~
tehwalrus
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.

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

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

~~~
jpg_converter
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"

~~~
solveit
> 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?

~~~
mnsc
> And why in the world would (...) people being systems to be optimized rule
> out treating people with respect, empathy, and kindness.

Because seeing people as systems to be optimized is per definition
dehumanizing which is an action that is not respectful or empathetic?

~~~
CapricornNoble
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.

~~~
anbotero
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)

~~~
CapricornNoble
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...

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

~~~
oalae5niMiel7qu
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.

------
turkthrower123
When a company uses the word "family" to describe themselves, run for the
hills!

~~~
maxk42
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.

~~~
C1sc0cat
Depends on the type of company, Worker Coops tend to have retreats - then
being co-operator is more of a commitment.

