Being Senior in a Technical Field

Last Updated: August-2019

Mark Roulo


This seems like something that the Harvard Business Review should have written up many times.
Still ...

Successfully being senior is not the same thing as staying current and keeping up with technology. This is PART of the job, but the junior folks will be doing this, too, and they are less expensive and often more enthusiastic. A sergeant in the US Army isn't expected to be a better private than the new recruits. The sergeant has extra responsibilities on top of that of the privates.

Likewise, a senior technical contributor isn't being senior if he or she is simply better at the current technologies than the recent hires. Being senior involves more than that.

In general, as you become more senior, but still technical, the job becomes less just about just implementing solutions (though I believe that skilled senior technical folks should continue to do this). Instead,

the job becomes more about deciding or helping to decide what should be implemented and providing technical help, leadership and guidance to the more junior members of the team doing the bulk of this implementation.

Asking Questions and Choosing Problems

Junior folks are expected to answer questions that more senior people pose and solve problems that more senior people give them. The most junior folks do this with supervision and as these folks become less junior they are expected to work more independently. Eventually, however, the job involves less of doing what someone more senior has decided must be done and the job becomes deciding what must be done. Or at least participating in those decisions.

A few concrete example might help.

Example: Realtime or Not?

Junior folks will implement a system that someone else architects and designs, but someone (senior) must make the high level decisions. Is a given software system going to be a real-time system or not? Real-time is difficult compared to non-realtime, and you don't want to solve a harder problem than you must, but if you NEED a real-time system and don't build one you are in trouble. Building a real-time system unnecessarily and failing to build one when actually necessary are two different failures, but both can risk the success of a project. The more senior engineer is going to be responsible for having an opinion on this and being able to communicate it clearly.

Example: How Scalable?

Simple problems call for simple solutions, but simple solutions often cannot scale to substantially larger problems. Understanding the problem well enough to choose a simpler solution when possible, but solving the complex problem when necessary is the job of the senior engineers. Junior engineers tend to either solve the simple, toy problem whether this will scale up as necessary OR tend to want to solve the maximally hardest problem because it has not risk of failing to scale. As with the real-time question, both choices can fail: A too-simple solution may fail when the problem grows and a too-complex solution may fail to work at all or may require excessive resources to run (e.g. requiring a computer cluster when a laptop should be sufficient).

Understanding the Business

In theory, the marketing department is responsible for understanding customer requirements and using those to specify new features or products. In practice, senior technical folks need to understand the customer requirements, too, so as to not mis-interpret marketing choices. In addition, the marketing folks may miss technical opportunities that are available. Senior technical folks who understand the customers and the products bring a different, and valuable, perspective.
The senior technical folks must understand the customers and their business!

Changing the Question

Sometimes the correct solution is to change the question entirely!

"How should we do XXX" may best be answered with "We shouldn't do XXX at all. Instead we should do YYY." Additionally, "Should we do XXX or YYY?" may be best answered with, "Neither. We should do ZZZ." Folks don't expect junior engineers to come back with these responses. Folks do expect senior folks to do so.

Encouraging the Junior Folks

The more junior employees are often hesitant and unsure of themselves (others are confident to the point of overconfidence ...). These folks may need to be encouraged to try new things and/or step out of their comfort zone. They need to be told that the occasional failure is okay (as long as folks further up realized that risk was being taken ... sometimes that folk further up is you) provided that they learn something and that the risk had a reasonable chance of working.

Occasionally, the junior folks will want to do something that you know is a bad idea. Depending on the cost, it may be your job to let them do this so that they can see the results. There is a difference between being told something and experiencing something.

Taking the blame (for more junior folks)

Junior folks are often afraid of making mistakes. One of the responsibilities of the senior folks is to provide oversight of the junior folks. Another responsibility is to take the blame if/when the junior folks screw up. Not ALL the time, but sometimes. Occasionally, the junior folks may want to take a risk but are afraid. The senior technical person's job includes encouraging the junior folks (if the risk is reasonable) and then (a) taking the blame if things work out poorly ("I told them to go ahead") or (b) handing out praise if things go well ("This was their idea. They did well ...").

Part of being senior is having political capital. You can use it to make your team better.

Taking a Stand

Management (mostly) should not be second-guessing senior technical people's technical judgement. Line management is yet another set of skills and it is unlikely that the senior management is qualified to know the correct technical choices. The senior technical folks are responsible for this. But ... when management asks for a technical judgement, management doesn't want waffling and/or hedging! It is the senior technical folks job to know the answer, not to duck it.

Example: Yes!

I was once in a very senior technical review (e.g. the company CEO and president were both present...) for a product that was expected to ship soon. The company president asked me one, and only one, question about the software:
Is it going to work?
I provided a one word response: "Yes."