Any time someone tells you there are 3 or 4 or 5 types of something, it’s a gross simplification of reality.
I’m about to share the two main “types” of developers I’ve seen in my career, but in reality, this is more of a spectrum, and most people will sit in between the two ends.
Neither type is inherently better than the other, but the two work better in different contexts, and a good team needs to have both types.
The difference here isn’t technical knowledge or intelligence, although lego-developers can usually function even when less technically skilled because they find ways to get it done. But it might not last long and it may be a headache to maintain!
What I call Lego Developers prioritize the end goal over the coding process. Their orientation is primarily towards business outcomes, aligning their coding approach with the broader objectives of the project or organization. These developers might not necessarily possess deep technical expertise, yet their ability to drive results makes them invaluable to teams.
They are pragmatic and solution-focused. With an eye on efficiency and effectiveness, Lego Developers typically employ existing libraries, frameworks, and tools to expedite the development process. They are open to leveraging pre-built solutions, valuing speed and reliability over customization and originality.
Strengths and Limitations
Strengths: Quick delivery, business alignment, pragmatism, and adaptability are among their strong suits. Lego Developers are often more responsive to changes in project requirements or business strategies, swiftly adjusting their approaches as needed.
Limitations: On the flip side, their tendency to use pre-existing solutions might limit innovation and customization. They might also struggle when confronted with highly technical or unique challenges requiring in-depth knowledge and specialized skills.
Journeyman Developers revel in the craft of coding, exhibiting a deep commitment to honing their technical skills and producing meticulously crafted code. Unlike Lego Developers, the journey doesn’t end with project completion for Journeymen; every project is an opportunity to refine and showcase their skills.
They approach coding as an art, often preferring to create solutions from scratch rather than relying on external libraries or frameworks. This group of developers tends to be perfectionists, meticulously analyzing and constructing each line of code, even if it means taking additional time to complete a project.
Strengths and Limitations
Strengths: High-quality code, in-depth technical knowledge, and a profound understanding of the intricacies of programming languages characterize Journeyman Developers. Their code is often more sustainable and robust, providing a strong foundation for future development.
Limitations: However, their perfectionism might lead to longer project timelines, and their reluctance to use external solutions could limit their efficiency. Furthermore, their focus on technical excellence might sometimes overshadow the broader business objectives, potentially leading to misalignment with organizational goals.
Building a Balanced Team
For a dynamic and effective development team, integrating both Lego Developers and Journeymen is crucial. While Lego Developers ensure timely delivery and alignment with business goals, Journeymen contribute technical depth and quality to the projects.
Diverse Recruitment: Actively seek and hire professionals exhibiting characteristics of both developer types.
Skills Development: Encourage continuous learning and cross-training among team members to foster a shared understanding and appreciation of each other’s strengths and approaches.
Collaborative Environment: Establish a workplace culture that values both business acumen and technical excellence, promoting collaboration and knowledge sharing among diverse team members.
Acknowledging and understanding the differences between Lego Developers and Journeymen allows for the creation of a well-rounded, effective team.
By fostering an environment that appreciates and leverages the unique strengths of each developer type, organizations can drive both efficient project delivery and technical excellence in their development endeavors.