top of page
API Full-Stack Engineer

What is a Generalist?

Generalist is a catch-all category that describes an engineer who knows how to code and has some knowledge of algorithms and data structures, but who hasn’t specialized in writing software for any one platform. For example, engineers who recently graduated from an undergraduate CS program would fall into this category.

What skills are required to be a Generalist?

General Engineers should have broad knowledge that can be applied to a wide range of problems and technology areas. They will have some knowledge of basic algorithms and data structures, and proficiency in writing code in at least one programming language.

What is the role of a Generalist?

A generalist isn't necessarily a common role by itself, but generalists can be successful in any number of programming roles. Their strong programming foundation should allow them to pick up the specific knowledge needed in other areas and become productive quickly.

They may have a variety of different technical backgrounds (back-end, systems, architecture). They write clean, modular code. They do very well on software / OOP design problems. And they reason well about the interactions of complex systems.
Architecture-Design Focused Generalist
This is a generalist engineer. They may have a variety of different technical backgrounds (back-end, systems, etc). Regardless of specialty, they have strong abilities in math, statistics and computer science. They are comfortable talking about complexity analysis.
CS-Math Focused Generalist
This is a generalist engineer. They may have a variety of different technical backgrounds (back-end, systems, etc). Regardless of specialty, they have great productivity. They follow an iterative process. They are a coding machine. They are a move fast and break things programmer.
Productivity-Focused Generalist
bottom of page