Posts
- Feb 15, 2021
Software engineers are an interesting bunch. While quirks are fine, and I have a few myself,
there are certain traits I've encountered that are genuinely counterproductive to my team's
work. In this post, I want to explain what these are and how I try to deal with people who
exhibit them.
(Read more)
- Jan 31, 2021
The go standard library is fairly rich. However, there are certain pieces of functionality
that are either missing or insufficient and that, as a result, require the use of
third-party libraries in nearly all of my projects. In this post, I want to go through the
main "batteries not included" in the standard library, and the alternatives that I typically
use for each one.
(Read more)
- Jan 24, 2021
In my last post, I discussed how companies can make their onboarding processes
better for employees. In this post, I want to turn the tables and talk about the
strategies I use personally to get up-to-speed when I'm starting at a new job.
(Read more)
- Jan 17, 2021
Starting a new software engineering job is hard, and making this process
successful requires a lot of effort from both the employer and the
employee. In this post, I want to focus on the former, and in particular
how companies can make their onboarding processes better.
(Read more)
- Jan 10, 2021
Every now and then, I get asked how I made this blog from a technical standpoint. In this
post, I want to share how my content is generated and hosted, and then describe some
commonly-used, alternative approaches that I decided not to take.
(Read more)
- Jan 1, 2021
Two years ago, I did something that I'd never done in my career before- I left a job
(at Nuro) only a few months after starting it. In this post, I want to explain
what happened and what I learned from the experience.
(Read more)
- Dec 25, 2020
I spent 5 years of my life getting a PhD, but like many others who've gotten this degree,
I decided to leave academia after graduation. At the time, I explored several career choices
but ultimately decided to take a Product Manager job at Google. In this post, I want to discuss
why I think tech is a great destination for people with technical PhDs.
(Read more)
- Dec 24, 2020
Many software engineering interview loops include an "architecture interview", where the
candidate is asked to develop a high-level design for a software system. Over the last few
years, I've given many, many of these interviews. Based on these experiences, I'd like to share
what it takes to succeed in them, and some common behaviors to avoid.
(Read more)
- Dec 6, 2020
In an earlier post, I listed out signs that your employer is about to be acquired. In this
one, I want to talk about how the tech acquisition process works from end-to-end, based on my
personal experiences.
(Read more)
- Nov 29, 2020
Since I switched into engineering 8 years ago, I've witnessed a few productivity and
organization tools that have really been "transformative" in terms of how I do my day-to-day
work. In this post, I want to share my personal, before-and-after experiences with these.
(Read more)
- Nov 8, 2020
Over the course of my tech career thus far, I've been through two acquisitions. In each case,
I was just a normal employee without any special inside knowledge, and found out only a few days
before the deals were publicly announced. In retrospect, however, there were some clear signs
in the weeks leading up to the announcements that something unusual was going on.
(Read more)
- Oct 18, 2020
Equity in one's employer is a large part of the compensation for Software Engineers.
In this post, I want to describe how the different kinds of equity work and why I strongly
prefer one type, restricted stock units (RSUs), over options-based alternatives.
(Read more)
- Sep 26, 2020
As a software engineer working in the San Francisco Bay Area, I get a lot of
unsolicited recruiting emails. I recently decided to dig through my email archives
and do some analysis of the long-term trends. Here are the results.
(Read more)
- Sep 20, 2020
Service meshes look great on paper but can be a huge pain to roll out
and manage. In this post, I want to share some of my war stories
and caution against diving into the service mesh hype too quickly.
(Read more)
- Jul 23, 2020
Last year, I open-sourced golines, a tool that automatically shortens long lines in go code.
This post explains why I developed the tool and how it works.
(Read more)
- Mar 29, 2020
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)
- Oct 6, 2019
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)
- Sep 7, 2019
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)
- Aug 31, 2019
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)
- Jun 9, 2019
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)
- May 27, 2019
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)