Senior Engineers are Living in the Future

6 Sep 2022

Imagine for a moment that, by some quirk of the universe, you are sharing your workspace with a time traveller. Specifically, yourself from 1 year in the future. How will you react to your new co-worker?1 [1 If you find this exercise difficult, try instead imagining how your past self of a year ago would react to your present self.] Despite being no more intelligent than you and coming from a similar background, they always seem to be one step ahead. Everything you accomplish, they have already accomplished a year ago.

As intolerable as this situation is, the universe has been relatively kind to you because things could get much worse. What if, instead of a one year jump, this chronoscopic portal delivered up your future self from only a week or two away? This new colleague is not even more experienced than you in any meaningful sense, yet somehow has all of the answers. That bizarre compiler error you have been fighting with all day that seems to be independent of the actual code being compiled? It was caused by an invisible Unicode character. Right there.2 [2 It was a long time ago and I am over it now. Thank you.] Your neighbour’s insufferability peaks whenever they have just found the solution to your current problem.

We can dispense with the thought experiment now, because in reality you probably already work with engineers from the future: the more-senior members of your team.3 [3 Unless you are already on the top rung of the career ladder, this is broadly true at all levels of seniority.] It should be obvious that it is a mistake to compare your own present accomplishments unfavourably with those of more experienced engineers. Your future accomplishments may, in time, match or even exceed theirs. At times we all commit this error nonetheless. What is less obvious are the smaller-scale effects of seniority on time travel.

Your senior colleagues are routinely among the first to see problems—and their solutions—because your teammates ask them for help first. They hear sooner about new projects and other changes coming down the pike, because management tells them earlier. (In a large organisation they may even report higher up in the chain.) They interact more with peers in other teams, because that is part of the role. While junior engineers may be expected to be heads-down developing software most of the time, management allows senior engineers more time for gathering and synthesizing information. At first this is partially offset by increasing efficiency in development tasks, but the most-senior engineers may be expected to do nothing else.

For those with the structural advantage of frontrunning the flow of information to the team, it is literally effortless to accidentally cultivate the impression of being some kind of wizard. In fact, as you progress you will have to invest increasing amounts of effort in reminding your colleagues that the only reason you were able to swoop in and immediately solve their problem or answer their question is that you already saw it somewhere between 1 week and 20 minutes ago. Nobody will believe you,4 [4 This essay is my doomed attempt to capture what I have been failing to convince colleagues of for 15 years.] but you must keep trying to avoid discouraging the next generation of leaders.

Increasing seniority is driven by a positive-feedback loop. Career advancement goes to those who can use their flow of information to benefit the team; from career advancement comes temporal advancement in the form of better access to information flows. Every step up in job title is equivalent to living perhaps 1–2 days further into the future. The key is to bootstrap this feedback loop without neglecting your workaday responsibilities to the team.

The first—and most important—thing is to stop comparing yourself with others. Ensure that you are fulfilling the expectations of your manager and team for your development contributions. Then, seek to optimise the value to your team of the information flows you have access to. Show more-junior team members what is happening behind the curtain.

Finally, stop comparing yourself with others.

Comments [2]