All developers at Atomic have the title “Software Developer & Consultant.” We employ generalists, whose strong technical fundamentals enable rapid acclimation to different languages and frameworks from project to project. They also have a hunger to learn that draws them in many directions, from full-stack development to automation to dev-ops.
Generalists with Different Skill Sets
Our generalists also continuously grow in non-technical areas as well, such as facilitating discovery, risk mitigation, or project management. The broad and diverse exposure of our developers over the spans of their careers combines with individual strengths and interests to make each a unique contributor to their projects. To capture that idea, we’ve recently begun to introduce “Developer Archetypes.” This is a set of self-identified labels Atoms can use to radiate their strengths and interests and shape their careers.
Over their time at Atomic, developers strengthen the core development skills that ultimately deliver software. Those include writing code and tests while making smart trade-offs along the way. But while all developers grow in these same fundamentals and exercise them throughout their careers, they also start to diverge. They develop more specialized skill sets that align with their natural strengths and interests.
Identifying & Leveraging Strengths
Some people have a natural affinity for leadership and consulting, tending to seek out opportunities to do that work. Productivity is the key difference for other developers. Those folks often carrying a disproportionate share of feature delivery, providing keystone development throughput that help carry their projects. Still others gravitate toward more open-ended technical design and architecture challenges. They help solve the hardest problems at the heart of a project, systematically reducing project cost and risk through their engineering prowess.
To help surface and leverage these differences, we’ve been working to identify a set of archetypes that help to capture common differing elements. These archetypes are designed to be simple labels Atoms can use to radiate their strengths/preferences. These are in each Atom’s control to change over time as they grow in experience and learn about themselves and the work. Experience will affect really “getting” an archetype and having the capability to live it. But, all of the archetypes but one are categories that a developer can spend their entire lives in.
The 6 Developer Archetypes
There are six developer archetypes. The first, Explorer, is characterized by being new to professional software consulting. This archetype needs space to learn about the craft and themself in that context before they can identify which archetype is a good fit for them. Over time, these developers will identify with a different archetype and might possibly switch a few times.
Our sense is that, in the long run, people will tend to settle in one. However, it could take some time to do so, e.g., a decade of professional experience. It’s important to note that other kinds of organizations may settle on a different set of archetypes. These archetypes are extracted from/designed for our context of generalist consulting at Atomic.
The following “cards” characterize the different developer archetypes. The dimensions on the right aim to summarize affinity rather than competence. A “1” in any area doesn’t mean “bad at.” Instead, it means “can do this to an acceptable level, but doesn’t align with strengths and/or not the work I’m happiest about.” Take a look!