- I like spending time building systems! I build (software) systems because I enjoy it. I enjoy working at places where that is the vibe.
- I almost always prefer to work remote unless your office is in my neighborhood. I hate commuting: 10 to 20 mins of walking, cycling or train commutes are fantastic. But I don’t see any city where cycling to work is feasible. Quarterly in-person off-sites or similar are OK. Occasional in office sync for white-boarding are fun. I rather work extra couple of hours for free than spend an hour commuting.
- I prefer feeling average in a very talented team over feeling like a big fish in a small pond, imposter syndrome not withstanding. Stupider I feel talking to your senior engineers about systems, better are the chances I’ll lean towards you. And no, inverting binary tree on whiteboard is not a measure of that.
- I want to work on something central to the company. I enjoy “pressure” of ownership, it brings the best out of me.
- I don’t mind extending legacy systems but I don’t like maintaining them.
- I do not care much about doing greenfield or fancy work or building the most interesting part of the product. I will happily build CI pipelines or a boring API, write documents, and do performance improvements if that’s what needs doing.
- These days, I am learning how to use AI. I like what it has to offer but I am also very concerned about both organizational and individual skill-rot. If you have a culture of toxen-maxxing, I am out.
- I want a low-process management style that trusts me to do my job. I act like a grown-up (as far as my work is concerned) and would like to be treated as responsible adult. A company that takes Agile software development very seriously or has no process at all is unlikely to be a good fit for me.
- I like teams that articulate its engineering values clearly e.g. do we value stability over speed? In other words, how do you make hard decisions.