I maintain a Google Doc with a thousand bullet points in it. When I’m feeling inspired or think I’ve just learned something useful, I write it down. I’ve wanted to turn some of these points into blog posts, but that’s a lot of work, so here’s a big list of useful things I’ve learned as an engineer.
Themes: Interning in NYC, working on lots of side projects to build a portfolio, being incompetent with any sort of software development.
Write things down.
Be noisy when you’re blocked on something at work. It may feel like you’re being a bother, but that’s usually better than wasting a day or two doing nothing at all.
Be okay with failure, or a lackluster response to any work you put out there.
Themes: Finishing college, interning in San Francisco.
Ask more questions. If you’re not sure if the question in your head is well thought-out, ask it anyway.
Some days you’ll feel like you’re getting nothing done, and that’s okay. Catch up on some conference talks, read some blog posts, or change a few CSS variables. Move forward every day, even if only a little bit.
The folks you idolize are just people: they may have a couple amazing qualities, but they have plenty of flaws just like you.
Themes: Landing my first full-time job, lots of 1:1s with John and Marcia.
Some of the best engineers don’t have time to maintain an awesome GitHub profile full of projects. They do amazing work and go home at 5.
It’s awkward to ask advice from people you look up to. Do it anyway. Years later you’ll have great notes, and you’ll forget how nervous you were or how silly you sounded.
When your projects are derailing, don’t take it personally. Many things are out of your control, but one thing you can control is how you communicate your problems. Your colleagues are there to help you, and want you to succeed.
Don’t write for the experts: write for the people at your level, or the vast majority of people who can benefit from what you’ve learned. You always have an interesting perspective to offer.
Themes: Transition to working remote full-time, lots of habit discussions with Steph.
Working hard and resting are not at odds with each other. Rest so that you can work hard.
Give your habits the freedom to bend without breaking. You can skip a workout and still claim you run every day.
A backlog implies a queue that you’re going to drain, but you’re probably not going to do that. In fact, draining your backlog of projects would most likely not be the best use of your time. Sort them into categories, or throw them out.
Pair programming is fun, but it’s also really taxing. Consider pairing with someone oncode review as a break. It can be your code, or theirs, or maybe some other teammate’s, but you’ll find the knowledge sharing invaluable.