Found in 5 comments on Hacker News
Nuzzerino · 2019-06-05 · Original thread
(sorry for the formatting, I haven't gotten the hang of HN's formatting syntax yet and wrote this freeform without much proofreading)

These things come with experience over time, but the fact that you've made it far enough to ask the right questions in the right place to ask them is 90% of the journey.

I realize this sounds cliche, but I can't stress enough that health comes first. I would make the following a priority if you feel you're not taking as good care of yourself as you should:

Eat reasonably healthy (just avoiding junk food is enough, no need to go overboard)

Get enough sleep (and eliminate whatever habits get in the way of that) - Without enough sleep, your mind will in subtle ways try to put the least amount of effort toward doing things. This is especially dangerous if you are trying to counteract those effects with things like caffeine or stronger stimulants.

Don't do anything stupid to harm your body. Contrary to popular belief, you are not a Zerg mutant with infinite bodily regeneration capabilities. It will catch up to you sooner than you think it will.

It's quite hard to improve one's mental habits when not in the best shape (but if you fucked up early on like I did, it's never too late to make things better).

Assuming you're already doing all that, I'll speak specifically to your post:

1. Don't burn yourself out, especially for a job you don't enjoy.

Not a mental model per se, but more of a disclaimer that I highly advise against pursuing such efforts unless you feel the company is a good fit for you. I've personally found that being successful at a company depends as much on the company as it does you. All the talk about culture fit applies here (though I personally hate the terminology). Sometimes you can adapt to environments that are challenging, but sometimes that can be a case of learning bad and toxic habits. And sometimes, no matter how much better you think you perform, it won't improve your job security. So you have to first understand whether you're really happy in that environment. Don't burn yourself out to try to get ahead of the technical debt curve just to try to earn some job security in an environment that you don't feel at home with in the first place.

2. Document what you're going to do, and why, before you start doing it.

This doesn't mean you can't amend the plan when you see a reason to, but your technical changes should be driven by your written plan, and nothing else. If you don't do this, the complexities of the technical systems you're touching will bleed into the mental model you've set for yourself with what you're trying to build. You'll exert subconscious effort to try to maintain some grounding, but inevitably you'll slip at some point and end up doing too much or too little changes. Then you may exert significantly more effort trying to explain to your peers or boss why you spent extra time building something that has no apparent need, especially these days with the plague that is Scrum (fragile, not agile).

You don't necessarily have to do this for all of your work, but deviating from this procedure should be the exception and not the rule.

3. Avoid band-aid workarounds

Always fix the root cause! Always! Okay, there are times when this is not possible. Sometimes, the root cause is part of a piece of legacy software that can't be modified easily or at all. Sometimes the problem is with a closed-source library, an API, or data feed from external partners. It's okay to do workarounds in those cases, but you should be extra vigilant for the pros and cons of doing it. Make sure the business, not just your Scrum Lord, is getting a real benefit from seeing it done. In any case, when doing a workaround, it's wise to include detailed documentation in the appropriate places as to why that workaround exists, or it will contribute to the pain, suffering, and burnout of future members of your team. While this can happen to companies of any stage or size, the real danger zone here IMO lies with companies in the Series B range, as hacky throwaway code could be done with no consequence before then, and is even somehow encouraged by some as a best practice for early stage companies.

The other major exception to this is emergencies, involving downtime, prevention of downtime, or other significant operational incidents. However, meeting the deadline for your Scrum sprint is not an emergency. If your boss can't be convinced to understand this, your choices are to do a better job of convincing, invite them to convince you otherwise (they may succeed!), or to find another place to work. If something is time-critical for business reasons, it's your product manager's job to inform you of that.

If your job feels threatened even slightly by the concept of missing sprints, then you must make it a priority to resolve that, because even the presence of that feeling is itself a good reason for the job to be at stake, as it's indicative of critical communication problems with your immediate team. And it most likely isn't your fault but rather just a failure of the team as a whole (though you have the most power to do something about it regardless of the root cause). It is a growing pain that can be solved, as long as you're not working with assholes.

There is one time where this no-bandaid rule must be broken when you are short on time, but you should work to avoid having ever happen in the first place. If the business you work for (via CEO, PM, whoever) is mandating a hard deadline for a given feature, then you probably should err on the side of getting it done ASAP. If you are in this situation, don't panic. See if you can work it out with your team to spend time after the release to ensure that technical debt is manageable and things are working reasonably smoothly after some code polish. You can prevent some of these scenarios in the future by having a maintainable codebase, and you get a maintainable codebase by reducing technical debt, and you minimize technical debt by not implementing band-aid solutions to appease Scrum Lords. To put it simply: Business deadlines are real, but Scrum deadlines can amount to a hoax. Refer to this article to see Scrum actually addressing this problem:

Another thread/post regarding technical debt:

4. Maintain Good Relations and Build Influence

Building influence will make it easier to succeed in virtually all tasks, big or small. I can't recommend quick wisdom on this one, but could point you to a few good books (or audiobooks if you prefer). Takes years to learn this. I personally prefer to allow time to digest and sleep on the knowledge gained from books, though others (notably Bill Gates) swear by the method of binge reading.

I decided to spend a good chunk of time writing this as I start a new job which I really hope to be successful at, and I want to reinforce and review what I think will lead toward that goal. But I hope this is found to be useful to others too.

jfc · 2018-10-03 · Original thread
First, an example:

Decades ago, a friend of mine at the time (female) met a guy. She was really beautiful and a genuinely nice person, so lots of guys would ask her out. She told me about a date with this one guy, and he didn't call her again. Even though she hid some of the details, I was able to ascertain the general contours of what happened and was able to figure out his agenda. How? Because of something he said to her.

She told me that he picked her up and they went out for diner, but when he dropped her off at home he became concerned about parking, wondering if a garbage truck might pin him in the next morning. At the time, she thought nothing of that. But she explained to me that she hadn't planned for him to stay overnight.

But what he said was a pretty BIG siren. It was obvious he already intended to stay the night, otherwise why would parking the next morning matter? My guess is that if she had known his agenda she would have viewed him differently and maybe been more wary.

End of story? He never called her again. She was mystified as to why. I thought: well of course he didn't call--got what he wanted!

In response to your question, wouldn't say that there are telling signs, it's more about the content of what people say as the story above illustrates.

A few other loose thoughts about understanding people:

1) It's dangerous to assume that other people think as you do. In fact, people come from a range of contexts and backgrounds which are not obvious when you meet them. They are perfectly happy to smile and nod with you while completely disagreeing.

