• Stop hiding levels!

    Most tech companies, even those without formal job titles, assign "levels" to engineers. Despite the importance of levels for determining compensation and job expectations, many companies prevent non-management employees from seeing anyone's levels besides their own. In this post, I explain why this is a harmful practice that should be discontinued. (Read more)
  • Leaving a job

    Over the course of my career, I've had many jobs which implies that I've also left many jobs. Leaving a job can be awkward and emotionally draining, but, depending on the circumstances, also liberating and life-improving. In this post, I want to provide some guidance on why, how, and when to leave a job based on my experiences so far. (Read more)
  • Switching from product management to engineering

    I began my career as a product manager (PM) but then switched tracks and became a software engineer (SWE) three and a half years later. In this post, I want to describe how I started as a PM, why I made the decision to switch, and how it worked out. (Read more)
  • Interviewing with Triplebyte

    In my most recent job search, I used a service called Triplebyte to connect with potential employers. I wanted to share my thoughts in case others are considering using their services to find a job. (Read more)
  • The rules for better coding interviews

    In a previous post, I discussed preparing for coding interviews as a candidate. In this post, I want to flip to the other side of the table and talk about conducting better interviews from the interviewer perspective. (Read more)
  • Using Leetcode to master coding interviews

    Having switched jobs a few times over the last few years, I've done a a lot of software engineering interviews. In my most recent job search, for instance, I did around eight phone screens followed by six on-sites. (Read more)