Close Menu
  • Home
  • AI
  • Big Data
  • Cloud Computing
  • iOS Development
  • IoT
  • IT/ Cybersecurity
  • Tech
    • Nanotechnology
    • Green Technology
    • Apple
    • Software Development
    • Software Engineering

Subscribe to Updates

Get the latest technology news from Bigteetechhub about IT, Cybersecurity and Big Data.

    What's Hot

    Introducing SwiftBash | Cocoanetics

    April 28, 2026

    Scaling the digital future: Why AI and skills investments matter for business and society

    April 28, 2026

    The Case for Radical AI Transparency – O’Reilly

    April 28, 2026
    Facebook X (Twitter) Instagram
    Facebook X (Twitter) Instagram
    Big Tee Tech Hub
    • Home
    • AI
    • Big Data
    • Cloud Computing
    • iOS Development
    • IoT
    • IT/ Cybersecurity
    • Tech
      • Nanotechnology
      • Green Technology
      • Apple
      • Software Development
      • Software Engineering
    Big Tee Tech Hub
    Home»Software Development»Expert Generalists
    Software Development

    Expert Generalists

    big tee tech hubBy big tee tech hubJune 22, 20250011 Mins Read
    Share Facebook Twitter Pinterest Copy Link LinkedIn Tumblr Email Telegram WhatsApp
    Follow Us
    Google News Flipboard
    Expert Generalists
    Share
    Facebook Twitter LinkedIn Pinterest Email Copy Link


    Writing a sophisticated computer program often requires a lot of detailed
    knowledge. If we do this in Java, we need to know the syntax of the
    language, the wide range of libraries available to assist us in the work,
    the various tools required to verify and build our programs. If we do this
    in Python instead, we are faced with a different syntax, libraries that are named
    and work differently, a whole other ecosystem to build and run our work.

    Faced with these details, a natural response is to recruit people who
    are knowledgeable about a specific ecosystem. Thus we see job descriptions that say “at
    least three years of Java”, or even deeper requirements for subsets of that
    community, with experience in specific tools. What use is a skilled
    Python programmer to such a team?

    We’ve always felt that such desires are wrong-headed. The characteristics
    that we’ve observed separating effective software developers from the chaff
    aren’t things that depend on the specifics of tooling. We rather appreciate
    such things as: the knowledge of core concepts and patterns of programming, a
    knack for decomposing complex work-items into small, testable pieces, and the
    ability to collaborate with both other programmers and those who will
    benefit from the software.

    Throw such a Python programmer into a Java team, and we’d expect them to
    prosper. Sure they would ask a lot of questions about the new language and
    libraries, we’d hear a lot of “how do you do this here?” But such questions
    are quickly answered, and the impediments of Java-ignorance soon wither
    away.

    Expert Generalists

    An experienced Pythonista who understands
    the core patterns and practices of software development can be a productive
    member of a team building software in Java. Knowing how to handle
    snakes can be surprisingly handy.

    This echoes a long debate about the relative value of specialists and
    generalists. Specialists are seen as people with a deep skill in a specific
    subject, while generalists have broad but shallow skills. A dissatisfaction
    with that dichotomy led to the idea of “T-shaped people”: folks that combine
    deep knowledge in one topic, with a broad but shallow knowledge of many
    other topics. We’ve seen many such people quickly grow other deep legs,
    which doesn’t do much for the “T-shape” name (as we’ll discuss below), but otherwise leads to
    success. Often experience of a different environment leads to trying things
    that seem innovative in a new home. Folks that only work in a single
    technological neighborhood are at the constant risk of locking themselves
    into a knowledge silo, unaware of many tools that could help them in their
    work.

    This ability goes beyond just developer skills. We’ve seen our best
    business analysts gain deep skills in a couple of domains, but use their
    generalist skills to rapidly understand and contribute in new domains.
    Developers and User Experience folks often step outside “their lanes” to
    contribute widely in getting work done. We’ve seen this capability be an
    essential quality in our best colleagues, to the degree that its importance
    is something we’ve taken for granted.

    But increasingly we see the software industry push for
    increasing, narrower specialization.

    So over the last year or so we have started to resist this industry-wide
    push for narrow skills, by calling out this quality, which we call an
    Expert Generalist. Why did we use the word “expert”?
    There are two sides to real expertise. The first is the familiar depth: a detailed command
    of one domain’s inner workings. The second, crucial in our fast-moving field
    is the ability to learn quickly, spot the
    fundamentals that run beneath shifting tools and trends, and apply them wherever we land.
    As an example from software teams, developers who roam across languages, architectures, and problem spaces may seem like
    “jack-of-all-trades, master-of-none,” yet repeated dives below surface differences help them
    develop durable, principle-level mastery. Over time these generalists can dissect unfamiliar
    challenges, spot first-principles patterns, and make confident design decisions with the
    assurance of a specialist – and faster. Being such a generalist is itself a
    sophisticated expertise.

    We’ve long noticed that not just anyone succeeds as an Expert Generalist,
    but once we understand the traits that are key for such Expert Generalists,
    organizations can shape learning programs, hiring filters, and career paths
    that deliberately develop them. Indeed our hiring and career progression at
    Thoughtworks has been cultivating this skill for over two decades, but doing
    so informally. We think the industry needs to change gears, and treat Expert
    Generalist as a first-class skill in its own right: something we name,
    assess, and train for. (But beware, we find many Expert Generalists,
    including at least one author of this article, cringe at the word “expert”.)

    The Characteristics of an Expert Generalist

    When we’ve observed Expert Generalists, there are certain attributes
    that stand out.

    Curiosity

    Expert Generalists display a lot of curiosity. When confronted with a new
    technology or domain, their default reaction is to want to discover more about it, to see
    how it can be used effectively. They are quite happy to spend time just exploring the new
    topic area, building up some familiarity before using it in action. For most, learning new
    topics is a pleasure in itself, whether or not it’s immediately
    applicable to their work.

    This characteristic is noticeable when Expert Generalists get an answer
    to a question. Rather than just typing in some code from Stack Overflow,
    an Expert Generalist’s curiosity usually motivates them to ensure they
    understand the answer, taking the opportunity to expand their knowledge,
    and check that the answer they got is appropriate. It’s also present when
    asking a question. There is an art to asking questions that elicit deeper
    answers without leading the witness.

    Collaborativeness

    Learning about a new topic area may require reading, watching videos, and prototyping. But
    we see the greatest aid here is another vital characteristic: collaborativeness.
    A wise Expert Generalist knows that they can never really learn about most of the things
    they run into. Their T-shape will grow several legs, but never enough to span all the
    things they need to know, let alone want to know. Working with people who do have those
    deeper skills is essential to being effective in new domains.

    Working with an otherly-skilled worker allows the generalist to
    contribute while the skilled collaborator spots more effective paths that
    only a specialist would know. The generalist appreciates these
    corrections, learning from them. Learning involves both knowing more about
    the new domain, but also learning to differentiate between areas where the
    generalist can do primary contributions and areas where the generalist
    needs help from the specialist. We notice Expert Generalists are never
    afraid to ask for help, they know there is much they are ignorant of, and
    are eager to involve those who can navigate through those areas.

    An effective combination of collaborative curiosity requires
    humility. Often when encountering new domains we see things that don’t
    seem to make sense. Effective generalists react to that by first
    understanding why this odd behavior is the way it is, because there’s
    usually a reason, indeed a good reason considering its context. Sometimes,
    that reason is no longer valid, or was missing an important consideration
    in the first place. In that situation a newcomer can add considerable
    value by questioning the orthodoxy. But at other times the reason was, and
    is still valid – at least to some extent. Humility encourages the Expert
    Generalist to not leap into challenging things until they are sure they
    understand the full context.

    This humility extends to recognizing the different trade-offs we see
    across architectures. An architecture designed to support large volumes
    of simple transactions will differ from one designed to handle a few
    complex interactions. Expert Generalists are comfortable in a world where different
    trade-offs make sense in different circumstances, usually because their
    travels have exposed them to these differences.

    Customer Focus

    This curiosity and eagerness to collaborate with people with different skills does raise a
    danger. Someone driven by curiosity can chase every shiny object. This is where the
    characteristic of customer-focus comes into play. We are often impressed with
    how an Expert Generalist takes each unfamiliar technology and questions how it helps the
    customer. We are fans of Kathy Sierra’s notion that our purpose as software developers is to help our
    customers become “badass”
    at what they do.

    Customer-focus is the necessary lens to focus curiosity. Expert
    generalists prioritize their attention that the things that will help them
    help their users to excel. This encourages learning about what their
    customers do, and how they can improve their work. It focuses attention on
    technologies that contribute to building those things. Customer-focus
    energizes collaboration, encouraging the exchange of information between
    customer and technologist, and allowing the Expert Generalist to
    coordinate other technologists towards enabling the customers’
    excellence.

    Favor Fundamental Knowledge

    Software development is a vast field, where nobody can know everything, or even a
    reasonable fraction of everything, so we all need to prioritize what topics we learn. Expert
    Generalists favor fundamental
    knowledge, that doesn’t become outdated with changes when platforms update. These are
    often expressed as patterns or principles. Such knowledge tends to age slowly, and is
    applicable when folks move into new environments. For example the basic moves of refactoring
    are the same whatever language you are programming, the core patterns of distributed systems
    reappear regularly (and it’s no coincidence that’s why we wrote books on those topics – we
    like book sales that last for many years).

    Blend of Generalist and Specialist Skills

    Thus generalists often have deep knowledge of fundamentals, and we usually see them have
    deep knowledge of a few other topics too. They combine a broad general skill with several
    areas of deeper knowledge, usually acquired as it’s necessary for products they’ve worked
    on, coupled with the curiosity to dig into things that puzzle most people. These deeper
    areas may not be relevant to every engagement they work on, but is a signal for their acumen
    and curiosity. We’ve learned to be suspicious of people who present as a generalist yet
    don’t have a few deep specialties.

    We mentioned before that a common name for this skills profile is that
    of the “T-shaped” person, implying a blend of specialist and generalist
    skills. While the T-shape moniker did catch on, it comes with a
    major problem in the metaphor, we don’t find such folks have only a
    single deeper skill. They usually have a few, of varying depth. We’re not
    the only people to identify this problem, and there have been several
    other names proposed to describe this skill-set, although the alternatives
    all have their own problems.

    t shape

    Sympathy for Related Domains

    Expert generalists often find themselves in unfamiliar territory—be
    it a new software stack, a new domain, or a new role. Rather than chasing
    exhaustive detail from day one, they cultivate a rough, perceptive sense of
    what works in the new environment. That helps them make choices that
    go with the grain—even when it differs from their previous experience.

    Jackie Stewart, a triple Formula 1 world champion (1969-93),
    described how, while he wasn’t an engineer of the cars he drove, he
    still needed a sense of they
    worked
    , how they responded to what the driver was trying to do, a
    sense he called mechanical sympathy.
    Martin Thompson brought this
    concept into software
    , by talking about how a similar knowledge
    of how computer hardware works is vital to writing high-performance
    software.

    We think that the notion of mechanical sympathy has a broader
    sense in software, in that we do need to cultivate such a
    sympathy for any adjacent domain to the ones we are working on. When
    working on a database design, we need such a sympathy for the
    user-interface so we can construct a design that will work smoothly with
    the user-experience. A user-experience designer needs such a sympathy
    with software constraints so when choosing between similarly valuable
    user flows, they take into account how hard it is to build them.

    This also shows itself with new teams. When joining a new team, expert
    generalists tend to listen to the established ways that a team works,
    introducing different approaches thoughtfully. Even when coming in as
    leaders, they don’t default to tearing up existing workflows in favor of
    those more familiar to them. Their curiosity extends to understanding why
    different people work in different ways, trying out unfamiliar working
    styles, then incorporating their experience to develop practices to
    improve from the current state.

    We’re releasing this article in installments. Future installments will
    look at how to assess someone’s skill as an Expert Generalist, how to
    grow Expert Generalists, and the benefits they bring to an organization.

    To find out when we publish the next installment subscribe to this
    site’s
    RSS feed, or Martin’s feeds on
    Mastodon,
    Bluesky,
    LinkedIn, or
    X (Twitter).






    Source link

    Expert Generalists
    Follow on Google News Follow on Flipboard
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Copy Link
    tonirufai
    big tee tech hub
    • Website

    Related Posts

    The Reality of AI in Engineering: Why Productivity Gains Get Absorbed by System Constraints

    April 27, 2026

    Anthropic adds memory to Claude Managed Agents

    April 27, 2026

    When Production Logs Become Your Best QA Asset

    April 26, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Editors Picks

    Introducing SwiftBash | Cocoanetics

    April 28, 2026

    Scaling the digital future: Why AI and skills investments matter for business and society

    April 28, 2026

    The Case for Radical AI Transparency – O’Reilly

    April 28, 2026

    The last piece in the DC construction puzzle: Ongoing operations

    April 27, 2026
    Timer Code
    15 Second Timer for Articles
    20
    About Us
    About Us

    Welcome To big tee tech hub. Big tee tech hub is a Professional seo tools Platform. Here we will provide you only interesting content, which you will like very much. We’re dedicated to providing you the best of seo tools, with a focus on dependability and tools. We’re working to turn our passion for seo tools into a booming online website. We hope you enjoy our seo tools as much as we enjoy offering them to you.

    Don't Miss!

    Introducing SwiftBash | Cocoanetics

    April 28, 2026

    Scaling the digital future: Why AI and skills investments matter for business and society

    April 28, 2026

    Subscribe to Updates

    Get the latest technology news from Bigteetechhub about IT, Cybersecurity and Big Data.

      • About Us
      • Contact Us
      • Disclaimer
      • Privacy Policy
      • Terms and Conditions
      © 2026 bigteetechhub.All Right Reserved

      Type above and press Enter to search. Press Esc to cancel.