2) People are heavily self-interested. Unless it's your mother (and sometimes even then), expect people to look out for themselves first. Someone making a show of sacrificing for you? Hmm.

3) People enjoy feeling superior to others, even in very minor things. Shrewd people know this and use that information to their advantage. (Not advising this, just saying what people do).

4) Chinese proverb: the dog that can bite doesn't bark. When people have the capability to get you, they don't have to talk about it--they do it. The big talkers generally don't have the ability (though there is the occasional outlier).

You may want to look into some books on this topic. A useful one is 48 Laws of Power by Robert Greene. Not saying that you should follow his advice, but it is useful in understanding games that people play at work.

Book link (not affiliate) -

mwerty · 2018-06-15 · Original thread
Not sure how pathological your situation is - 'thick skin' seems a cover-up for a lack of managerial accountability and you might not see it give your position inside the organization but this may help:

Best of luck.

Bigotry is a state of mind, not a manifestation. I'm not arguing against the existence and dominance of a WASP authoritarian power structure. My point is that accusing someone of being a "bigot" without providing a valid argument for what constitutes that label is no more compelling than any other ad-hominem. All it does is reduce social justice to an empty virtue signaling buzzword that fails to evoke the struggle and pain behind those victims of discrimination that you fight to protect. You will never get your message across to Trump supporters if you continue to lump them all into a basket of deplorables that is beneath contempt and not even worth a thoughtful interaction. Modern liberals, particularly the "social justice warriors", aren't helping progressive causes with their dogmatic approach to political discourse. They could all benefit from reading Robert Greene's 48 Laws of Power [1].

Malcolm X and the Nation of Islam met with the KKK in 1961 despite mutual hostility that would never be ameliorated [2]. In 2016, your entire career can be ruined simply for holding the "wrong" opinion. Boy how things have changed.



As Dale Carnegie said:

"Even in such technical lines as engineering, about 15% of one's [financial] success is due one's technical knowledge and about 85% is due to skill in human engineering, to personality and the ability to lead people."

In this sense a few books about mastering that 85%:

Fresh book recommendations delivered straight to your inbox every Thursday.