HOW TO Scale AN Engineering Team LIKe A BOSS

HOW TO SCALE AN ENGINEERING TEAM LIKE A BOSS

BUSINESS
ARTEM BARMIN
Co-founder at Freshcode
ALEXANDRA LOZOVYUK
Content writer at Freshcode
High demand is a long-life dream for every business. But one of the most epic pitfalls is the inability to keep up with rapidly growing demand. Before you know it, you've lost your customers, vendor relationships, and a good reputation too.

Every company looking forward to a bright future should be ready for growth. Today we'll talk about scaling an engineering team that is crucial for every digital company.

You'll face several important questions to consider. What roles do you need? What team structure fits your project? How to maximize the effectiveness of the team and minimize costs without compromising the quality?

Spoiler: there is no formula, panacea, or one-stop solution that will make everyone happy and successful. The most experienced entrepreneurs make missteps, learn from them, and innovate their approaches.

So, you just need to be prepared and be aware. Forewarned is forearmed! (we love rhymes and proverbs so much)

1. ENGINEERING KNIGHTHOOD: Team Structure and Core Roles

What is an engineering team in software development? In short, it's a group of tech specialists (including developers, QAs, managers, etc) responsible for the building of the given service or product. These guys are the ones carrying out all sprints and working on features, updates, and bug fixes.

Tech companies have vastly different business needs and therefore vary engineering roles from one to the next. They support one another and collaborate closely throughout the production process.
The strength lies in the union.
Η ισχύς εν τη ενώσει.

Aesop, Ancient Greek fabulist
So there is no canonical software engineering org structure. It can be various combinations of developers, software architects, managers, team leads, designers, and QA specialists.

