It is notable, however, that we did see 100+ days of political violence from the Alt-Left, billed as "Mostly Peaceful Protests", and a singular event from the Alt-Right and the entire country is up in arms.
If we care about one, we must care about the other with equal vigor.
Political violence is never okay, even if it is your side.
I love the Manager Tools feedback model. It's succinct and the importance is on addressing behavioural change over time rather than one particular incident.
All the salary negotiation tips can be reduced to this: You have to have a better alternative. That means doing getting multiple offers within the same time period before you accept one.
All the other stuff goes out the window if you can do this. You can be a terrible negotiator. You can mention a number up front. It won't matter if you have other alternatives because it's easy for you to say "I'm sorry. I have an offer for $X more."
The BATNA (https://www.investopedia.com/terms/b/best-alternative-to-a-n...) is definitely important, but it is all about being willing to walk away. The multiple offers obviously helps with this, but that doesn't mean that you can still leave a lot of money on the table if you negotiate badly. If you have an offer from FAANG and one from another company the one from the other might still be lower than a low-ball offer from FAANG.
Thanks for sharing. I've also come to realize lately how important the process of reflection is. Without it, there's just doing but it's really the reflection process where you learn. That allows for adjustments rather than continuing on the same path out of habit.
I was very positive on Roam early on. I actually signed up for the Believer plan. I've since switched to Obsidian though. I was finding that Roam became very slow and laggy once documents started to get pretty long. It started to hinder my note taking rather than help. One simple example was how the cursor doesn't focus when jumping to a new document. That always really bugged me and despite bringing it up it was never fixed. They seemed to prioritize other things like Pomodoro timer for some reason.
Maybe these things are fixed now and maybe I'll try it out again one day but Obsidian has been great for me. My files are local so it's fast. I also have them backed up via Dropbox and because of that I can view/edit on my phone.
Previously I used Atom for my note taking so this is very similar but now I have the additional benefits of linked documents and attachments and templates and so on.
Literally came out of our work queue. Couldn't find a satisfactory off-the-shelf component for it, needed one built. Afterwards we liked it as a technical interview question.
If I was doing it today I'd use some sort of balanced tree using the priority to navigate the nodes. Each node would have pointers to the head and tail of a singly linked list. Insert when the priority isn't in the tree is a simple tree insert with head and tail pointing to a new single-element linked list, insert when the priority is in there is adding it to the tail of the right node and moving the tail pointer, removing is finding the right-most node, taking the head and advancing the head pointer by one element. If the list is now empty then delete the node.
But none of it matters. I don't care if someone would build it the way I would. I would never expect that. I don't even want an optimal or semi-optimal answer. I'd have accepted a singly linked list with O(n) insertion time and O(1) pop time. Or a plain list where new items are added to the end and a pop is an O(n) seek through the list.
What I care about is whether the developer come up with any solution, describe the tradeoffs that they are making, why they are making them, and what research they would do if any to find a better solution. If i could have this conversation that we're having right here, right now with them then they'd probably pass my hiring bar.
A binary heap has some advantages over using a balanced tree that could have significant performance impacts (and vice versa). Particularly in a situation where you need to roll your own priority queue.
That's why I said it's likely the person who built it would done a bit of research. When hiring someone I care that they remember enough to realize that and are capable of doing the research, more than that they remember exactly how to implement some data structure.
>If I could have this conversation that we're having right here, right now with them then they'd probably pass my hiring bar.
I think that's a totally reasonable. My problem is that this isn't what people are complaining about when complaining about white board interviews.
99% of the time the interviewer is asking for the answer to a very specific problem that is highly biased towards new grads who would have just seen it on a test.
And even if they say you don't care about the optimal solution they will always hire the person who gets the optimal solution in 15 minutes b/c they memorized it versus the person takes 30 min to bang out something that kind of works.
Here's my approach:
I ask someone else on my team to come up with an interview problem, so I haven't seen it before hand. Then I work with the candidate on hashing out a solution.