I mean, first after reading this post, but then also something else. Hey! I know you’re expecting something from me, by some date. You aren’t going to get everything you want, so let’s talk about it right now so you can be disappointed right now. The alternative is: you’re still...| Alex Turek
Here’s a repeatable process for turning an interview, or a whole interview loop, into a hiring decision. This is a good process to start with when the whole hiring team can no longer fit in a single large conference room. TL;DR Interviewers refine raw notes into smaller sets of stronger...| Alex Turek
You shouldn’t put more energy into refuting an argument than the other person put into making it. It’s hard to make decisions, because they always come with tradeoffs. You can try documenting those decisions, and you should. Those documents can have all the obvious pros/cons of every considered option, and...| Alex Turek
There’s a lot of work invisible to end-users in software. A big time sink is extending the software’s capabilities, which are non-user-visible technical infrastructure that allow the software to do more stuff. </img> Source: XKCD As somebody who works with or depends on software engineers, asking for time estimates on...| Alex Turek
When I think about overengineering, I think about a few specific coding habits that everybody does to some degree. And recognizing these is largely driven by experience, both messing up yourself and seeing other peoples’ mistakes. So it’s really hard to convince somebody without that experience that’s what’s happening. You...| Alex Turek
I originally wrote this as a doc, and did a talk w/ slides in Fall 2020 at Convoy. This is very focused on how to work in a software engineering team (surprise! that’s most of what I know about!) but I’ve had friends say they’ve shown this to their partners,...| Alex Turek
Senior engineers are privileged, high-demand workers. We should use that leverage. One of your first goals should be (1) find a job that you don’t want to quit immediately (2) keep the job in that state Put more simply: be okay at work You can get a new job anytime...| Alex Turek
A very common misconception among junior engineers is that they should be as productive as senior engineers. This sucks for everybody, but mostly the junior engineers. They think they’re failing to do the same job as senior engineers (solve business problems), while they’re supposed to be doing a different job...| Alex Turek
Originally published as an internal Github Gist with Ahmed Owainati Jan 2017. Later presented with some silly slides with Ian Macleod Sep 2017. The goal of testing code is both Document what the code should do Assert that it does it It’s very common to find test that do (2)...| Alex Turek
People care strongly and oppositely about this. TLDR: Squash is best if most commit messages aren’t useful, because the team doesn’t expect to need that. Merge is best if most commit messages are useful, because the team expects that. Figure out which works for you based on your team. Never...| Alex Turek
You probably need to do fewer things right now. Prioritization, the other definition There’s two loose definitions of prioritization. Prioritization(1): Ordering a todo list. You make a giant list of things you could do, things you should do, things you’d like to do… and then you put a unique number...| Alex Turek