A friend and fellow staff+ engineer posted a question to a peer group Slack: Anyone have suggestions on how best to mentor software engineers? At the time, I said a few things about radical candor and actionable feedback, but the question stuck with me. I mentor people, but I’ve never thought formally about what it is or how I do it. Like a lot of soft skills, we’re rarely taught how to mentor – most of us are left to figure it out on our own.| David Golden on xdg.me
The software industry’s usual approach to interviewing and hiring is terrible. I’m keeping an evergreen list about problems that exist and what people are doing about it. Also, see my own long-form article, Interviewing Engineers. The list is roughly alphabetized by title, with a few short notes to remind me about key points. Suggestions for additions are welcome! A Technical Hiring Process (Dave Rolsky) More interviewers in the room, fewer interviews overall Homework followed by 2nd roun...| David Golden on xdg.me
You have to do a systems design interview and you have no idea what that means? A systems design or architecture interview is a conversation about how to build a software system given real world assumptions about scale, constraints and tradeoffs. Typically this means drawing boxes for components like load balancers, web servers, databases, caching layers, etc. and describing how they work together to deliver the desired service. There is no right answer!| David Golden on xdg.me
How do you know if something you recommend is a best practice? At work, new college grads are starting and I volunteered to give a talk on git best practices. I have strong views, but I looked for articles I could use to give a more complete picture. It was weirdly addicting. After looking at three or four, I kept going through page after page of Google search results. I looked for two things.| David Golden on xdg.me
When should you use a third-party dependency? When should you build your own replacement? xkcd shows us the way.| xdg.me
Staff engineer David Golden explains how MongoDB built Data Lake Storage to automatically optimize ingested data for lightning-fast analytic queries.| xdg.me
Usage and implementation of strum, a Go library for unmarshaling text.| xdg.me
Using a career ladder gives you and your manager actionable steps towards promotion.| xdg.me
No one cares more about your career than you. Don't wait for feedback. Ask!| xdg.me
I often go back to a single question: if given the equivalent amount in cash, how much equity would I buy?| xdg.me
Writing for myself organizes my thoughts. Writing in public keeps me accountable.| xdg.me
Apache2 is the only popular open source license that makes explicit provision for licensing contributions.| xdg.me
Being able to learn a new codebase quickly is a programmer superpower.| xdg.me
80/20 is a great heuristic for power laws and asymptotic progress, but be careful when value accrues logistically.| xdg.me
Adding go.mod to renamed repositories broke dependency resolution of the MongoDB Go driver ecosystem.| xdg.me
A story of how I tried to reinvent the interview process. Highlights: humane take-homes; developing good coding questions; a guide for interviewers.| xdg.me
A story of how I tried to reinvent the interview process. Highlights: using promotion criteria for hiring; hiring manager goes first; why candidates should code in private.| xdg.me
What does it mean to lead when you don't have coercive power to get your way?| xdg.me
1. In the Google doc, download as .docx; 2. Upload the .docx to word2md.com| xdg.me