Let's highlight key engineering roles and figure out why are they so important for your product development.
software engineering org structure
Software developer
Nowadays programmer is no longer the lone wolf. Today's tech culture tends to agile frameworks and close collaboration between developers. You can scale your engineering team with frontend, backend, or full-stack developers depending on your needs. Pay attention to the soft skills of your employees to be sure they can become a part of the team and maintain effective communication.

    Tech Lead
    Tech lead is the master of troubleshooting technical issues regarding software development, engineering, and product releases. Tech leads are experienced developers with management responsibilities. They should be skilled to effectively lead a team, consult and collaborate.

    Types and levels of team lead roles vary from company to company as team structure is always unique to specific business needs and goals. A small startup doesn't require the same kinds of management roles as tech giants in Silicon Valley.
    Over 50 people, if you're not formalizing roles, everybody thinks they're a tech lead. And that gets bad.

    Tim Howes, American computer scientist, and entrepreneur

    Quality Assurance Engineer
    Quality Assurance specialists are responsible for testing the products and new updates. Every new feature must be properly reviewed and tested to ensure its quality.

    QA engineers don't work on the initial build that is carried out by the developers, but often they need to write code for testing purposes. Also, they work with documentation to review and prepare requirements, specifications, test plans, test cases, reports, etc.
    Project Manager
    Project managers take care of the tech team management, keep an eye on deadlines, and сreate clear work plans and team schedules.

    Talented and skilled PM can unblock tricky situations, eliminate bottlenecks and deal with any issues — such a hero of the day!

    Without a PM, you have to keep all communication with a team and clients and expect surprising calls at any time of day or night. Experienced project manager on your engineering team board will take this burden from our shoulders.
    Business Analyst
    Deep validation of your ideas. Business niche analysis. Reducing risks. Project estimation. All these processes are made possible thanks to BA's efforts and talents.

    Business analyst in your team is a key to:
    • competitor analysis
    • best technology stack, development methodology, and resources to your budget
    • SRD development, including project risk assessment, cost estimation, feature list & mockups, etc.

    2. Where To Look For Engineers To Scale up?

    "I'm not the smartest fellow in the world, but I can sure pick smart colleagues". A good team is a key to success. Mindset matters. Software engineering
    culture matters.
    And putting together the right team is the real art of management.

    Where to look for engineers to scale up? Let's highlight the 3 key approaches: dedicated team, internship, and freelancers.

      DEDICATED TEAM
      Pros
      • No need to train your team
      • The engineering team's tech knowledge, domain expertise, and professional experience can bring better results to your project
      • Reduces time commitment and frees you of the need for day-to-day managing
      • The team can support your product/service with troubleshooting after the project is finished
      • Increased development capacity

      Cons
      • Low efficiency for short-term projects
      • Relatively high price
      MENTORING & INTERNSHIP IN COMPANY
      Pros
      • Test out an employee before committing to hiring
      • Competitiveness and strong applicant pool
      • An extra set of hands to help finish projects

      Cons
      • Not every intern is mature and there is no guarantee you'll have enough specialists
      FREELANCER
      Pros
      • Hiring a tech specialist for part-time
      • Cost efficiency

      Cons
      • High turnover
      • Multiple projects at once: freelancers can be overwhelmed with other projects besides yours and the output could be subpar to your expectations

      3. SOFTMATE IS WANTED: HIRING THE RIGHT PEOPLE

      scaling engineering
      No matter how smart and driven you are, your success depends on your ability to:
      • create a team
      • inspire a team
      • work well together toward a common vision

      For advice, we turned to Tim Howes, an American computer scientist, angel investor, and entrepreneur. This scaling guru pivot companies, onboard whole teams, help to expand them in the shortest possible time and does it masterfully.

      In this section, we start considering five dimensions of scale by T. Howes — the five key points that engineering leaders need to know to scale like a boss.
        I've scaled engineering teams in various stages of euphoria and horror.

        Tim Howes, American computer scientist and entrepreneur

        PEOPLE: Be an Expert on Your Team (Especially Its Weaknesses)
        The strength of the team is each individual member. So let's consider here some interesting team archetypes according to T. Howes:

        The oracle VS the prophet
        Almost every team has that character — bearded battle-tested engineer who has been there since the beginning. Such an oracle to whom people come for advice.

        But not by bread beard alone: wise programming sensei is undoubtedly invaluable, but you also need people "who are more like a prophet", Mr. Howes says. Companies are interested in the evangelical style of someone who doesn't sit back and wait for people to come to them.

        Moon-letters on Thrór's Map or the prophecy of Velva — talent to predict future trends and tendencies is a unique skill. Sharing new ideas with a team and building a development strategy are great benefits for a company. It helps to create an innovative, open-minded company culture and expand business horizons a lot.

        The firefighter VS the fire marshal
        Engineering teams are very good at putting out fires. And those merry men who respond best and keep a grip on themselves are rewarded for it.

        But If you want to get out of such reactive mode and prevent issues and force majeure in the best possible way, you need to expand your fire brigade staff. "As an organization matures, you understand the need for a fire marshal".

        As you scale your engineering team, find specialists who are eliminating the causes of fires, not just putting them out.

        There is room in your company for different roles: multi-armed Shiva, inspirer and prophet, wise elder, and rebel. Don't be too conservative and be ready to reevaluate your business needs and adjust your organization's hierarchy.

        HIRING AND ONBOARDING: Don't Ignore Your Biggest Investment
        The ability to focus on every stage of hiring, from searching to integration, will save your time and energy. However, not all companies give due consideration to it.

        To quote Tom Howes, many businesses often put the hiring and onboarding on autopilot. Thus, the crucial processes that can't possibly go perfect become even more chaotic and ineffective.
        Your key task is to structure these processes as perfectly as possible. Make it a talking point in meetings and demonstrate its value. You need to:

        • Structure interview panels
        • Analyze data from your hiring funnel
        • Make integration thoughtful and keep an eye out for hiccups in your onboarding process to understand employee's dissatisfaction before it becomes critical

        Here you can find Freshcode's eBook "Fast Track Developers Onboarding" and find some tips that can help you.

        4. LONG LIVE THE TEAM: How To Keep Growing

        ORGANIZATION: Cultivate Order Early to Bypass Chaos

        Leading a team of 10 people is very different from leading a team of 100+ people. So, the more people you have, the more crucial it is that you organize them consistently.

        When it comes to scaling engineering teams, T. Howes advises vertical teams and so-called units.
        In the 18 months, I was at Yahoo, we grew from about 150 people to 350. The only reason that we could do that and continue to ship products and maintain any sense of sanity, was because we had many small teams that shipped mostly independent products.

        Tim Howes, American computer scientist, and entrepreneur

        Vertical is not the only way to go. The horizontal organization can be effective in other situations. The crucial thing is to formalize the role of management and fill it thoughtfully. Equip every team to get a product off the ground, from engineering to QA to product management to marketing.

        COMMUNICATION: Make Peace with Repeating Yourself (Ad Nauseam)
        Communication is what makes teams strong. Communication is what builds trust. At the same time, maintaining effective communication is one of the most difficult tasks in the company.

        The time will come when you'll reach a size where coworkers won't all know each other. In a team of 8-15 people, communication is interactive. You spend less time crafting your message because you deliver it in a dynamic way.

        Scaling communication is not just about your morning dispatches to the team. As growth picks up speed, you need to foster regular interaction, including both formal and informal opportunities.

        Vary internal formal communication with code reviews, architecture reviews, and demo days. It helps the company know how things ear going on.

        What about informal events, they are no less important. "Once your organization passes a dozen, the whole team isn't having lunch together anymore". Brown bag sessions, beer bashes, theme parties, quizzes, and travel activities — just think outside the box for unusual ways to improve your team interaction.

        QUALITY: Don't Leave It to Chance
        Finally, the 5th dimension of scale, Her Majesty Quality. With scaling up, keeping a close eye on quality becomes exponentially more challenging.

        Howes recommends the following rules to every engineering leader :

        • Gather feedback about product/service quality via sending emails to all who had quality problems that day/week.
        • Record details like crash rates
        • Make a release checklist
        • Codify an ever-increasing pool of knowledge into a checklist, a set of boxes each product team must check before any release
        • Implement code reviews, functional tests, unit tests to structure the code well
        Looking for dedicated players in you team?
        Eureka!

        5. SOUND OF THE HORN: WHEN IS Time For Scaling TEAM

        how to scale a team
        Either your customer base is growing, or the stakeholders have new goals they want to implement as soon as possible — anyway, sooner or later, you will get to the point where you need to scale up.

        To know how to build a team that fits your needs at scale, you should understand the as-is state of your business.

        If you own an outsourcing company: The size of your team directly depends on the demand level. If you understand that there are more customers' orders than your existing team can address it's time to think about scaling and hiring tech specialists.

        If you are a product company owner: Your team and its technical expertise determine the speed of product delivery and its unique value proposition.
        Product companies might require scaling when more human resources are required to keep on track and don't miss timelines.

        So put together your Fellowship of the Ring where every team member complements each other.
        There isn't really a one-size-fits-all solution. Things will always break. The real key is to stay self-aware, all the time, so you can identify those broken things and address them. Scaling is a constant process of reinvention.

        Tim Howes, co-founder of Loudcloud

        6. TAKEAWAY

        If you're scaling your engineering team, it's because either your product is getting bigger or you're adding new products/services/features. Either way, you'll be juggling many different teams working on many different things. And the main thing is to do it harmoniously and cleverly without dropping any of them.
        Synergy — the bonus that is achieved when things work together harmoniously.

        Mark Twain, American writer and entrepreneur

        At Freshcode, we are helping business unleash their potential through open ways of working and collaborating. And we have expertise that helps us to find individual solutions for every company regarding its needs and opportunities.

        We are ready to consult you on how to scale your engineering team — please, fill our contact form.

        FREQUENTLY ASKED QUESTIONS

        What is an engineering team?
        A software engineering team is a group of tech specialists responsible for the building of the given service or product. It carries out all sprints and works on features, updates, and bug fixes.

        Different engineering team structures have different benefits and drawbacks. There is the so-called triad of main team patterns:

        Technology Team
        • focused on a waterfall approach
        • emphasis on technical specialists over a more cross-functional team
        • slower speed to market for new products and updates

        Product Team
        • an agile approach to production (Scrum)
        • emphasis on a cross-functional team setup
        • fast deployment time

        Matrix Team
        • closer collaboration within the cross-functional team
        • improved time-to-market
        • deepening team's business domains knowledge

        Nowadays, companies are "tweaking the triad" and customizing team structures to fit their business needs.
        What is outsourcing in software engineering?
        Outsourcing software engineering empowers businesses to connect with the best tech specialists, no matter how many miles and timezones lie between them. Outsourcing can be a suitable solution both for short and long-term projects (even if you have an in-house development team).

        The common benefits of outsourced software engineering are following:

        • Cost & time savings
        • Reduced Time-To-Market
        • New tech knowledge pool
        • Minimized risks and recruitment costs
        • Clear outlined deadlines and outcomes
        How Freshcode can help you scale your team?
        Every partnership is a unique process and we prepare an individual scaling strategy for clients.

        Initial consultation with a Freshcode representative is free. It allows you to get basic recommendations of how to scale your engineering team and gain a better understanding of your business needs and perspectives.

        Key facts about Freshode:
        • 100+ subject-matter experts
        • End-user oriented team
        • Offices are 1-2 flying hours away from most European countries
        • Moderate rates
        • Flexible partnership models
        What happens after you fill this form?
        • Our representative will contact you within one business day

        • We sign an NDA to keep your ideas confidential

        • You share essential requirements with us

        • Our analysts and developers estimate the budget and timeline
        Shall we discuss your idea?
        THE MOST popular POSTS